xref: /OK3568_Linux_fs/kernel/tools/perf/arch/x86/tests/gen-insn-x86-dat.sh (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun#!/bin/sh
2*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
3*4882a593Smuzhiyun# gen-insn-x86-dat: generate data for the insn-x86 test
4*4882a593Smuzhiyun# Copyright (c) 2015, Intel Corporation.
5*4882a593Smuzhiyun#
6*4882a593Smuzhiyun
7*4882a593Smuzhiyunset -e
8*4882a593Smuzhiyun
9*4882a593Smuzhiyunif [ "$(uname -m)" != "x86_64" ]; then
10*4882a593Smuzhiyun	echo "ERROR: This script only works on x86_64"
11*4882a593Smuzhiyun	exit 1
12*4882a593Smuzhiyunfi
13*4882a593Smuzhiyun
14*4882a593Smuzhiyuncd $(dirname $0)
15*4882a593Smuzhiyun
16*4882a593Smuzhiyuntrap 'echo "Might need a more recent version of binutils"' EXIT
17*4882a593Smuzhiyun
18*4882a593Smuzhiyunecho "Compiling insn-x86-dat-src.c to 64-bit object"
19*4882a593Smuzhiyun
20*4882a593Smuzhiyungcc -g -c insn-x86-dat-src.c
21*4882a593Smuzhiyun
22*4882a593Smuzhiyunobjdump -dSw insn-x86-dat-src.o | awk -f gen-insn-x86-dat.awk > insn-x86-dat-64.c
23*4882a593Smuzhiyun
24*4882a593Smuzhiyunrm -f insn-x86-dat-src.o
25*4882a593Smuzhiyun
26*4882a593Smuzhiyunecho "Compiling insn-x86-dat-src.c to 32-bit object"
27*4882a593Smuzhiyun
28*4882a593Smuzhiyungcc -g -c -m32 insn-x86-dat-src.c
29*4882a593Smuzhiyun
30*4882a593Smuzhiyunobjdump -dSw insn-x86-dat-src.o | awk -f gen-insn-x86-dat.awk > insn-x86-dat-32.c
31*4882a593Smuzhiyun
32*4882a593Smuzhiyunrm -f insn-x86-dat-src.o
33*4882a593Smuzhiyun
34*4882a593Smuzhiyuntrap - EXIT
35*4882a593Smuzhiyun
36*4882a593Smuzhiyunecho "Done (use git diff to see the changes)"
37