Line 1... |
Line 1... |
/* BFD library support routines for architectures.
|
/* BFD library support routines for architectures.
|
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
|
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
|
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
Hacked by John Gilmore and Steve Chamberlain of Cygnus Support.
|
Hacked by John Gilmore and Steve Chamberlain of Cygnus Support.
|
|
|
This file is part of BFD, the Binary File Descriptor library.
|
This file is part of BFD, the Binary File Descriptor library.
|
|
|
Line 165... |
Line 165... |
.#define bfd_mach_mips7000 7000
|
.#define bfd_mach_mips7000 7000
|
.#define bfd_mach_mips8000 8000
|
.#define bfd_mach_mips8000 8000
|
.#define bfd_mach_mips9000 9000
|
.#define bfd_mach_mips9000 9000
|
.#define bfd_mach_mips10000 10000
|
.#define bfd_mach_mips10000 10000
|
.#define bfd_mach_mips12000 12000
|
.#define bfd_mach_mips12000 12000
|
|
.#define bfd_mach_mips14000 14000
|
|
.#define bfd_mach_mips16000 16000
|
.#define bfd_mach_mips16 16
|
.#define bfd_mach_mips16 16
|
.#define bfd_mach_mips5 5
|
.#define bfd_mach_mips5 5
|
.#define bfd_mach_mips_loongson_2e 3001
|
.#define bfd_mach_mips_loongson_2e 3001
|
.#define bfd_mach_mips_loongson_2f 3002
|
.#define bfd_mach_mips_loongson_2f 3002
|
.#define bfd_mach_mips_sb1 12310201 {* octal 'SB', 01 *}
|
.#define bfd_mach_mips_sb1 12310201 {* octal 'SB', 01 *}
|
.#define bfd_mach_mips_octeon 6501
|
.#define bfd_mach_mips_octeon 6501
|
|
.#define bfd_mach_mips_xlr 887682 {* decimal 'XLR' *}
|
.#define bfd_mach_mipsisa32 32
|
.#define bfd_mach_mipsisa32 32
|
.#define bfd_mach_mipsisa32r2 33
|
.#define bfd_mach_mipsisa32r2 33
|
.#define bfd_mach_mipsisa64 64
|
.#define bfd_mach_mipsisa64 64
|
.#define bfd_mach_mipsisa64r2 65
|
.#define bfd_mach_mipsisa64r2 65
|
. bfd_arch_i386, {* Intel 386 *}
|
. bfd_arch_i386, {* Intel 386 *}
|
.#define bfd_mach_i386_i386 1
|
.#define bfd_mach_i386_i386 1
|
.#define bfd_mach_i386_i8086 2
|
.#define bfd_mach_i386_i8086 2
|
.#define bfd_mach_i386_i386_intel_syntax 3
|
.#define bfd_mach_i386_i386_intel_syntax 3
|
.#define bfd_mach_x86_64 64
|
.#define bfd_mach_x86_64 64
|
.#define bfd_mach_x86_64_intel_syntax 65
|
.#define bfd_mach_x86_64_intel_syntax 65
|
|
. bfd_arch_l1om, {* Intel L1OM *}
|
|
.#define bfd_mach_l1om 66
|
|
.#define bfd_mach_l1om_intel_syntax 67
|
. bfd_arch_we32k, {* AT&T WE32xxx *}
|
. bfd_arch_we32k, {* AT&T WE32xxx *}
|
. bfd_arch_tahoe, {* CCI/Harris Tahoe *}
|
. bfd_arch_tahoe, {* CCI/Harris Tahoe *}
|
. bfd_arch_i860, {* Intel 860 *}
|
. bfd_arch_i860, {* Intel 860 *}
|
. bfd_arch_i370, {* IBM 360/370 Mainframes *}
|
. bfd_arch_i370, {* IBM 360/370 Mainframes *}
|
. bfd_arch_romp, {* IBM ROMP PC/RT *}
|
. bfd_arch_romp, {* IBM ROMP PC/RT *}
|
Line 199... |
Line 205... |
.#define bfd_mach_h8300hn 4
|
.#define bfd_mach_h8300hn 4
|
.#define bfd_mach_h8300sn 5
|
.#define bfd_mach_h8300sn 5
|
.#define bfd_mach_h8300sx 6
|
.#define bfd_mach_h8300sx 6
|
.#define bfd_mach_h8300sxn 7
|
.#define bfd_mach_h8300sxn 7
|
. bfd_arch_pdp11, {* DEC PDP-11 *}
|
. bfd_arch_pdp11, {* DEC PDP-11 *}
|
|
. bfd_arch_plugin,
|
. bfd_arch_powerpc, {* PowerPC *}
|
. bfd_arch_powerpc, {* PowerPC *}
|
.#define bfd_mach_ppc 32
|
.#define bfd_mach_ppc 32
|
.#define bfd_mach_ppc64 64
|
.#define bfd_mach_ppc64 64
|
.#define bfd_mach_ppc_403 403
|
.#define bfd_mach_ppc_403 403
|
.#define bfd_mach_ppc_403gc 4030
|
.#define bfd_mach_ppc_403gc 4030
|
|
.#define bfd_mach_ppc_405 405
|
.#define bfd_mach_ppc_505 505
|
.#define bfd_mach_ppc_505 505
|
.#define bfd_mach_ppc_601 601
|
.#define bfd_mach_ppc_601 601
|
.#define bfd_mach_ppc_602 602
|
.#define bfd_mach_ppc_602 602
|
.#define bfd_mach_ppc_603 603
|
.#define bfd_mach_ppc_603 603
|
.#define bfd_mach_ppc_ec603e 6031
|
.#define bfd_mach_ppc_ec603e 6031
|
Line 219... |
Line 227... |
.#define bfd_mach_ppc_a35 35
|
.#define bfd_mach_ppc_a35 35
|
.#define bfd_mach_ppc_rs64ii 642
|
.#define bfd_mach_ppc_rs64ii 642
|
.#define bfd_mach_ppc_rs64iii 643
|
.#define bfd_mach_ppc_rs64iii 643
|
.#define bfd_mach_ppc_7400 7400
|
.#define bfd_mach_ppc_7400 7400
|
.#define bfd_mach_ppc_e500 500
|
.#define bfd_mach_ppc_e500 500
|
|
.#define bfd_mach_ppc_e500mc 5001
|
. bfd_arch_rs6000, {* IBM RS/6000 *}
|
. bfd_arch_rs6000, {* IBM RS/6000 *}
|
.#define bfd_mach_rs6k 6000
|
.#define bfd_mach_rs6k 6000
|
.#define bfd_mach_rs6k_rs1 6001
|
.#define bfd_mach_rs6k_rs1 6001
|
.#define bfd_mach_rs6k_rsc 6003
|
.#define bfd_mach_rs6k_rsc 6003
|
.#define bfd_mach_rs6k_rs2 6002
|
.#define bfd_mach_rs6k_rs2 6002
|
Line 325... |
Line 334... |
.#define bfd_mach_fr400 400
|
.#define bfd_mach_fr400 400
|
.#define bfd_mach_fr450 450
|
.#define bfd_mach_fr450 450
|
.#define bfd_mach_frvtomcat 499 {* fr500 prototype *}
|
.#define bfd_mach_frvtomcat 499 {* fr500 prototype *}
|
.#define bfd_mach_fr500 500
|
.#define bfd_mach_fr500 500
|
.#define bfd_mach_fr550 550
|
.#define bfd_mach_fr550 550
|
|
. bfd_arch_moxie, {* The moxie processor *}
|
|
.#define bfd_mach_moxie 1
|
. bfd_arch_mcore,
|
. bfd_arch_mcore,
|
. bfd_arch_mep,
|
. bfd_arch_mep,
|
.#define bfd_mach_mep 1
|
.#define bfd_mach_mep 1
|
.#define bfd_mach_mep_h1 0x6831
|
.#define bfd_mach_mep_h1 0x6831
|
|
.#define bfd_mach_mep_c5 0x6335
|
. bfd_arch_ia64, {* HP/Intel ia64 *}
|
. bfd_arch_ia64, {* HP/Intel ia64 *}
|
.#define bfd_mach_ia64_elf64 64
|
.#define bfd_mach_ia64_elf64 64
|
.#define bfd_mach_ia64_elf32 32
|
.#define bfd_mach_ia64_elf32 32
|
. bfd_arch_ip2k, {* Ubicom IP2K microcontrollers. *}
|
. bfd_arch_ip2k, {* Ubicom IP2K microcontrollers. *}
|
.#define bfd_mach_ip2022 1
|
.#define bfd_mach_ip2022 1
|
Line 346... |
Line 358... |
.#define bfd_mach_ms2 3
|
.#define bfd_mach_ms2 3
|
. bfd_arch_pj,
|
. bfd_arch_pj,
|
. bfd_arch_avr, {* Atmel AVR microcontrollers. *}
|
. bfd_arch_avr, {* Atmel AVR microcontrollers. *}
|
.#define bfd_mach_avr1 1
|
.#define bfd_mach_avr1 1
|
.#define bfd_mach_avr2 2
|
.#define bfd_mach_avr2 2
|
|
.#define bfd_mach_avr25 25
|
.#define bfd_mach_avr3 3
|
.#define bfd_mach_avr3 3
|
|
.#define bfd_mach_avr31 31
|
|
.#define bfd_mach_avr35 35
|
.#define bfd_mach_avr4 4
|
.#define bfd_mach_avr4 4
|
.#define bfd_mach_avr5 5
|
.#define bfd_mach_avr5 5
|
|
.#define bfd_mach_avr51 51
|
.#define bfd_mach_avr6 6
|
.#define bfd_mach_avr6 6
|
. bfd_arch_bfin, {* ADI Blackfin *}
|
. bfd_arch_bfin, {* ADI Blackfin *}
|
.#define bfd_mach_bfin 1
|
.#define bfd_mach_bfin 1
|
. bfd_arch_cr16, {* National Semiconductor CompactRISC (ie CR16). *}
|
. bfd_arch_cr16, {* National Semiconductor CompactRISC (ie CR16). *}
|
.#define bfd_mach_cr16 1
|
.#define bfd_mach_cr16 1
|
Line 366... |
Line 382... |
.#define bfd_mach_cris_v10_v32 1032
|
.#define bfd_mach_cris_v10_v32 1032
|
. bfd_arch_s390, {* IBM s390 *}
|
. bfd_arch_s390, {* IBM s390 *}
|
.#define bfd_mach_s390_31 31
|
.#define bfd_mach_s390_31 31
|
.#define bfd_mach_s390_64 64
|
.#define bfd_mach_s390_64 64
|
. bfd_arch_score, {* Sunplus score *}
|
. bfd_arch_score, {* Sunplus score *}
|
|
.#define bfd_mach_score3 3
|
|
.#define bfd_mach_score7 7
|
. bfd_arch_openrisc, {* OpenRISC *}
|
. bfd_arch_openrisc, {* OpenRISC *}
|
. bfd_arch_mmix, {* Donald Knuth's educational processor. *}
|
. bfd_arch_mmix, {* Donald Knuth's educational processor. *}
|
. bfd_arch_xstormy16,
|
. bfd_arch_xstormy16,
|
.#define bfd_mach_xstormy16 1
|
.#define bfd_mach_xstormy16 1
|
. bfd_arch_msp430, {* Texas Instruments MSP430 architecture. *}
|
. bfd_arch_msp430, {* Texas Instruments MSP430 architecture. *}
|
Line 400... |
Line 418... |
. bfd_arch_z80,
|
. bfd_arch_z80,
|
.#define bfd_mach_z80strict 1 {* No undocumented opcodes. *}
|
.#define bfd_mach_z80strict 1 {* No undocumented opcodes. *}
|
.#define bfd_mach_z80 3 {* With ixl, ixh, iyl, and iyh. *}
|
.#define bfd_mach_z80 3 {* With ixl, ixh, iyl, and iyh. *}
|
.#define bfd_mach_z80full 7 {* All undocumented instructions. *}
|
.#define bfd_mach_z80full 7 {* All undocumented instructions. *}
|
.#define bfd_mach_r800 11 {* R800: successor with multiplication. *}
|
.#define bfd_mach_r800 11 {* R800: successor with multiplication. *}
|
|
. bfd_arch_lm32, {* Lattice Mico32 *}
|
|
.#define bfd_mach_lm32 1
|
|
. bfd_arch_microblaze,{* Xilinx MicroBlaze. *}
|
. bfd_arch_last
|
. bfd_arch_last
|
. };
|
. };
|
*/
|
*/
|
|
|
/*
|
/*
|
Line 462... |
Line 483... |
extern const bfd_arch_info_type bfd_i860_arch;
|
extern const bfd_arch_info_type bfd_i860_arch;
|
extern const bfd_arch_info_type bfd_i960_arch;
|
extern const bfd_arch_info_type bfd_i960_arch;
|
extern const bfd_arch_info_type bfd_ia64_arch;
|
extern const bfd_arch_info_type bfd_ia64_arch;
|
extern const bfd_arch_info_type bfd_ip2k_arch;
|
extern const bfd_arch_info_type bfd_ip2k_arch;
|
extern const bfd_arch_info_type bfd_iq2000_arch;
|
extern const bfd_arch_info_type bfd_iq2000_arch;
|
|
extern const bfd_arch_info_type bfd_l1om_arch;
|
|
extern const bfd_arch_info_type bfd_lm32_arch;
|
extern const bfd_arch_info_type bfd_m32c_arch;
|
extern const bfd_arch_info_type bfd_m32c_arch;
|
extern const bfd_arch_info_type bfd_m32r_arch;
|
extern const bfd_arch_info_type bfd_m32r_arch;
|
extern const bfd_arch_info_type bfd_m68hc11_arch;
|
extern const bfd_arch_info_type bfd_m68hc11_arch;
|
extern const bfd_arch_info_type bfd_m68hc12_arch;
|
extern const bfd_arch_info_type bfd_m68hc12_arch;
|
extern const bfd_arch_info_type bfd_m68k_arch;
|
extern const bfd_arch_info_type bfd_m68k_arch;
|
extern const bfd_arch_info_type bfd_m88k_arch;
|
extern const bfd_arch_info_type bfd_m88k_arch;
|
extern const bfd_arch_info_type bfd_maxq_arch;
|
extern const bfd_arch_info_type bfd_maxq_arch;
|
extern const bfd_arch_info_type bfd_mcore_arch;
|
extern const bfd_arch_info_type bfd_mcore_arch;
|
extern const bfd_arch_info_type bfd_mep_arch;
|
extern const bfd_arch_info_type bfd_mep_arch;
|
extern const bfd_arch_info_type bfd_mips_arch;
|
extern const bfd_arch_info_type bfd_mips_arch;
|
|
extern const bfd_arch_info_type bfd_microblaze_arch;
|
extern const bfd_arch_info_type bfd_mmix_arch;
|
extern const bfd_arch_info_type bfd_mmix_arch;
|
extern const bfd_arch_info_type bfd_mn10200_arch;
|
extern const bfd_arch_info_type bfd_mn10200_arch;
|
extern const bfd_arch_info_type bfd_mn10300_arch;
|
extern const bfd_arch_info_type bfd_mn10300_arch;
|
|
extern const bfd_arch_info_type bfd_moxie_arch;
|
extern const bfd_arch_info_type bfd_msp430_arch;
|
extern const bfd_arch_info_type bfd_msp430_arch;
|
extern const bfd_arch_info_type bfd_mt_arch;
|
extern const bfd_arch_info_type bfd_mt_arch;
|
extern const bfd_arch_info_type bfd_ns32k_arch;
|
extern const bfd_arch_info_type bfd_ns32k_arch;
|
extern const bfd_arch_info_type bfd_openrisc_arch;
|
|
extern const bfd_arch_info_type bfd_or32_arch;
|
extern const bfd_arch_info_type bfd_or32_arch;
|
extern const bfd_arch_info_type bfd_pdp11_arch;
|
extern const bfd_arch_info_type bfd_pdp11_arch;
|
extern const bfd_arch_info_type bfd_pj_arch;
|
extern const bfd_arch_info_type bfd_pj_arch;
|
|
extern const bfd_arch_info_type bfd_plugin_arch;
|
extern const bfd_arch_info_type bfd_powerpc_archs[];
|
extern const bfd_arch_info_type bfd_powerpc_archs[];
|
#define bfd_powerpc_arch bfd_powerpc_archs[0]
|
#define bfd_powerpc_arch bfd_powerpc_archs[0]
|
extern const bfd_arch_info_type bfd_rs6000_arch;
|
extern const bfd_arch_info_type bfd_rs6000_arch;
|
extern const bfd_arch_info_type bfd_s390_arch;
|
extern const bfd_arch_info_type bfd_s390_arch;
|
extern const bfd_arch_info_type bfd_score_arch;
|
extern const bfd_arch_info_type bfd_score_arch;
|
Line 496... |
Line 521... |
extern const bfd_arch_info_type bfd_tic4x_arch;
|
extern const bfd_arch_info_type bfd_tic4x_arch;
|
extern const bfd_arch_info_type bfd_tic54x_arch;
|
extern const bfd_arch_info_type bfd_tic54x_arch;
|
extern const bfd_arch_info_type bfd_tic80_arch;
|
extern const bfd_arch_info_type bfd_tic80_arch;
|
extern const bfd_arch_info_type bfd_v850_arch;
|
extern const bfd_arch_info_type bfd_v850_arch;
|
extern const bfd_arch_info_type bfd_vax_arch;
|
extern const bfd_arch_info_type bfd_vax_arch;
|
extern const bfd_arch_info_type bfd_we32k_arch;
|
|
extern const bfd_arch_info_type bfd_w65_arch;
|
extern const bfd_arch_info_type bfd_w65_arch;
|
|
extern const bfd_arch_info_type bfd_we32k_arch;
|
extern const bfd_arch_info_type bfd_xstormy16_arch;
|
extern const bfd_arch_info_type bfd_xstormy16_arch;
|
extern const bfd_arch_info_type bfd_xtensa_arch;
|
extern const bfd_arch_info_type bfd_xtensa_arch;
|
extern const bfd_arch_info_type bfd_xc16x_arch;
|
extern const bfd_arch_info_type bfd_xc16x_arch;
|
extern const bfd_arch_info_type bfd_z80_arch;
|
extern const bfd_arch_info_type bfd_z80_arch;
|
extern const bfd_arch_info_type bfd_z8k_arch;
|
extern const bfd_arch_info_type bfd_z8k_arch;
|
Line 533... |
Line 558... |
&bfd_i860_arch,
|
&bfd_i860_arch,
|
&bfd_i960_arch,
|
&bfd_i960_arch,
|
&bfd_ia64_arch,
|
&bfd_ia64_arch,
|
&bfd_ip2k_arch,
|
&bfd_ip2k_arch,
|
&bfd_iq2000_arch,
|
&bfd_iq2000_arch,
|
|
&bfd_l1om_arch,
|
|
&bfd_lm32_arch,
|
&bfd_m32c_arch,
|
&bfd_m32c_arch,
|
&bfd_m32r_arch,
|
&bfd_m32r_arch,
|
&bfd_m68hc11_arch,
|
&bfd_m68hc11_arch,
|
&bfd_m68hc12_arch,
|
&bfd_m68hc12_arch,
|
&bfd_m68k_arch,
|
&bfd_m68k_arch,
|
&bfd_m88k_arch,
|
&bfd_m88k_arch,
|
&bfd_maxq_arch,
|
&bfd_maxq_arch,
|
&bfd_mcore_arch,
|
&bfd_mcore_arch,
|
&bfd_mep_arch,
|
&bfd_mep_arch,
|
|
&bfd_microblaze_arch,
|
&bfd_mips_arch,
|
&bfd_mips_arch,
|
&bfd_mmix_arch,
|
&bfd_mmix_arch,
|
&bfd_mn10200_arch,
|
&bfd_mn10200_arch,
|
&bfd_mn10300_arch,
|
&bfd_mn10300_arch,
|
&bfd_mt_arch,
|
&bfd_moxie_arch,
|
&bfd_msp430_arch,
|
&bfd_msp430_arch,
|
|
&bfd_mt_arch,
|
&bfd_ns32k_arch,
|
&bfd_ns32k_arch,
|
&bfd_openrisc_arch,
|
|
&bfd_or32_arch,
|
&bfd_or32_arch,
|
&bfd_pdp11_arch,
|
&bfd_pdp11_arch,
|
&bfd_powerpc_arch,
|
&bfd_powerpc_arch,
|
&bfd_rs6000_arch,
|
&bfd_rs6000_arch,
|
&bfd_s390_arch,
|
&bfd_s390_arch,
|
Line 659... |
Line 687... |
vec_length++;
|
vec_length++;
|
}
|
}
|
}
|
}
|
|
|
amt = (vec_length + 1) * sizeof (char **);
|
amt = (vec_length + 1) * sizeof (char **);
|
name_list = bfd_malloc (amt);
|
name_list = (const char **) bfd_malloc (amt);
|
if (name_list == NULL)
|
if (name_list == NULL)
|
return NULL;
|
return NULL;
|
|
|
/* Point the list at each of the names. */
|
/* Point the list at each of the names. */
|
name_ptr = name_list;
|
name_ptr = name_list;
|