3 # Id: native-elf-format 2064 2011-10-26 15:12:32Z jkoshy
5 # Find the native ELF format for a host platform by compiling a
6 # test object and examining the resulting object.
8 # This script is used if there is no easy way to determine this
9 # information statically at compile time.
12 tmp_c
=`mktemp -u nefXXXXXX`.c
13 tmp_o
=`echo ${tmp_c} | sed -e 's/.c$/.o/'`
15 trap "rm -f ${tmp_c} ${tmp_o}" 0 1 2 3 15
19 echo "/* Generated by ${program} on `date` */"
21 cc
-c ${tmp_c} -o ${tmp_o}
22 readelf
-h ${tmp_o} |
awk '
24 sub("ELF","",$2); elfclass = $2;
27 if (match($0, "little")) {
34 if (match($0, "Intel.*386")) {
36 } else if (match($0, ".*X86-64")) {
37 elfarch = "EM_X86_64";
43 printf("#define ELFTC_CLASS ELFCLASS%s\n", elfclass);
44 printf("#define ELFTC_ARCH %s\n", elfarch);
45 printf("#define ELFTC_BYTEORDER ELFDATA2%s\n", elfdata);