/[gcl]/gcl/binutils/bfd/archures.c
ViewVC logotype

Diff of /gcl/binutils/bfd/archures.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1.1.1 by camm, Fri Aug 9 05:34:45 2002 UTC revision 1.2 by camm, Fri Sep 9 23:32:07 2005 UTC
# Line 1  Line 1 
1  /* BFD library support routines for architectures.  /* BFD library support routines for architectures.
2     Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,     Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
3     2000, 2001, 2002     2000, 2001, 2002, 2003, 2004, 2005
4     Free Software Foundation, Inc.     Free Software Foundation, Inc.
5     Hacked by John Gilmore and Steve Chamberlain of Cygnus Support.     Hacked by John Gilmore and Steve Chamberlain of Cygnus Support.
6    
7  This file is part of BFD, the Binary File Descriptor library.     This file is part of BFD, the Binary File Descriptor library.
8    
9  This program is free software; you can redistribute it and/or modify     This program is free software; you can redistribute it and/or modify
10  it under the terms of the GNU General Public License as published by     it under the terms of the GNU General Public License as published by
11  the Free Software Foundation; either version 2 of the License, or     the Free Software Foundation; either version 2 of the License, or
12  (at your option) any later version.     (at your option) any later version.
13    
14  This program is distributed in the hope that it will be useful,     This program is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of     but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  GNU General Public License for more details.     GNU General Public License for more details.
18    
19  You should have received a copy of the GNU General Public License     You should have received a copy of the GNU General Public License
20  along with this program; if not, write to the Free Software     along with this program; if not, write to the Free Software
21  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
22    
23  #include "bfd.h"  #include "bfd.h"
24  #include "sysdep.h"  #include "sysdep.h"
# Line 84  DESCRIPTION Line 84  DESCRIPTION
84  .#define bfd_mach_mcf5206e 10  .#define bfd_mach_mcf5206e 10
85  .#define bfd_mach_mcf5307  11  .#define bfd_mach_mcf5307  11
86  .#define bfd_mach_mcf5407  12  .#define bfd_mach_mcf5407  12
87    .#define bfd_mach_mcf528x  13
88    .#define bfd_mach_mcfv4e   14
89    .#define bfd_mach_mcf521x   15
90    .#define bfd_mach_mcf5249   16
91    .#define bfd_mach_mcf547x   17
92    .#define bfd_mach_mcf548x   18
93  .  bfd_arch_vax,       {* DEC Vax *}  .  bfd_arch_vax,       {* DEC Vax *}
94  .  bfd_arch_i960,      {* Intel 960 *}  .  bfd_arch_i960,      {* Intel 960 *}
95  .    {* The order of the following is important.  .    {* The order of the following is important.
# Line 122  DESCRIPTION Line 128  DESCRIPTION
128  .#define bfd_mach_sparc_v9_p(mach) \  .#define bfd_mach_sparc_v9_p(mach) \
129  .  ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9b \  .  ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9b \
130  .   && (mach) != bfd_mach_sparc_sparclite_le)  .   && (mach) != bfd_mach_sparc_sparclite_le)
131    .{* Nonzero if MACH is a 64 bit sparc architecture.  *}
132    .#define bfd_mach_sparc_64bit_p(mach) \
133    .  ((mach) >= bfd_mach_sparc_v9 && (mach) != bfd_mach_sparc_v8plusb)
134  .  bfd_arch_mips,      {* MIPS Rxxxx *}  .  bfd_arch_mips,      {* MIPS Rxxxx *}
135  .#define bfd_mach_mips3000              3000  .#define bfd_mach_mips3000              3000
136  .#define bfd_mach_mips3900              3900  .#define bfd_mach_mips3900              3900
# Line 129  DESCRIPTION Line 138  DESCRIPTION
138  .#define bfd_mach_mips4010              4010  .#define bfd_mach_mips4010              4010
139  .#define bfd_mach_mips4100              4100  .#define bfd_mach_mips4100              4100
140  .#define bfd_mach_mips4111              4111  .#define bfd_mach_mips4111              4111
141    .#define bfd_mach_mips4120              4120
142  .#define bfd_mach_mips4300              4300  .#define bfd_mach_mips4300              4300
143  .#define bfd_mach_mips4400              4400  .#define bfd_mach_mips4400              4400
144  .#define bfd_mach_mips4600              4600  .#define bfd_mach_mips4600              4600
145  .#define bfd_mach_mips4650              4650  .#define bfd_mach_mips4650              4650
146  .#define bfd_mach_mips5000              5000  .#define bfd_mach_mips5000              5000
147    .#define bfd_mach_mips5400              5400
148    .#define bfd_mach_mips5500              5500
149  .#define bfd_mach_mips6000              6000  .#define bfd_mach_mips6000              6000
150    .#define bfd_mach_mips7000              7000
151  .#define bfd_mach_mips8000              8000  .#define bfd_mach_mips8000              8000
152    .#define bfd_mach_mips9000              9000
153  .#define bfd_mach_mips10000             10000  .#define bfd_mach_mips10000             10000
154  .#define bfd_mach_mips12000             12000  .#define bfd_mach_mips12000             12000
155  .#define bfd_mach_mips16                16  .#define bfd_mach_mips16                16
156  .#define bfd_mach_mips5                 5  .#define bfd_mach_mips5                 5
157  .#define bfd_mach_mips_sb1              12310201 {* octal 'SB', 01 *}  .#define bfd_mach_mips_sb1              12310201 {* octal 'SB', 01 *}
158  .#define bfd_mach_mipsisa32             32  .#define bfd_mach_mipsisa32             32
159    .#define bfd_mach_mipsisa32r2           33
160  .#define bfd_mach_mipsisa64             64  .#define bfd_mach_mipsisa64             64
161    .#define bfd_mach_mipsisa64r2           65
162  .  bfd_arch_i386,      {* Intel 386 *}  .  bfd_arch_i386,      {* Intel 386 *}
163  .#define bfd_mach_i386_i386 0  .#define bfd_mach_i386_i386 1
164  .#define bfd_mach_i386_i8086 1  .#define bfd_mach_i386_i8086 2
165  .#define bfd_mach_i386_i386_intel_syntax 2  .#define bfd_mach_i386_i386_intel_syntax 3
166  .#define bfd_mach_x86_64 3  .#define bfd_mach_x86_64 64
167  .#define bfd_mach_x86_64_intel_syntax 4  .#define bfd_mach_x86_64_intel_syntax 65
168  .  bfd_arch_we32k,     {* AT&T WE32xxx *}  .  bfd_arch_we32k,     {* AT&T WE32xxx *}
169  .  bfd_arch_tahoe,     {* CCI/Harris Tahoe *}  .  bfd_arch_tahoe,     {* CCI/Harris Tahoe *}
170  .  bfd_arch_i860,      {* Intel 860 *}  .  bfd_arch_i860,      {* Intel 860 *}
# Line 157  DESCRIPTION Line 173  DESCRIPTION
173  .  bfd_arch_alliant,   {* Alliant *}  .  bfd_arch_alliant,   {* Alliant *}
174  .  bfd_arch_convex,    {* Convex *}  .  bfd_arch_convex,    {* Convex *}
175  .  bfd_arch_m88k,      {* Motorola 88xxx *}  .  bfd_arch_m88k,      {* Motorola 88xxx *}
176    .  bfd_arch_m98k,      {* Motorola 98xxx *}
177  .  bfd_arch_pyramid,   {* Pyramid Technology *}  .  bfd_arch_pyramid,   {* Pyramid Technology *}
178  .  bfd_arch_h8300,     {* Hitachi H8/300 *}  .  bfd_arch_h8300,     {* Renesas H8/300 (formerly Hitachi H8/300) *}
179  .#define bfd_mach_h8300   1  .#define bfd_mach_h8300    1
180  .#define bfd_mach_h8300h  2  .#define bfd_mach_h8300h   2
181  .#define bfd_mach_h8300s  3  .#define bfd_mach_h8300s   3
182    .#define bfd_mach_h8300hn  4
183    .#define bfd_mach_h8300sn  5
184    .#define bfd_mach_h8300sx  6
185    .#define bfd_mach_h8300sxn 7
186  .  bfd_arch_pdp11,     {* DEC PDP-11 *}  .  bfd_arch_pdp11,     {* DEC PDP-11 *}
187  .  bfd_arch_powerpc,   {* PowerPC *}  .  bfd_arch_powerpc,   {* PowerPC *}
188  .#define bfd_mach_ppc           0  .#define bfd_mach_ppc           32
189  .#define bfd_mach_ppc64         1  .#define bfd_mach_ppc64         64
190  .#define bfd_mach_ppc_403       403  .#define bfd_mach_ppc_403       403
191  .#define bfd_mach_ppc_403gc     4030  .#define bfd_mach_ppc_403gc     4030
192  .#define bfd_mach_ppc_505       505  .#define bfd_mach_ppc_505       505
# Line 182  DESCRIPTION Line 203  DESCRIPTION
203  .#define bfd_mach_ppc_rs64ii    642  .#define bfd_mach_ppc_rs64ii    642
204  .#define bfd_mach_ppc_rs64iii   643  .#define bfd_mach_ppc_rs64iii   643
205  .#define bfd_mach_ppc_7400      7400  .#define bfd_mach_ppc_7400      7400
206    .#define bfd_mach_ppc_e500      500
207  .  bfd_arch_rs6000,    {* IBM RS/6000 *}  .  bfd_arch_rs6000,    {* IBM RS/6000 *}
208  .#define bfd_mach_rs6k          0  .#define bfd_mach_rs6k          6000
209  .#define bfd_mach_rs6k_rs1      6001  .#define bfd_mach_rs6k_rs1      6001
210  .#define bfd_mach_rs6k_rsc      6003  .#define bfd_mach_rs6k_rsc      6003
211  .#define bfd_mach_rs6k_rs2      6002  .#define bfd_mach_rs6k_rs2      6002
212  .  bfd_arch_hppa,      {* HP PA RISC *}  .  bfd_arch_hppa,      {* HP PA RISC *}
213    .#define bfd_mach_hppa10        10
214    .#define bfd_mach_hppa11        11
215    .#define bfd_mach_hppa20        20
216    .#define bfd_mach_hppa20w       25
217  .  bfd_arch_d10v,      {* Mitsubishi D10V *}  .  bfd_arch_d10v,      {* Mitsubishi D10V *}
218  .#define bfd_mach_d10v          0  .#define bfd_mach_d10v          1
219  .#define bfd_mach_d10v_ts2      2  .#define bfd_mach_d10v_ts2      2
220  .#define bfd_mach_d10v_ts3      3  .#define bfd_mach_d10v_ts3      3
221  .  bfd_arch_d30v,      {* Mitsubishi D30V *}  .  bfd_arch_d30v,      {* Mitsubishi D30V *}
222  .  bfd_arch_dlx,       {* DLX *}  .  bfd_arch_dlx,       {* DLX *}
223  .  bfd_arch_m68hc11,   {* Motorola 68HC11 *}  .  bfd_arch_m68hc11,   {* Motorola 68HC11 *}
224  .  bfd_arch_m68hc12,   {* Motorola 68HC12 *}  .  bfd_arch_m68hc12,   {* Motorola 68HC12 *}
225    .#define bfd_mach_m6812_default 0
226    .#define bfd_mach_m6812         1
227    .#define bfd_mach_m6812s        2
228  .  bfd_arch_z8k,       {* Zilog Z8000 *}  .  bfd_arch_z8k,       {* Zilog Z8000 *}
229  .#define bfd_mach_z8001         1  .#define bfd_mach_z8001         1
230  .#define bfd_mach_z8002         2  .#define bfd_mach_z8002         2
231  .  bfd_arch_h8500,     {* Hitachi H8/500 *}  .  bfd_arch_h8500,     {* Renesas H8/500 (formerly Hitachi H8/500) *}
232  .  bfd_arch_sh,        {* Hitachi SH *}  .  bfd_arch_sh,        {* Renesas / SuperH SH (formerly Hitachi SH) *}
233  .#define bfd_mach_sh            0  .#define bfd_mach_sh            1
234  .#define bfd_mach_sh2        0x20  .#define bfd_mach_sh2        0x20
235  .#define bfd_mach_sh_dsp     0x2d  .#define bfd_mach_sh_dsp     0x2d
236    .#define bfd_mach_sh2a       0x2a
237    .#define bfd_mach_sh2a_nofpu 0x2b
238    .#define bfd_mach_sh2a_nofpu_or_sh4_nommu_nofpu 0x2a1
239    .#define bfd_mach_sh2a_nofpu_or_sh3_nommu 0x2a2
240    .#define bfd_mach_sh2a_or_sh4  0x2a3
241    .#define bfd_mach_sh2a_or_sh3e 0x2a4
242    .#define bfd_mach_sh2e       0x2e
243  .#define bfd_mach_sh3        0x30  .#define bfd_mach_sh3        0x30
244    .#define bfd_mach_sh3_nommu  0x31
245  .#define bfd_mach_sh3_dsp    0x3d  .#define bfd_mach_sh3_dsp    0x3d
246  .#define bfd_mach_sh3e       0x3e  .#define bfd_mach_sh3e       0x3e
247  .#define bfd_mach_sh4        0x40  .#define bfd_mach_sh4        0x40
248    .#define bfd_mach_sh4_nofpu  0x41
249    .#define bfd_mach_sh4_nommu_nofpu  0x42
250    .#define bfd_mach_sh4a       0x4a
251    .#define bfd_mach_sh4a_nofpu 0x4b
252    .#define bfd_mach_sh4al_dsp  0x4d
253  .#define bfd_mach_sh5        0x50  .#define bfd_mach_sh5        0x50
254  .  bfd_arch_alpha,     {* Dec Alpha *}  .  bfd_arch_alpha,     {* Dec Alpha *}
255  .#define bfd_mach_alpha_ev4  0x10  .#define bfd_mach_alpha_ev4  0x10
256  .#define bfd_mach_alpha_ev5  0x20  .#define bfd_mach_alpha_ev5  0x20
257  .#define bfd_mach_alpha_ev6  0x30  .#define bfd_mach_alpha_ev6  0x30
258  .  bfd_arch_arm,       {* Advanced Risc Machines ARM.  *}  .  bfd_arch_arm,       {* Advanced Risc Machines ARM.  *}
259    .#define bfd_mach_arm_unknown   0
260  .#define bfd_mach_arm_2         1  .#define bfd_mach_arm_2         1
261  .#define bfd_mach_arm_2a        2  .#define bfd_mach_arm_2a        2
262  .#define bfd_mach_arm_3         3  .#define bfd_mach_arm_3         3
# Line 224  DESCRIPTION Line 267  DESCRIPTION
267  .#define bfd_mach_arm_5T        8  .#define bfd_mach_arm_5T        8
268  .#define bfd_mach_arm_5TE       9  .#define bfd_mach_arm_5TE       9
269  .#define bfd_mach_arm_XScale    10  .#define bfd_mach_arm_XScale    10
270    .#define bfd_mach_arm_ep9312    11
271    .#define bfd_mach_arm_iWMMXt    12
272  .  bfd_arch_ns32k,     {* National Semiconductors ns32000 *}  .  bfd_arch_ns32k,     {* National Semiconductors ns32000 *}
273  .  bfd_arch_w65,       {* WDC 65816 *}  .  bfd_arch_w65,       {* WDC 65816 *}
274  .  bfd_arch_tic30,     {* Texas Instruments TMS320C30 *}  .  bfd_arch_tic30,     {* Texas Instruments TMS320C30 *}
275    .  bfd_arch_tic4x,     {* Texas Instruments TMS320C3X/4X *}
276    .#define bfd_mach_tic3x         30
277    .#define bfd_mach_tic4x         40
278  .  bfd_arch_tic54x,    {* Texas Instruments TMS320C54X *}  .  bfd_arch_tic54x,    {* Texas Instruments TMS320C54X *}
279  .  bfd_arch_tic80,     {* TI TMS320c80 (MVP) *}  .  bfd_arch_tic80,     {* TI TMS320c80 (MVP) *}
280  .  bfd_arch_v850,      {* NEC V850 *}  .  bfd_arch_v850,      {* NEC V850 *}
281  .#define bfd_mach_v850          0  .#define bfd_mach_v850          1
282  .#define bfd_mach_v850e         'E'  .#define bfd_mach_v850e         'E'
283  .#define bfd_mach_v850ea        'A'  .#define bfd_mach_v850e1        '1'
284  .  bfd_arch_arc,       {* ARC Cores *}  .  bfd_arch_arc,       {* ARC Cores *}
285  .#define bfd_mach_arc_5         0  .#define bfd_mach_arc_5         5
286  .#define bfd_mach_arc_6         1  .#define bfd_mach_arc_6         6
287  .#define bfd_mach_arc_7         2  .#define bfd_mach_arc_7         7
288  .#define bfd_mach_arc_8         3  .#define bfd_mach_arc_8         8
289  .  bfd_arch_m32r,      {* Mitsubishi M32R/D *}  .  bfd_arch_m32r,      {* Renesas M32R (formerly Mitsubishi M32R/D) *}
290  .#define bfd_mach_m32r          0 {* For backwards compatibility.  *}  .#define bfd_mach_m32r          1 {* For backwards compatibility.  *}
291  .#define bfd_mach_m32rx         'x'  .#define bfd_mach_m32rx         'x'
292    .#define bfd_mach_m32r2         '2'
293  .  bfd_arch_mn10200,   {* Matsushita MN10200 *}  .  bfd_arch_mn10200,   {* Matsushita MN10200 *}
294  .  bfd_arch_mn10300,   {* Matsushita MN10300 *}  .  bfd_arch_mn10300,   {* Matsushita MN10300 *}
295  .#define bfd_mach_mn10300               300  .#define bfd_mach_mn10300               300
296  .#define bfd_mach_am33          330  .#define bfd_mach_am33          330
297    .#define bfd_mach_am33_2        332
298  .  bfd_arch_fr30,  .  bfd_arch_fr30,
299  .#define bfd_mach_fr30          0x46523330  .#define bfd_mach_fr30          0x46523330
300  .  bfd_arch_frv,  .  bfd_arch_frv,
301  .#define bfd_mach_frv           0  .#define bfd_mach_frv           1
302  .#define bfd_mach_frvsimple     1  .#define bfd_mach_frvsimple     2
303  .#define bfd_mach_fr300         300  .#define bfd_mach_fr300         300
304  .#define bfd_mach_fr400         400  .#define bfd_mach_fr400         400
305    .#define bfd_mach_fr450         450
306  .#define bfd_mach_frvtomcat     499     {* fr500 prototype *}  .#define bfd_mach_frvtomcat     499     {* fr500 prototype *}
307  .#define bfd_mach_fr500         500  .#define bfd_mach_fr500         500
308    .#define bfd_mach_fr550         550
309  .  bfd_arch_mcore,  .  bfd_arch_mcore,
310  .  bfd_arch_ia64,      {* HP/Intel ia64 *}  .  bfd_arch_ia64,      {* HP/Intel ia64 *}
311  .#define bfd_mach_ia64_elf64    0  .#define bfd_mach_ia64_elf64    64
312  .#define bfd_mach_ia64_elf32    1  .#define bfd_mach_ia64_elf32    32
313  .  bfd_arch_ip2k,      {* Ubicom IP2K microcontrollers. *}  .  bfd_arch_ip2k,      {* Ubicom IP2K microcontrollers. *}
314  .#define bfd_mach_ip2022        0  .#define bfd_mach_ip2022        1
315  .#define bfd_mach_ip2022ext     1  .#define bfd_mach_ip2022ext     2
316    . bfd_arch_iq2000,     {* Vitesse IQ2000.  *}
317    .#define bfd_mach_iq2000        1
318    .#define bfd_mach_iq10          2
319  .  bfd_arch_pj,  .  bfd_arch_pj,
320  .  bfd_arch_avr,       {* Atmel AVR microcontrollers.  *}  .  bfd_arch_avr,       {* Atmel AVR microcontrollers.  *}
321  .#define bfd_mach_avr1          1  .#define bfd_mach_avr1          1
# Line 268  DESCRIPTION Line 323  DESCRIPTION
323  .#define bfd_mach_avr3          3  .#define bfd_mach_avr3          3
324  .#define bfd_mach_avr4          4  .#define bfd_mach_avr4          4
325  .#define bfd_mach_avr5          5  .#define bfd_mach_avr5          5
326    .  bfd_arch_cr16c,       {* National Semiconductor CompactRISC. *}
327    .#define bfd_mach_cr16c         1
328    .  bfd_arch_crx,       {*  National Semiconductor CRX.  *}
329    .#define bfd_mach_crx           1
330  .  bfd_arch_cris,      {* Axis CRIS *}  .  bfd_arch_cris,      {* Axis CRIS *}
331    .#define bfd_mach_cris_v0_v10   255
332    .#define bfd_mach_cris_v32      32
333    .#define bfd_mach_cris_v10_v32  1032
334  .  bfd_arch_s390,      {* IBM s390 *}  .  bfd_arch_s390,      {* IBM s390 *}
335  .#define bfd_mach_s390_31       0  .#define bfd_mach_s390_31       31
336  .#define bfd_mach_s390_64       1  .#define bfd_mach_s390_64       64
337  .  bfd_arch_openrisc,  {* OpenRISC *}  .  bfd_arch_openrisc,  {* OpenRISC *}
338  .  bfd_arch_mmix,      {* Donald Knuth's educational processor.  *}  .  bfd_arch_mmix,      {* Donald Knuth's educational processor.  *}
339  .  bfd_arch_xstormy16,  .  bfd_arch_xstormy16,
340  .#define bfd_mach_xstormy16     0  .#define bfd_mach_xstormy16     1
341    .  bfd_arch_msp430,    {* Texas Instruments MSP430 architecture.  *}
342    .#define bfd_mach_msp11          11
343    .#define bfd_mach_msp110         110
344    .#define bfd_mach_msp12          12
345    .#define bfd_mach_msp13          13
346    .#define bfd_mach_msp14          14
347    .#define bfd_mach_msp15          15
348    .#define bfd_mach_msp16          16  
349    .#define bfd_mach_msp31          31
350    .#define bfd_mach_msp32          32
351    .#define bfd_mach_msp33          33
352    .#define bfd_mach_msp41          41
353    .#define bfd_mach_msp42          42
354    .#define bfd_mach_msp43          43
355    .#define bfd_mach_msp44          44
356    .  bfd_arch_xtensa,    {* Tensilica's Xtensa cores.  *}
357    .#define bfd_mach_xtensa        1
358    .   bfd_arch_maxq,     {* Dallas MAXQ 10/20 *}
359    .#define bfd_mach_maxq10    10
360    .#define bfd_mach_maxq20    20
361  .  bfd_arch_last  .  bfd_arch_last
362  .  };  .  };
363  */  */
# Line 299  DESCRIPTION Line 381  DESCRIPTION
381  .  const char *arch_name;  .  const char *arch_name;
382  .  const char *printable_name;  .  const char *printable_name;
383  .  unsigned int section_align_power;  .  unsigned int section_align_power;
384  .  {* True if this is the default machine for the architecture.  .  {* TRUE if this is the default machine for the architecture.
385  .     The default arch should be the first entry for an arch so that  .     The default arch should be the first entry for an arch so that
386  .     all the entries for that arch can be accessed via <<next>>.  *}  .     all the entries for that arch can be accessed via <<next>>.  *}
387  .  boolean the_default;  .  bfd_boolean the_default;
388  .  const struct bfd_arch_info * (*compatible)  .  const struct bfd_arch_info * (*compatible)
389  .       PARAMS ((const struct bfd_arch_info *a,  .    (const struct bfd_arch_info *a, const struct bfd_arch_info *b);
 .                const struct bfd_arch_info *b));  
390  .  .
391  .  boolean (*scan) PARAMS ((const struct bfd_arch_info *, const char *));  .  bfd_boolean (*scan) (const struct bfd_arch_info *, const char *);
392  .  .
393  .  const struct bfd_arch_info *next;  .  const struct bfd_arch_info *next;
394  .}  .}
# Line 320  extern const bfd_arch_info_type bfd_alph Line 401  extern const bfd_arch_info_type bfd_alph
401  extern const bfd_arch_info_type bfd_arc_arch;  extern const bfd_arch_info_type bfd_arc_arch;
402  extern const bfd_arch_info_type bfd_arm_arch;  extern const bfd_arch_info_type bfd_arm_arch;
403  extern const bfd_arch_info_type bfd_avr_arch;  extern const bfd_arch_info_type bfd_avr_arch;
404    extern const bfd_arch_info_type bfd_cr16c_arch;
405  extern const bfd_arch_info_type bfd_cris_arch;  extern const bfd_arch_info_type bfd_cris_arch;
406    extern const bfd_arch_info_type bfd_crx_arch;
407  extern const bfd_arch_info_type bfd_d10v_arch;  extern const bfd_arch_info_type bfd_d10v_arch;
408  extern const bfd_arch_info_type bfd_d30v_arch;  extern const bfd_arch_info_type bfd_d30v_arch;
409  extern const bfd_arch_info_type bfd_dlx_arch;  extern const bfd_arch_info_type bfd_dlx_arch;
# Line 335  extern const bfd_arch_info_type bfd_i860 Line 418  extern const bfd_arch_info_type bfd_i860
418  extern const bfd_arch_info_type bfd_i960_arch;  extern const bfd_arch_info_type bfd_i960_arch;
419  extern const bfd_arch_info_type bfd_ia64_arch;  extern const bfd_arch_info_type bfd_ia64_arch;
420  extern const bfd_arch_info_type bfd_ip2k_arch;  extern const bfd_arch_info_type bfd_ip2k_arch;
421    extern const bfd_arch_info_type bfd_iq2000_arch;
422  extern const bfd_arch_info_type bfd_m32r_arch;  extern const bfd_arch_info_type bfd_m32r_arch;
423  extern const bfd_arch_info_type bfd_m68hc11_arch;  extern const bfd_arch_info_type bfd_m68hc11_arch;
424  extern const bfd_arch_info_type bfd_m68hc12_arch;  extern const bfd_arch_info_type bfd_m68hc12_arch;
425  extern const bfd_arch_info_type bfd_m68k_arch;  extern const bfd_arch_info_type bfd_m68k_arch;
426  extern const bfd_arch_info_type bfd_m88k_arch;  extern const bfd_arch_info_type bfd_m88k_arch;
427    extern const bfd_arch_info_type bfd_maxq_arch;
428  extern const bfd_arch_info_type bfd_mcore_arch;  extern const bfd_arch_info_type bfd_mcore_arch;
429  extern const bfd_arch_info_type bfd_mips_arch;  extern const bfd_arch_info_type bfd_mips_arch;
430  extern const bfd_arch_info_type bfd_mmix_arch;  extern const bfd_arch_info_type bfd_mmix_arch;
431  extern const bfd_arch_info_type bfd_mn10200_arch;  extern const bfd_arch_info_type bfd_mn10200_arch;
432  extern const bfd_arch_info_type bfd_mn10300_arch;  extern const bfd_arch_info_type bfd_mn10300_arch;
433    extern const bfd_arch_info_type bfd_msp430_arch;
434  extern const bfd_arch_info_type bfd_ns32k_arch;  extern const bfd_arch_info_type bfd_ns32k_arch;
435  extern const bfd_arch_info_type bfd_openrisc_arch;  extern const bfd_arch_info_type bfd_openrisc_arch;
436  extern const bfd_arch_info_type bfd_or32_arch;  extern const bfd_arch_info_type bfd_or32_arch;
# Line 357  extern const bfd_arch_info_type bfd_s390 Line 443  extern const bfd_arch_info_type bfd_s390
443  extern const bfd_arch_info_type bfd_sh_arch;  extern const bfd_arch_info_type bfd_sh_arch;
444  extern const bfd_arch_info_type bfd_sparc_arch;  extern const bfd_arch_info_type bfd_sparc_arch;
445  extern const bfd_arch_info_type bfd_tic30_arch;  extern const bfd_arch_info_type bfd_tic30_arch;
446    extern const bfd_arch_info_type bfd_tic4x_arch;
447  extern const bfd_arch_info_type bfd_tic54x_arch;  extern const bfd_arch_info_type bfd_tic54x_arch;
448  extern const bfd_arch_info_type bfd_tic80_arch;  extern const bfd_arch_info_type bfd_tic80_arch;
449  extern const bfd_arch_info_type bfd_v850_arch;  extern const bfd_arch_info_type bfd_v850_arch;
# Line 364  extern const bfd_arch_info_type bfd_vax_ Line 451  extern const bfd_arch_info_type bfd_vax_
451  extern const bfd_arch_info_type bfd_we32k_arch;  extern const bfd_arch_info_type bfd_we32k_arch;
452  extern const bfd_arch_info_type bfd_w65_arch;  extern const bfd_arch_info_type bfd_w65_arch;
453  extern const bfd_arch_info_type bfd_xstormy16_arch;  extern const bfd_arch_info_type bfd_xstormy16_arch;
454    extern const bfd_arch_info_type bfd_xtensa_arch;
455  extern const bfd_arch_info_type bfd_z8k_arch;  extern const bfd_arch_info_type bfd_z8k_arch;
456    
457  static const bfd_arch_info_type * const bfd_archures_list[] =  static const bfd_arch_info_type * const bfd_archures_list[] =
# Line 376  static const bfd_arch_info_type * const Line 464  static const bfd_arch_info_type * const
464      &bfd_arc_arch,      &bfd_arc_arch,
465      &bfd_arm_arch,      &bfd_arm_arch,
466      &bfd_avr_arch,      &bfd_avr_arch,
467        &bfd_cr16c_arch,
468      &bfd_cris_arch,      &bfd_cris_arch,
469        &bfd_crx_arch,
470      &bfd_d10v_arch,      &bfd_d10v_arch,
471      &bfd_d30v_arch,      &bfd_d30v_arch,
472      &bfd_dlx_arch,      &bfd_dlx_arch,
# Line 391  static const bfd_arch_info_type * const Line 481  static const bfd_arch_info_type * const
481      &bfd_i960_arch,      &bfd_i960_arch,
482      &bfd_ia64_arch,      &bfd_ia64_arch,
483      &bfd_ip2k_arch,      &bfd_ip2k_arch,
484        &bfd_iq2000_arch,
485      &bfd_m32r_arch,      &bfd_m32r_arch,
486      &bfd_m68hc11_arch,      &bfd_m68hc11_arch,
487      &bfd_m68hc12_arch,      &bfd_m68hc12_arch,
488      &bfd_m68k_arch,      &bfd_m68k_arch,
489      &bfd_m88k_arch,      &bfd_m88k_arch,
490        &bfd_maxq_arch,
491      &bfd_mcore_arch,      &bfd_mcore_arch,
492      &bfd_mips_arch,      &bfd_mips_arch,
493      &bfd_mmix_arch,      &bfd_mmix_arch,
494      &bfd_mn10200_arch,      &bfd_mn10200_arch,
495      &bfd_mn10300_arch,      &bfd_mn10300_arch,
496        &bfd_msp430_arch,
497      &bfd_ns32k_arch,      &bfd_ns32k_arch,
498      &bfd_openrisc_arch,      &bfd_openrisc_arch,
499      &bfd_or32_arch,      &bfd_or32_arch,
# Line 411  static const bfd_arch_info_type * const Line 504  static const bfd_arch_info_type * const
504      &bfd_sh_arch,      &bfd_sh_arch,
505      &bfd_sparc_arch,      &bfd_sparc_arch,
506      &bfd_tic30_arch,      &bfd_tic30_arch,
507        &bfd_tic4x_arch,
508      &bfd_tic54x_arch,      &bfd_tic54x_arch,
509      &bfd_tic80_arch,      &bfd_tic80_arch,
510      &bfd_v850_arch,      &bfd_v850_arch,
# Line 418  static const bfd_arch_info_type * const Line 512  static const bfd_arch_info_type * const
512      &bfd_w65_arch,      &bfd_w65_arch,
513      &bfd_we32k_arch,      &bfd_we32k_arch,
514      &bfd_xstormy16_arch,      &bfd_xstormy16_arch,
515        &bfd_xtensa_arch,
516      &bfd_z8k_arch,      &bfd_z8k_arch,
517  #endif  #endif
518    0    0
# Line 428  FUNCTION Line 523  FUNCTION
523          bfd_printable_name          bfd_printable_name
524    
525  SYNOPSIS  SYNOPSIS
526          const char *bfd_printable_name(bfd *abfd);          const char *bfd_printable_name (bfd *abfd);
527    
528  DESCRIPTION  DESCRIPTION
529          Return a printable string representing the architecture and machine          Return a printable string representing the architecture and machine
# Line 437  DESCRIPTION Line 532  DESCRIPTION
532  */  */
533    
534  const char *  const char *
535  bfd_printable_name (abfd)  bfd_printable_name (bfd *abfd)
      bfd *abfd;  
536  {  {
537    return abfd->arch_info->printable_name;    return abfd->arch_info->printable_name;
538  }  }
# Line 448  FUNCTION Line 542  FUNCTION
542          bfd_scan_arch          bfd_scan_arch
543    
544  SYNOPSIS  SYNOPSIS
545          const bfd_arch_info_type *bfd_scan_arch(const char *string);          const bfd_arch_info_type *bfd_scan_arch (const char *string);
546    
547  DESCRIPTION  DESCRIPTION
548          Figure out if BFD supports any cpu which could be described with          Figure out if BFD supports any cpu which could be described with
# Line 457  DESCRIPTION Line 551  DESCRIPTION
551  */  */
552    
553  const bfd_arch_info_type *  const bfd_arch_info_type *
554  bfd_scan_arch (string)  bfd_scan_arch (const char *string)
      const char *string;  
555  {  {
556    const bfd_arch_info_type * const *app, *ap;    const bfd_arch_info_type * const *app, *ap;
557    
# Line 480  FUNCTION Line 573  FUNCTION
573          bfd_arch_list          bfd_arch_list
574    
575  SYNOPSIS  SYNOPSIS
576          const char **bfd_arch_list(void);          const char **bfd_arch_list (void);
577    
578  DESCRIPTION  DESCRIPTION
579          Return a freshly malloced NULL-terminated vector of the names          Return a freshly malloced NULL-terminated vector of the names
# Line 488  DESCRIPTION Line 581  DESCRIPTION
581  */  */
582    
583  const char **  const char **
584  bfd_arch_list ()  bfd_arch_list (void)
585  {  {
586    int vec_length = 0;    int vec_length = 0;
587    const char **name_ptr;    const char **name_ptr;
# Line 508  bfd_arch_list () Line 601  bfd_arch_list ()
601      }      }
602    
603    amt = (vec_length + 1) * sizeof (char **);    amt = (vec_length + 1) * sizeof (char **);
604    name_list = (const char **) bfd_malloc (amt);    name_list = bfd_malloc (amt);
605    if (name_list == NULL)    if (name_list == NULL)
606      return NULL;      return NULL;
607    
# Line 533  FUNCTION Line 626  FUNCTION
626          bfd_arch_get_compatible          bfd_arch_get_compatible
627    
628  SYNOPSIS  SYNOPSIS
629          const bfd_arch_info_type *bfd_arch_get_compatible(          const bfd_arch_info_type *bfd_arch_get_compatible
630                  const bfd *abfd,            (const bfd *abfd, const bfd *bbfd, bfd_boolean accept_unknowns);
                 const bfd *bbfd);  
631    
632  DESCRIPTION  DESCRIPTION
633          Determine whether two BFDs'          Determine whether two BFDs' architectures and machine types
634          architectures and machine types are compatible.  Calculates          are compatible.  Calculates the lowest common denominator
635          the lowest common denominator between the two architectures          between the two architectures and machine types implied by
636          and machine types implied by the BFDs and returns a pointer to          the BFDs and returns a pointer to an <<arch_info>> structure
637          an <<arch_info>> structure describing the compatible machine.          describing the compatible machine.
638  */  */
639    
640  const bfd_arch_info_type *  const bfd_arch_info_type *
641  bfd_arch_get_compatible (abfd, bbfd)  bfd_arch_get_compatible (const bfd *abfd,
642       const bfd *abfd;                           const bfd *bbfd,
643       const bfd *bbfd;                           bfd_boolean accept_unknowns)
644  {  {
645    /* If either architecture is unknown, then all we can do is assume    const bfd * ubfd = NULL;
646       the user knows what he's doing.  */  
647    if (abfd->arch_info->arch == bfd_arch_unknown)    /* Look for an unknown architecture.  */
648      return bbfd->arch_info;    if (((ubfd = abfd) && ubfd->arch_info->arch == bfd_arch_unknown)
649    if (bbfd->arch_info->arch == bfd_arch_unknown)        || ((ubfd = bbfd) && ubfd->arch_info->arch == bfd_arch_unknown))
650      return abfd->arch_info;      {
651          /* We can allow an unknown architecture if accept_unknowns
652             is true, or if the target is the "binary" format, which
653             has an unknown architecture.  Since the binary format can
654             only be set by explicit request from the user, it is safe
655             to assume that they know what they are doing.  */
656          if (accept_unknowns
657              || strcmp (bfd_get_target (ubfd), "binary") == 0)
658            return ubfd->arch_info;
659          return NULL;
660        }
661    
662    /* Otherwise architecture-specific code has to decide.  */    /* Otherwise architecture-specific code has to decide.  */
663    return abfd->arch_info->compatible (abfd->arch_info, bbfd->arch_info);    return abfd->arch_info->compatible (abfd->arch_info, bbfd->arch_info);
# Line 576  DESCRIPTION Line 678  DESCRIPTION
678  */  */
679    
680  const bfd_arch_info_type bfd_default_arch_struct = {  const bfd_arch_info_type bfd_default_arch_struct = {
681    32, 32, 8, bfd_arch_unknown, 0, "unknown", "unknown", 2, true,    32, 32, 8, bfd_arch_unknown, 0, "unknown", "unknown", 2, TRUE,
682    bfd_default_compatible,    bfd_default_compatible,
683    bfd_default_scan,    bfd_default_scan,
684    0,    0,
# Line 587  FUNCTION Line 689  FUNCTION
689          bfd_set_arch_info          bfd_set_arch_info
690    
691  SYNOPSIS  SYNOPSIS
692          void bfd_set_arch_info(bfd *abfd, const bfd_arch_info_type *arg);          void bfd_set_arch_info (bfd *abfd, const bfd_arch_info_type *arg);
693    
694  DESCRIPTION  DESCRIPTION
695          Set the architecture info of @var{abfd} to @var{arg}.          Set the architecture info of @var{abfd} to @var{arg}.
696  */  */
697    
698  void  void
699  bfd_set_arch_info (abfd, arg)  bfd_set_arch_info (bfd *abfd, const bfd_arch_info_type *arg)
      bfd *abfd;  
      const bfd_arch_info_type *arg;  
700  {  {
701    abfd->arch_info = arg;    abfd->arch_info = arg;
702  }  }
# Line 606  INTERNAL_FUNCTION Line 706  INTERNAL_FUNCTION
706          bfd_default_set_arch_mach          bfd_default_set_arch_mach
707    
708  SYNOPSIS  SYNOPSIS
709          boolean bfd_default_set_arch_mach(bfd *abfd,          bfd_boolean bfd_default_set_arch_mach
710                  enum bfd_architecture arch,            (bfd *abfd, enum bfd_architecture arch, unsigned long mach);
                 unsigned long mach);  
711    
712  DESCRIPTION  DESCRIPTION
713          Set the architecture and machine type in BFD @var{abfd}          Set the architecture and machine type in BFD @var{abfd}
# Line 617  DESCRIPTION Line 716  DESCRIPTION
716          pointer.          pointer.
717  */  */
718    
719  boolean  bfd_boolean
720  bfd_default_set_arch_mach (abfd, arch, mach)  bfd_default_set_arch_mach (bfd *abfd,
721       bfd *abfd;                             enum bfd_architecture arch,
722       enum bfd_architecture arch;                             unsigned long mach)
      unsigned long mach;  
723  {  {
724    abfd->arch_info = bfd_lookup_arch (arch, mach);    abfd->arch_info = bfd_lookup_arch (arch, mach);
725    if (abfd->arch_info != NULL)    if (abfd->arch_info != NULL)
726      return true;      return TRUE;
727    
728    abfd->arch_info = &bfd_default_arch_struct;    abfd->arch_info = &bfd_default_arch_struct;
729    bfd_set_error (bfd_error_bad_value);    bfd_set_error (bfd_error_bad_value);
730    return false;    return FALSE;
731  }  }
732    
733  /*  /*
# Line 637  FUNCTION Line 735  FUNCTION
735          bfd_get_arch          bfd_get_arch
736    
737  SYNOPSIS  SYNOPSIS
738          enum bfd_architecture bfd_get_arch(bfd *abfd);          enum bfd_architecture bfd_get_arch (bfd *abfd);
739    
740  DESCRIPTION  DESCRIPTION
741          Return the enumerated type which describes the BFD @var{abfd}'s          Return the enumerated type which describes the BFD @var{abfd}'s
# Line 645  DESCRIPTION Line 743  DESCRIPTION
743  */  */
744    
745  enum bfd_architecture  enum bfd_architecture
746  bfd_get_arch (abfd)  bfd_get_arch (bfd *abfd)
      bfd *abfd;  
747  {  {
748    return abfd->arch_info->arch;    return abfd->arch_info->arch;
749  }  }
# Line 656  FUNCTION Line 753  FUNCTION
753          bfd_get_mach          bfd_get_mach
754    
755  SYNOPSIS  SYNOPSIS
756          unsigned long bfd_get_mach(bfd *abfd);          unsigned long bfd_get_mach (bfd *abfd);
757    
758  DESCRIPTION  DESCRIPTION
759          Return the long type which describes the BFD @var{abfd}'s          Return the long type which describes the BFD @var{abfd}'s
# Line 664  DESCRIPTION Line 761  DESCRIPTION
761  */  */
762    
763  unsigned long  unsigned long
764  bfd_get_mach (abfd)  bfd_get_mach (bfd *abfd)
      bfd *abfd;  
765  {  {
766    return abfd->arch_info->mach;    return abfd->arch_info->mach;
767  }  }
# Line 675  FUNCTION Line 771  FUNCTION
771          bfd_arch_bits_per_byte          bfd_arch_bits_per_byte
772    
773  SYNOPSIS  SYNOPSIS
774          unsigned int bfd_arch_bits_per_byte(bfd *abfd);          unsigned int bfd_arch_bits_per_byte (bfd *abfd);
775    
776  DESCRIPTION  DESCRIPTION
777          Return the number of bits in one of the BFD @var{abfd}'s          Return the number of bits in one of the BFD @var{abfd}'s
# Line 683  DESCRIPTION Line 779  DESCRIPTION
779  */  */
780    
781  unsigned int  unsigned int
782  bfd_arch_bits_per_byte (abfd)  bfd_arch_bits_per_byte (bfd *abfd)
      bfd *abfd;  
783  {  {
784    return abfd->arch_info->bits_per_byte;    return abfd->arch_info->bits_per_byte;
785  }  }
# Line 694  FUNCTION Line 789  FUNCTION
789          bfd_arch_bits_per_address          bfd_arch_bits_per_address
790    
791  SYNOPSIS  SYNOPSIS
792          unsigned int bfd_arch_bits_per_address(bfd *abfd);          unsigned int bfd_arch_bits_per_address (bfd *abfd);
793    
794  DESCRIPTION  DESCRIPTION
795          Return the number of bits in one of the BFD @var{abfd}'s          Return the number of bits in one of the BFD @var{abfd}'s
# Line 702  DESCRIPTION Line 797  DESCRIPTION
797  */  */
798    
799  unsigned int  unsigned int
800  bfd_arch_bits_per_address (abfd)  bfd_arch_bits_per_address (bfd *abfd)
      bfd *abfd;  
801  {  {
802    return abfd->arch_info->bits_per_address;    return abfd->arch_info->bits_per_address;
803  }  }
# Line 714  INTERNAL_FUNCTION Line 808  INTERNAL_FUNCTION
808    
809  SYNOPSIS  SYNOPSIS
810          const bfd_arch_info_type *bfd_default_compatible          const bfd_arch_info_type *bfd_default_compatible
811          (const bfd_arch_info_type *a,            (const bfd_arch_info_type *a, const bfd_arch_info_type *b);
         const bfd_arch_info_type *b);  
812    
813  DESCRIPTION  DESCRIPTION
814          The default function for testing for compatibility.          The default function for testing for compatibility.
815  */  */
816    
817  const bfd_arch_info_type *  const bfd_arch_info_type *
818  bfd_default_compatible (a, b)  bfd_default_compatible (const bfd_arch_info_type *a,
819       const bfd_arch_info_type *a;                          const bfd_arch_info_type *b)
      const bfd_arch_info_type *b;  
820  {  {
821    if (a->arch != b->arch)    if (a->arch != b->arch)
822      return NULL;      return NULL;
# Line 746  INTERNAL_FUNCTION Line 838  INTERNAL_FUNCTION
838          bfd_default_scan          bfd_default_scan
839    
840  SYNOPSIS  SYNOPSIS
841          boolean bfd_default_scan(const struct bfd_arch_info *info, const char *string);          bfd_boolean bfd_default_scan
842              (const struct bfd_arch_info *info, const char *string);
843    
844  DESCRIPTION  DESCRIPTION
845          The default function for working out whether this is an          The default function for working out whether this is an
846          architecture hit and a machine hit.          architecture hit and a machine hit.
847  */  */
848    
849  boolean  bfd_boolean
850  bfd_default_scan (info, string)  bfd_default_scan (const bfd_arch_info_type *info, const char *string)
      const bfd_arch_info_type *info;  
      const char *string;  
851  {  {
852    const char *ptr_src;    const char *ptr_src;
853    const char *ptr_tst;    const char *ptr_tst;
# Line 768  bfd_default_scan (info, string) Line 859  bfd_default_scan (info, string)
859       default architecture?  */       default architecture?  */
860    if (strcasecmp (string, info->arch_name) == 0    if (strcasecmp (string, info->arch_name) == 0
861        && info->the_default)        && info->the_default)
862      return true;      return TRUE;
863    
864    /* Exact match of the machine name (PRINTABLE_NAME)?  */    /* Exact match of the machine name (PRINTABLE_NAME)?  */
865    if (strcasecmp (string, info->printable_name) == 0)    if (strcasecmp (string, info->printable_name) == 0)
866      return true;      return TRUE;
867    
868    /* Given that printable_name contains no colon, attempt to match:    /* Given that printable_name contains no colon, attempt to match:
869       ARCH_NAME [ ":" ] PRINTABLE_NAME?  */       ARCH_NAME [ ":" ] PRINTABLE_NAME?  */
# Line 786  bfd_default_scan (info, string) Line 877  bfd_default_scan (info, string)
877              {              {
878                if (strcasecmp (string + strlen_arch_name + 1,                if (strcasecmp (string + strlen_arch_name + 1,
879                                info->printable_name) == 0)                                info->printable_name) == 0)
880                  return true;                  return TRUE;
881              }              }
882            else            else
883              {              {
884                if (strcasecmp (string + strlen_arch_name,                if (strcasecmp (string + strlen_arch_name,
885                                info->printable_name) == 0)                                info->printable_name) == 0)
886                  return true;                  return TRUE;
887              }              }
888          }          }
889      }      }
# Line 805  bfd_default_scan (info, string) Line 896  bfd_default_scan (info, string)
896        if (strncasecmp (string, info->printable_name, colon_index) == 0        if (strncasecmp (string, info->printable_name, colon_index) == 0
897            && strcasecmp (string + colon_index,            && strcasecmp (string + colon_index,
898                           info->printable_name + colon_index + 1) == 0)                           info->printable_name + colon_index + 1) == 0)
899          return true;          return TRUE;
900      }      }
901    
902    /* Given that PRINTABLE_NAME has the form: <arch> ":" <mach>; Do not    /* Given that PRINTABLE_NAME has the form: <arch> ":" <mach>; Do not
903       attempt to match just <mach>, it could be ambigious.  This test       attempt to match just <mach>, it could be ambiguous.  This test
904       is left until later.  */       is left until later.  */
905    
906    /* NOTE: The below is retained for compatibility only.  Please do    /* NOTE: The below is retained for compatibility only.  Please do
# Line 908  bfd_default_scan (info, string) Line 999  bfd_default_scan (info, string)
999        arch = bfd_arch_m68k;        arch = bfd_arch_m68k;
1000        number = bfd_mach_mcf5407;        number = bfd_mach_mcf5407;
1001        break;        break;
1002        case 5282:
1003          arch = bfd_arch_m68k;
1004          number = bfd_mach_mcf528x;
1005          break;
1006    
1007      case 32000:      case 32000:
1008        arch = bfd_arch_we32k;        arch = bfd_arch_we32k;
# Line 948  bfd_default_scan (info, string) Line 1043  bfd_default_scan (info, string)
1043        break;        break;
1044    
1045      default:      default:
1046        return false;        return FALSE;
1047      }      }
1048    
1049    if (arch != info->arch)    if (arch != info->arch)
1050      return false;      return FALSE;
1051    
1052    if (number != info->mach)    if (number != info->mach)
1053      return false;      return FALSE;
1054    
1055    return true;    return TRUE;
1056  }  }
1057    
1058  /*  /*
# Line 965  FUNCTION Line 1060  FUNCTION
1060          bfd_get_arch_info          bfd_get_arch_info
1061    
1062  SYNOPSIS  SYNOPSIS
1063          const bfd_arch_info_type * bfd_get_arch_info(bfd *abfd);          const bfd_arch_info_type *bfd_get_arch_info (bfd *abfd);
1064    
1065  DESCRIPTION  DESCRIPTION
1066          Return the architecture info struct in @var{abfd}.          Return the architecture info struct in @var{abfd}.
1067  */  */
1068    
1069  const bfd_arch_info_type *  const bfd_arch_info_type *
1070  bfd_get_arch_info (abfd)  bfd_get_arch_info (bfd *abfd)
      bfd *abfd;  
1071  {  {
1072    return abfd->arch_info;    return abfd->arch_info;
1073  }  }
# Line 984  FUNCTION Line 1078  FUNCTION
1078    
1079  SYNOPSIS  SYNOPSIS
1080          const bfd_arch_info_type *bfd_lookup_arch          const bfd_arch_info_type *bfd_lookup_arch
1081                  (enum bfd_architecture            (enum bfd_architecture arch, unsigned long machine);
                 arch,  
                 unsigned long machine);  
1082    
1083  DESCRIPTION  DESCRIPTION
1084          Look for the architecure info structure which matches the          Look for the architecture info structure which matches the
1085          arguments @var{arch} and @var{machine}. A machine of 0 matches the          arguments @var{arch} and @var{machine}. A machine of 0 matches the
1086          machine/architecture structure which marks itself as the          machine/architecture structure which marks itself as the
1087          default.          default.
1088  */  */
1089    
1090  const bfd_arch_info_type *  const bfd_arch_info_type *
1091  bfd_lookup_arch (arch, machine)  bfd_lookup_arch (enum bfd_architecture arch, unsigned long machine)
      enum bfd_architecture arch;  
      unsigned long machine;  
1092  {  {
1093    const bfd_arch_info_type * const *app, *ap;    const bfd_arch_info_type * const *app, *ap;
1094    
# Line 1022  FUNCTION Line 1112  FUNCTION
1112    
1113  SYNOPSIS  SYNOPSIS
1114          const char *bfd_printable_arch_mach          const char *bfd_printable_arch_mach
1115                  (enum bfd_architecture arch, unsigned long machine);            (enum bfd_architecture arch, unsigned long machine);
1116    
1117  DESCRIPTION  DESCRIPTION
1118          Return a printable string representing the architecture and          Return a printable string representing the architecture and
# Line 1032  DESCRIPTION Line 1122  DESCRIPTION
1122  */  */
1123    
1124  const char *  const char *
1125  bfd_printable_arch_mach (arch, machine)  bfd_printable_arch_mach (enum bfd_architecture arch, unsigned long machine)
      enum bfd_architecture arch;  
      unsigned long machine;  
1126  {  {
1127    const bfd_arch_info_type *ap = bfd_lookup_arch (arch, machine);    const bfd_arch_info_type *ap = bfd_lookup_arch (arch, machine);
1128    
# Line 1048  FUNCTION Line 1136  FUNCTION
1136          bfd_octets_per_byte          bfd_octets_per_byte
1137    
1138  SYNOPSIS  SYNOPSIS
1139          unsigned int bfd_octets_per_byte(bfd *abfd);          unsigned int bfd_octets_per_byte (bfd *abfd);
1140    
1141  DESCRIPTION  DESCRIPTION
1142          Return the number of octets (8-bit quantities) per target byte          Return the number of octets (8-bit quantities) per target byte
# Line 1057  DESCRIPTION Line 1145  DESCRIPTION
1145  */  */
1146    
1147  unsigned int  unsigned int
1148  bfd_octets_per_byte (abfd)  bfd_octets_per_byte (bfd *abfd)
      bfd *abfd;  
1149  {  {
1150    return bfd_arch_mach_octets_per_byte (bfd_get_arch (abfd),    return bfd_arch_mach_octets_per_byte (bfd_get_arch (abfd),
1151                                          bfd_get_mach (abfd));                                          bfd_get_mach (abfd));
# Line 1069  FUNCTION Line 1156  FUNCTION
1156          bfd_arch_mach_octets_per_byte          bfd_arch_mach_octets_per_byte
1157    
1158  SYNOPSIS  SYNOPSIS
1159          unsigned int bfd_arch_mach_octets_per_byte(enum bfd_architecture arch,          unsigned int bfd_arch_mach_octets_per_byte
1160                                                     unsigned long machine);            (enum bfd_architecture arch, unsigned long machine);
1161    
1162  DESCRIPTION  DESCRIPTION
1163          See bfd_octets_per_byte.          See bfd_octets_per_byte.
# Line 1080  DESCRIPTION Line 1167  DESCRIPTION
1167  */  */
1168    
1169  unsigned int  unsigned int
1170  bfd_arch_mach_octets_per_byte (arch, mach)  bfd_arch_mach_octets_per_byte (enum bfd_architecture arch,
1171       enum bfd_architecture arch;                                 unsigned long mach)
      unsigned long mach;  
1172  {  {
1173    const bfd_arch_info_type *ap = bfd_lookup_arch (arch, mach);    const bfd_arch_info_type *ap = bfd_lookup_arch (arch, mach);
1174    

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26