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 ;; |
e18ecf7a ILT |
28 | # start-sanitize-arc |
29 | arc-*-elf*) bfd_name=arc-elf ;; | |
30 | # end-sanitize-arc | |
d94aca1a | 31 | arm-*-riscix*) bfd_name=riscix ;; |
1fb83be6 KR |
32 | a29k-*-ebmon*) bfd_name=a29k-coff strip_underscore=yes ;; |
33 | a29k-*-udi*) bfd_name=a29k-coff strip_underscore=yes ;; | |
34 | a29k-*-aout*) bfd_name=a29k-aout strip_underscore=yes ;; | |
35 | a29k-*-coff*) bfd_name=a29k-coff strip_underscore=yes ;; | |
36 | a29k-*-sym1*) bfd_name=a29k-coff strip_underscore=yes ;; | |
37 | h8300*-*-*) bfd_name=h8300-coff strip_underscore=yes ;; | |
38 | h8500-*-*) bfd_name=h8500-coff strip_underscore=yes ;; | |
39 | sh-*-*) bfd_name=sh-coff strip_underscore=yes ;; | |
03c4ce2f MT |
40 | # start-sanitize-rce |
41 | rce-*-aout) bfd_name=rce-aout ;; | |
42 | # end-sanitize-rce | |
1e02dc45 | 43 | hppa*-*-*elf*) bfd_name=hppa-elf ;; |
49df10b1 DM |
44 | hppa*-*-bsd*) bfd_name=hppabsd ;; |
45 | hppa*-*-hpux*) bfd_name=hppahpux ;; | |
bdacad9c | 46 | hppa*-*-hiux*) bfd_name=hppahpux ;; |
1e02dc45 | 47 | hppa*-*-osf*) bfd_name=hppaosf ;; |
073e795f ILT |
48 | i[345]86-*-sysv4*) bfd_name=i386-elf ;; |
49 | i[345]86-*-unixware) bfd_name=i386-elf ;; | |
50 | i[345]86-*-solaris2*) bfd_name=i386-elf ;; | |
51 | i[345]86-*-sysv*) bfd_name=i386-coff ;; | |
52 | i[345]86-*-isc*) bfd_name=i386-coff ;; | |
53 | i[345]86-*-sco*) bfd_name=i386-coff ;; | |
54 | i[345]86-sequent-bsd*) bfd_name=i386-dynix strip_underscore=yes ;; | |
55 | i[345]86-*-bsd*) bfd_name=i386-bsd strip_underscore=yes ;; | |
56 | i[345]86-*-coff) bfd_name=i386-coff ;; | |
57 | i[345]86-*-aix*) bfd_name=i386-coff ;; | |
58 | i[345]86-*-elf) bfd_name=i386-elf ;; | |
5b0f1ab5 | 59 | i[345]86-*-freebsd*) bfd_name=i386-bsd strip_underscore=yes ;; |
d94aca1a | 60 | i[345]86-*-netbsd*) bfd_name=i386-nbsd strip_underscore=yes ;; |
073e795f ILT |
61 | i[345]86-*-netware*) bfd_name=i386-nlm ;; |
62 | i[345]86-*-linux*) bfd_name=i386-linux strip_underscore=yes ;; | |
63 | i[345]86-*-lynxos*) bfd_name=i386-lynx ;; | |
e18ecf7a | 64 | i[345]86-*-gnu*) bfd_name=i386-gnu strip_underscore=yes ;; |
073e795f ILT |
65 | i[345]86-*-mach*) bfd_name=i386-mach3 strip_underscore=yes ;; |
66 | i[345]86-*-osf1mk*) bfd_name=i386-mach3 strip_underscore=yes ;; | |
67 | i[345]86-*-os9k) bfd_name=i386-os9k ;; | |
68 | i[345]86-none-*) bfd_name=i386-coff ;; | |
1fb83be6 KR |
69 | i960-*-vxworks4*) bfd_name=i960-bout strip_underscore=yes ;; |
70 | i960-*-vxworks5.0) bfd_name=i960-bout strip_underscore=yes ;; | |
71 | i960-*-vxworks5.*) bfd_name=i960-coff strip_underscore=yes ;; | |
72 | i960-*-vxworks*) bfd_name=i960-bout strip_underscore=yes ;; | |
73 | i960-*-aout*) bfd_name=i960-bout strip_underscore=yes ;; | |
74 | i960-*-bout*) bfd_name=i960-bout strip_underscore=yes ;; | |
75 | i960-*-coff*) bfd_name=i960-coff strip_underscore=yes ;; | |
76 | i960-*-nindy*) bfd_name=i960-bout strip_underscore=yes ;; | |
127f8e91 | 77 | m68*-apollo-*) bfd_name=apollo ;; |
49df10b1 | 78 | m68*-bull-sysv*) bfd_name=u68k-coff ;; |
1fb83be6 KR |
79 | m68*-hp-bsd*) bfd_name=hp300bsd strip_underscore=yes ;; |
80 | m68*-*-aout*) bfd_name=m68k-0aout strip_underscore=yes ;; | |
ffa2b1df | 81 | m68*-*-coff*) bfd_name=m68k-coff ;; |
1fb83be6 | 82 | m68*-*-hpux*) bfd_name=hp300hpux strip_underscore=yes ;; |
bdacad9c | 83 | m68*-*-lynxos*) bfd_name=m68k-lynx ;; |
d94aca1a | 84 | m68*-*-netbsd*) bfd_name=m68k-nbsd strip_underscore=yes ;; |
1fb83be6 KR |
85 | m68*-*-os68k*) bfd_name=m68k-aout strip_underscore=yes ;; |
86 | m68*-*-sunos*) bfd_name=m68k-aout strip_underscore=yes ;; | |
6198b7a1 | 87 | m68*-*-sysv4*) bfd_name=m68k-elf ;; |
1e02dc45 | 88 | m68*-*-sysv*) bfd_name=m68k-coff ;; |
1fb83be6 KR |
89 | m68*-*-vxworks*) bfd_name=m68k-aout strip_underscore=yes ;; |
90 | m68*-ericsson-*) bfd_name=m68k-ose strip_underscore=yes ;; | |
91 | m68*-netx-*) bfd_name=m68k-aout strip_underscore=yes ;; | |
1e02dc45 | 92 | |
073e795f | 93 | m88*-harris-cxux*) bfd_name=m88k-elf ;; |
1e02dc45 KR |
94 | # DGUX used to use COFF, but now (Jan 94) I believe it uses ELF by default. |
95 | m88*-*-dgux*) bfd_name=m88k-elf ;; | |
1fb83be6 KR |
96 | m88*-*-mach3*) bfd_name=m88k-mach3 ;; |
97 | m88*-*-sysv4*) bfd_name=m88k-elf ;; | |
98 | m88*-*-*) bfd_name=m88k-coff strip_underscore=yes ;; | |
1e02dc45 | 99 | |
6198b7a1 | 100 | mips*-big-*) bfd_name=bigmips ;; |
1fb83be6 KR |
101 | mips*-dec-bsd*) bfd_name=mipsdecbsd strip_underscore=yes ;; |
102 | mips*-dec-mach3*) bfd_name=mips-mach3 ;; | |
6198b7a1 JK |
103 | mips*-dec-*) bfd_name=decstation ;; |
104 | mips*el-*-ecoff*) bfd_name=decstation ;; | |
105 | mips*-*-ecoff*) bfd_name=bigmips ;; | |
5dac2dd5 | 106 | mips*-*-irix5*) bfd_name=mipsbelf ;; |
6198b7a1 | 107 | mips*-sgi-*) bfd_name=bigmips ;; |
1fb83be6 | 108 | mips*-*-mach3*) bfd_name=mips-mach3 ;; |
dbf13547 | 109 | mips*-*-sysv4*) bfd_name=mipsbelf ;; |
6198b7a1 JK |
110 | mips*-*-sysv*) bfd_name=riscos ;; |
111 | mips*-*-riscos*) bfd_name=riscos ;; | |
242f60e2 | 112 | mips*-*-bsd*) bfd_name=bigmips ;; # Sony News |
6198b7a1 JK |
113 | mips*el-*-elf*) bfd_name=mipslelf ;; |
114 | mips*-*-elf*) bfd_name=mipsbelf ;; | |
1fb83be6 | 115 | ns32k-pc532-mach*) bfd_name=pc532-mach strip_underscore=yes;; |
073e795f | 116 | ns32k-*-netbsd*) bfd_name=ns32k-nbsd strip_underscore=yes;; |
ce8f1f60 | 117 | powerpc-*-aix*) bfd_name=rs6000 ;; |
1fb83be6 | 118 | powerpc-*-elf*) bfd_name=ppc-elf ;; |
ce8f1f60 | 119 | powerpc-*-sysv4*) bfd_name=ppc-elf ;; |
c6d729b3 | 120 | powerpc-*-eabi*) bfd_name=ppc-elf ;; |
ce8f1f60 | 121 | powerpc-*-netware*) bfd_name=ppc-nlm ;; |
49df10b1 | 122 | rs6000-*-*) bfd_name=rs6000 ;; |
6198b7a1 | 123 | sparc-*-lynxos*) bfd_name=sparc-lynx ;; |
d94aca1a | 124 | sparc-*-netbsd*) bfd_name=sparc-nbsd strip_underscore=yes;; |
49df10b1 DM |
125 | sparc-*-solaris2*) bfd_name=sparc-elf ;; |
126 | sparc-*-sysv4*) bfd_name=sparc-elf ;; | |
1fb83be6 | 127 | sparc64-*-aout*) bfd_name=sparc-aout strip_underscore=yes ;; |
5dac2dd5 | 128 | sparc64-*-elf*) bfd_name=sparc64-elf ;; |
4a703e06 | 129 | sparc-*-netware*) bfd_name=sparc-nlm ;; |
fff9ad37 | 130 | sparc*-*-coff*) bfd_name=sparc-coff ;; |
1fb83be6 KR |
131 | sparc*-*-*) bfd_name=sparc-aout strip_underscore=yes ;; |
132 | tahoe-*-*) bfd_name=tahoe strip_underscore=yes ;; | |
ffa2b1df | 133 | vax-*-vms*) bfd_name=vax-vms ;; |
1fb83be6 | 134 | vax-*-*) bfd_name=vax strip_underscore=yes ;; |
49df10b1 | 135 | we32k-*-*) bfd_name=we32k ;; |
e18ecf7a | 136 | w65-*-*) bfd_name=w65 ;; |
1fb83be6 | 137 | z8k*-*-*) bfd_name=z8k-coff strip_underscore=yes ;; |
49df10b1 | 138 | |
1fb83be6 KR |
139 | *-*-aout*) bfd_name=${cpu}-aout strip_underscore=yes ;; |
140 | *-*-bsd*) bfd_name=${cpu}-aout strip_underscore=yes ;; | |
49df10b1 DM |
141 | *-*-netware*) bfd_name=${cpu}-nlm ;; |
142 | *-*-sysv4*) bfd_name=${cpu}-elf ;; | |
143 | *-*-solaris2*) bfd_name=${cpu}-elf ;; | |
1fb83be6 | 144 | *-*-vsta*) bfd_name=${cpu}-aout strip_underscore=yes ;; |
dbf13547 | 145 | *-*-go32*) bfd_name=${cpu}-coff ;; |
49df10b1 DM |
146 | *-*-sysv*) bfd_name=${cpu}-coff ;; |
147 | ||
1fb83be6 | 148 | *-*-aout64*) bfd_name=${cpu}-aout64 strip_underscore=yes ;; |
5dac2dd5 | 149 | *-*-elf64*) bfd_name=${cpu}-elf64 ;; |
49df10b1 | 150 | |
1fb83be6 KR |
151 | *-adobe-*) bfd_name=adobe strip_underscore=yes ;; |
152 | *-sony-*) bfd_name=news strip_underscore=yes ;; | |
49df10b1 DM |
153 | *-intel-*) bfd_name=${cpu}-coff ;; |
154 | *-stratus-*) bfd_name=${cpu}-elf ;; | |
155 | *-cbm-*) bfd_name=${cpu}-elf ;; | |
156 | *-ncr-*) bfd_name=${cpu}-elf ;; | |
157 | *-tandem-*) bfd_name=st2000 ;; | |
158 | ||
159 | # Allow targets that config.sub doesn't recognize, like "all". | |
160 | *) bfd_name=$canon ;; | |
161 | esac | |
162 | ||
1fb83be6 KR |
163 | if [ "x$2" = "x_" ]; then |
164 | echo $strip_underscore | |
165 | else | |
166 | echo $bfd_name | |
167 | fi |