Remove building with NOCRYPTO option
[minix3.git] / external / bsd / elftoolchain / dist / common / native-elf-format
bloba0f74ed48f26733c595084f6972bab684521ca68
1 #!/bin/sh
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.
11 program=`basename $0`
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
17 touch ${tmp_c}
19 echo "/* Generated by ${program} on `date` */"
21 cc -c ${tmp_c} -o ${tmp_o}
22 readelf -h ${tmp_o} | awk '
23 $1 ~ "Class:" {
24 sub("ELF","",$2); elfclass = $2;
26 $1 ~ "Data:" {
27 if (match($0, "little")) {
28 elfdata = "LSB";
29 } else {
30 elfdata = "MSB";
33 $1 ~ "Machine:" {
34 if (match($0, "Intel.*386")) {
35 elfarch = "EM_386";
36 } else if (match($0, ".*X86-64")) {
37 elfarch = "EM_X86_64";
38 } else {
39 elfarch = "unknown";
42 END {
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);