Commit | Line | Data |
---|---|---|
49df10b1 DM |
1 | #!/bin/sh |
2 | ||
3 | # config.bfd | |
4 | # Convert a canonical host type into a BFD host type. | |
5 | # Call with canonical name as the argument. | |
6 | # Echos the result. | |
1fb83be6 | 7 | # If second argument is _, echoes whether underscores are stripped. |
49df10b1 DM |
8 | |
9 | canon="$1" | |
10 | cpu=`echo $canon | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'` | |
11 | ||
1fb83be6 KR |
12 | # The binutils c++filt program wants to know whether underscores are |
13 | # stripped or not. It uses this information to choose a default. | |
14 | # This information is duplicated in the symbol_leading_char field of | |
15 | # the BFD target vector, but c++filt does not deal with object files | |
16 | # and is not linked against libbfd.a. It is not terribly important | |
17 | # that c++filt get this right; it is just convenient. | |
18 | strip_underscore=no | |
19 | ||
49df10b1 DM |
20 | # WHEN ADDING ENTRIES TO THIS MATRIX: |
21 | # Make sure that the left side always has two dashes. Otherwise you | |
22 | # can get spurious matches. Even for unambiguous cases, do this as a | |
23 | # convention, else the table becomes a real mess to understand and maintain. | |
24 | ||
25 | case "${canon}" in | |
1e02dc45 | 26 | alpha-*-netware*) bfd_name=alpha-nlm ;; |
49df10b1 | 27 | alpha-*-*) bfd_name=alphaosf ;; |
d94aca1a | 28 | arm-*-riscix*) bfd_name=riscix ;; |
1fb83be6 KR |
29 | a29k-*-ebmon*) bfd_name=a29k-coff strip_underscore=yes ;; |
30 | a29k-*-udi*) bfd_name=a29k-coff strip_underscore=yes ;; | |
31 | a29k-*-aout*) bfd_name=a29k-aout strip_underscore=yes ;; | |
32 | a29k-*-coff*) bfd_name=a29k-coff strip_underscore=yes ;; | |
33 | a29k-*-sym1*) bfd_name=a29k-coff strip_underscore=yes ;; | |
34 | h8300*-*-*) bfd_name=h8300-coff strip_underscore=yes ;; | |
35 | h8500-*-*) bfd_name=h8500-coff strip_underscore=yes ;; | |
36 | sh-*-*) bfd_name=sh-coff strip_underscore=yes ;; | |
03c4ce2f MT |
37 | # start-sanitize-rce |
38 | rce-*-aout) bfd_name=rce-aout ;; | |
39 | # end-sanitize-rce | |
1e02dc45 | 40 | hppa*-*-*elf*) bfd_name=hppa-elf ;; |
49df10b1 DM |
41 | hppa*-*-bsd*) bfd_name=hppabsd ;; |
42 | hppa*-*-hpux*) bfd_name=hppahpux ;; | |
bdacad9c | 43 | hppa*-*-hiux*) bfd_name=hppahpux ;; |
1e02dc45 | 44 | hppa*-*-osf*) bfd_name=hppaosf ;; |
073e795f ILT |
45 | i[345]86-*-sysv4*) bfd_name=i386-elf ;; |
46 | i[345]86-*-unixware) bfd_name=i386-elf ;; | |
47 | i[345]86-*-solaris2*) bfd_name=i386-elf ;; | |
48 | i[345]86-*-sysv*) bfd_name=i386-coff ;; | |
49 | i[345]86-*-isc*) bfd_name=i386-coff ;; | |
50 | i[345]86-*-sco*) bfd_name=i386-coff ;; | |
51 | i[345]86-sequent-bsd*) bfd_name=i386-dynix strip_underscore=yes ;; | |
52 | i[345]86-*-bsd*) bfd_name=i386-bsd strip_underscore=yes ;; | |
53 | i[345]86-*-coff) bfd_name=i386-coff ;; | |
54 | i[345]86-*-aix*) bfd_name=i386-coff ;; | |
55 | i[345]86-*-elf) bfd_name=i386-elf ;; | |
5b0f1ab5 | 56 | i[345]86-*-freebsd*) bfd_name=i386-bsd strip_underscore=yes ;; |
d94aca1a | 57 | i[345]86-*-netbsd*) bfd_name=i386-nbsd strip_underscore=yes ;; |
073e795f ILT |
58 | i[345]86-*-netware*) bfd_name=i386-nlm ;; |
59 | i[345]86-*-linux*) bfd_name=i386-linux strip_underscore=yes ;; | |
60 | i[345]86-*-lynxos*) bfd_name=i386-lynx ;; | |
61 | i[345]86-*-gnu*) bfd_name=i386-mach3 strip_underscore=yes ;; | |
62 | i[345]86-*-mach*) bfd_name=i386-mach3 strip_underscore=yes ;; | |
63 | i[345]86-*-osf1mk*) bfd_name=i386-mach3 strip_underscore=yes ;; | |
64 | i[345]86-*-os9k) bfd_name=i386-os9k ;; | |
65 | i[345]86-none-*) bfd_name=i386-coff ;; | |
1fb83be6 KR |
66 | i960-*-vxworks4*) bfd_name=i960-bout strip_underscore=yes ;; |
67 | i960-*-vxworks5.0) bfd_name=i960-bout strip_underscore=yes ;; | |
68 | i960-*-vxworks5.*) bfd_name=i960-coff strip_underscore=yes ;; | |
69 | i960-*-vxworks*) bfd_name=i960-bout strip_underscore=yes ;; | |
70 | i960-*-aout*) bfd_name=i960-bout strip_underscore=yes ;; | |
71 | i960-*-bout*) bfd_name=i960-bout strip_underscore=yes ;; | |
72 | i960-*-coff*) bfd_name=i960-coff strip_underscore=yes ;; | |
73 | i960-*-nindy*) bfd_name=i960-bout strip_underscore=yes ;; | |
127f8e91 | 74 | m68*-apollo-*) bfd_name=apollo ;; |
49df10b1 | 75 | m68*-bull-sysv*) bfd_name=u68k-coff ;; |
1fb83be6 KR |
76 | m68*-hp-bsd*) bfd_name=hp300bsd strip_underscore=yes ;; |
77 | m68*-*-aout*) bfd_name=m68k-0aout strip_underscore=yes ;; | |
ffa2b1df | 78 | m68*-*-coff*) bfd_name=m68k-coff ;; |
1fb83be6 | 79 | m68*-*-hpux*) bfd_name=hp300hpux strip_underscore=yes ;; |
bdacad9c | 80 | m68*-*-lynxos*) bfd_name=m68k-lynx ;; |
d94aca1a | 81 | m68*-*-netbsd*) bfd_name=m68k-nbsd strip_underscore=yes ;; |
1fb83be6 KR |
82 | m68*-*-os68k*) bfd_name=m68k-aout strip_underscore=yes ;; |
83 | m68*-*-sunos*) bfd_name=m68k-aout strip_underscore=yes ;; | |
6198b7a1 | 84 | m68*-*-sysv4*) bfd_name=m68k-elf ;; |
1e02dc45 | 85 | m68*-*-sysv*) bfd_name=m68k-coff ;; |
1fb83be6 KR |
86 | m68*-*-vxworks*) bfd_name=m68k-aout strip_underscore=yes ;; |
87 | m68*-ericsson-*) bfd_name=m68k-ose strip_underscore=yes ;; | |
88 | m68*-netx-*) bfd_name=m68k-aout strip_underscore=yes ;; | |
1e02dc45 | 89 | |
073e795f | 90 | m88*-harris-cxux*) bfd_name=m88k-elf ;; |
1e02dc45 KR |
91 | # DGUX used to use COFF, but now (Jan 94) I believe it uses ELF by default. |
92 | m88*-*-dgux*) bfd_name=m88k-elf ;; | |
1fb83be6 KR |
93 | m88*-*-mach3*) bfd_name=m88k-mach3 ;; |
94 | m88*-*-sysv4*) bfd_name=m88k-elf ;; | |
95 | m88*-*-*) bfd_name=m88k-coff strip_underscore=yes ;; | |
1e02dc45 | 96 | |
6198b7a1 | 97 | mips*-big-*) bfd_name=bigmips ;; |
1fb83be6 KR |
98 | mips*-dec-bsd*) bfd_name=mipsdecbsd strip_underscore=yes ;; |
99 | mips*-dec-mach3*) bfd_name=mips-mach3 ;; | |
6198b7a1 JK |
100 | mips*-dec-*) bfd_name=decstation ;; |
101 | mips*el-*-ecoff*) bfd_name=decstation ;; | |
102 | mips*-*-ecoff*) bfd_name=bigmips ;; | |
5dac2dd5 | 103 | mips*-*-irix5*) bfd_name=mipsbelf ;; |
6198b7a1 | 104 | mips*-sgi-*) bfd_name=bigmips ;; |
1fb83be6 | 105 | mips*-*-mach3*) bfd_name=mips-mach3 ;; |
dbf13547 | 106 | mips*-*-sysv4*) bfd_name=mipsbelf ;; |
6198b7a1 JK |
107 | mips*-*-sysv*) bfd_name=riscos ;; |
108 | mips*-*-riscos*) bfd_name=riscos ;; | |
242f60e2 | 109 | mips*-*-bsd*) bfd_name=bigmips ;; # Sony News |
6198b7a1 JK |
110 | mips*el-*-elf*) bfd_name=mipslelf ;; |
111 | mips*-*-elf*) bfd_name=mipsbelf ;; | |
1fb83be6 | 112 | ns32k-pc532-mach*) bfd_name=pc532-mach strip_underscore=yes;; |
073e795f | 113 | ns32k-*-netbsd*) bfd_name=ns32k-nbsd strip_underscore=yes;; |
ce8f1f60 | 114 | powerpc-*-aix*) bfd_name=rs6000 ;; |
1fb83be6 | 115 | powerpc-*-elf*) bfd_name=ppc-elf ;; |
ce8f1f60 | 116 | powerpc-*-sysv4*) bfd_name=ppc-elf ;; |
ce8f1f60 | 117 | powerpc-*-netware*) bfd_name=ppc-nlm ;; |
49df10b1 | 118 | rs6000-*-*) bfd_name=rs6000 ;; |
6198b7a1 | 119 | sparc-*-lynxos*) bfd_name=sparc-lynx ;; |
d94aca1a | 120 | sparc-*-netbsd*) bfd_name=sparc-nbsd strip_underscore=yes;; |
49df10b1 DM |
121 | sparc-*-solaris2*) bfd_name=sparc-elf ;; |
122 | sparc-*-sysv4*) bfd_name=sparc-elf ;; | |
1fb83be6 | 123 | sparc64-*-aout*) bfd_name=sparc-aout strip_underscore=yes ;; |
5dac2dd5 | 124 | sparc64-*-elf*) bfd_name=sparc64-elf ;; |
4a703e06 | 125 | sparc-*-netware*) bfd_name=sparc-nlm ;; |
fff9ad37 | 126 | sparc*-*-coff*) bfd_name=sparc-coff ;; |
1fb83be6 KR |
127 | sparc*-*-*) bfd_name=sparc-aout strip_underscore=yes ;; |
128 | tahoe-*-*) bfd_name=tahoe strip_underscore=yes ;; | |
ffa2b1df | 129 | vax-*-vms*) bfd_name=vax-vms ;; |
1fb83be6 | 130 | vax-*-*) bfd_name=vax strip_underscore=yes ;; |
49df10b1 | 131 | we32k-*-*) bfd_name=we32k ;; |
1fb83be6 | 132 | z8k*-*-*) bfd_name=z8k-coff strip_underscore=yes ;; |
49df10b1 | 133 | |
1fb83be6 KR |
134 | *-*-aout*) bfd_name=${cpu}-aout strip_underscore=yes ;; |
135 | *-*-bsd*) bfd_name=${cpu}-aout strip_underscore=yes ;; | |
49df10b1 DM |
136 | *-*-netware*) bfd_name=${cpu}-nlm ;; |
137 | *-*-sysv4*) bfd_name=${cpu}-elf ;; | |
138 | *-*-solaris2*) bfd_name=${cpu}-elf ;; | |
1fb83be6 | 139 | *-*-vsta*) bfd_name=${cpu}-aout strip_underscore=yes ;; |
dbf13547 | 140 | *-*-go32*) bfd_name=${cpu}-coff ;; |
49df10b1 DM |
141 | *-*-sysv*) bfd_name=${cpu}-coff ;; |
142 | ||
1fb83be6 | 143 | *-*-aout64*) bfd_name=${cpu}-aout64 strip_underscore=yes ;; |
5dac2dd5 | 144 | *-*-elf64*) bfd_name=${cpu}-elf64 ;; |
49df10b1 | 145 | |
1fb83be6 KR |
146 | *-adobe-*) bfd_name=adobe strip_underscore=yes ;; |
147 | *-sony-*) bfd_name=news strip_underscore=yes ;; | |
49df10b1 DM |
148 | *-intel-*) bfd_name=${cpu}-coff ;; |
149 | *-stratus-*) bfd_name=${cpu}-elf ;; | |
150 | *-cbm-*) bfd_name=${cpu}-elf ;; | |
151 | *-ncr-*) bfd_name=${cpu}-elf ;; | |
152 | *-tandem-*) bfd_name=st2000 ;; | |
153 | ||
154 | # Allow targets that config.sub doesn't recognize, like "all". | |
155 | *) bfd_name=$canon ;; | |
156 | esac | |
157 | ||
1fb83be6 KR |
158 | if [ "x$2" = "x_" ]; then |
159 | echo $strip_underscore | |
160 | else | |
161 | echo $bfd_name | |
162 | fi |