projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Contribute sh64-elf.
[deliverable/binutils-gdb.git]
/
bfd
/
archures.c
diff --git
a/bfd/archures.c
b/bfd/archures.c
index 5bc744a6f6d371641bc7e22d979493133e3224ae..1caac7ff1490aeed71e868e8c6eda776e14a8658 100644
(file)
--- a/
bfd/archures.c
+++ b/
bfd/archures.c
@@
-1,5
+1,6
@@
/* BFD library support routines for architectures.
/* BFD library support routines for architectures.
- Copyright (C) 1990, 91, 92, 93, 94, 95, 96, 97, 98, 1999, 2000
+ Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ 2000, 2001, 2002
Free Software Foundation, Inc.
Hacked by John Gilmore and Steve Chamberlain of Cygnus Support.
Free Software Foundation, Inc.
Hacked by John Gilmore and Steve Chamberlain of Cygnus Support.
@@
-22,7
+23,7
@@
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "bfd.h"
#include "sysdep.h"
#include "libbfd.h"
#include "bfd.h"
#include "sysdep.h"
#include "libbfd.h"
-#include
<ctype.h>
+#include
"safe-ctype.h"
/*
/*
@@
-68,8
+69,8
@@
DESCRIPTION
.enum bfd_architecture
.{
.enum bfd_architecture
.{
-. bfd_arch_unknown, {* File arch not known *}
-. bfd_arch_obscure, {* Arch known, not one of these *}
+. bfd_arch_unknown, {* File arch not known
.
*}
+. bfd_arch_obscure, {* Arch known, not one of these
.
*}
. bfd_arch_m68k, {* Motorola 68xxx *}
.#define bfd_mach_m68000 1
.#define bfd_mach_m68008 2
. bfd_arch_m68k, {* Motorola 68xxx *}
.#define bfd_mach_m68000 1
.#define bfd_mach_m68008 2
@@
-79,6
+80,10
@@
DESCRIPTION
.#define bfd_mach_m68040 6
.#define bfd_mach_m68060 7
.#define bfd_mach_cpu32 8
.#define bfd_mach_m68040 6
.#define bfd_mach_m68060 7
.#define bfd_mach_cpu32 8
+.#define bfd_mach_mcf5200 9
+.#define bfd_mach_mcf5206e 10
+.#define bfd_mach_mcf5307 11
+.#define bfd_mach_mcf5407 12
. bfd_arch_vax, {* DEC Vax *}
. bfd_arch_i960, {* Intel 960 *}
. {* The order of the following is important.
. bfd_arch_vax, {* DEC Vax *}
. bfd_arch_i960, {* Intel 960 *}
. {* The order of the following is important.
@@
-87,7
+92,7
@@
DESCRIPTION
. available to machines with higher numbers.
. The exception is the "ca", which is
. incompatible with all other machines except
. available to machines with higher numbers.
. The exception is the "ca", which is
. incompatible with all other machines except
-. "core". *}
+. "core".
*}
.
.#define bfd_mach_i960_core 1
.#define bfd_mach_i960_ka_sa 2
.
.#define bfd_mach_i960_core 1
.#define bfd_mach_i960_ka_sa 2
@@
-98,6
+103,8
@@
DESCRIPTION
.#define bfd_mach_i960_jx 7
.#define bfd_mach_i960_hx 8
.
.#define bfd_mach_i960_jx 7
.#define bfd_mach_i960_hx 8
.
+. bfd_arch_or32, {* OpenRISC 32 *}
+.
. bfd_arch_a29k, {* AMD 29000 *}
. bfd_arch_sparc, {* SPARC *}
.#define bfd_mach_sparc 1
. bfd_arch_a29k, {* AMD 29000 *}
. bfd_arch_sparc, {* SPARC *}
.#define bfd_mach_sparc 1
@@
-105,12
+112,12
@@
DESCRIPTION
.#define bfd_mach_sparc_sparclet 2
.#define bfd_mach_sparc_sparclite 3
.#define bfd_mach_sparc_v8plus 4
.#define bfd_mach_sparc_sparclet 2
.#define bfd_mach_sparc_sparclite 3
.#define bfd_mach_sparc_v8plus 4
-.#define bfd_mach_sparc_v8plusa 5 {* with ultrasparc add'ns *}
+.#define bfd_mach_sparc_v8plusa 5 {* with ultrasparc add'ns
.
*}
.#define bfd_mach_sparc_sparclite_le 6
.#define bfd_mach_sparc_v9 7
.#define bfd_mach_sparc_sparclite_le 6
.#define bfd_mach_sparc_v9 7
-.#define bfd_mach_sparc_v9a 8 {* with ultrasparc add'ns *}
-.#define bfd_mach_sparc_v8plusb 9 {* with cheetah add'ns *}
-.#define bfd_mach_sparc_v9b 10 {* with cheetah add'ns *}
+.#define bfd_mach_sparc_v9a 8 {* with ultrasparc add'ns
.
*}
+.#define bfd_mach_sparc_v8plusb 9 {* with cheetah add'ns
.
*}
+.#define bfd_mach_sparc_v9b 10 {* with cheetah add'ns
.
*}
.{* Nonzero if MACH has the v9 instruction set. *}
.#define bfd_mach_sparc_v9_p(mach) \
. ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9b \
.{* Nonzero if MACH has the v9 instruction set. *}
.#define bfd_mach_sparc_v9_p(mach) \
. ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9b \
@@
-130,12
+137,12
@@
DESCRIPTION
.#define bfd_mach_mips6000 6000
.#define bfd_mach_mips8000 8000
.#define bfd_mach_mips10000 10000
.#define bfd_mach_mips6000 6000
.#define bfd_mach_mips8000 8000
.#define bfd_mach_mips10000 10000
+.#define bfd_mach_mips12000 12000
.#define bfd_mach_mips16 16
.#define bfd_mach_mips16 16
-.#define bfd_mach_mips32 32
-.#define bfd_mach_mips32_4k 3204113 {* 32, 04, octal 'K' *}
.#define bfd_mach_mips5 5
.#define bfd_mach_mips5 5
-.#define bfd_mach_mips64 64
.#define bfd_mach_mips_sb1 12310201 {* octal 'SB', 01 *}
.#define bfd_mach_mips_sb1 12310201 {* octal 'SB', 01 *}
+.#define bfd_mach_mipsisa32 32
+.#define bfd_mach_mipsisa64 64
. bfd_arch_i386, {* Intel 386 *}
.#define bfd_mach_i386_i386 0
.#define bfd_mach_i386_i8086 1
. bfd_arch_i386, {* Intel 386 *}
.#define bfd_mach_i386_i386 0
.#define bfd_mach_i386_i8086 1
@@
-155,8
+162,10
@@
DESCRIPTION
.#define bfd_mach_h8300 1
.#define bfd_mach_h8300h 2
.#define bfd_mach_h8300s 3
.#define bfd_mach_h8300 1
.#define bfd_mach_h8300h 2
.#define bfd_mach_h8300s 3
+. bfd_arch_pdp11, {* DEC PDP-11 *}
. bfd_arch_powerpc, {* PowerPC *}
.#define bfd_mach_ppc 0
. bfd_arch_powerpc, {* PowerPC *}
.#define bfd_mach_ppc 0
+.#define bfd_mach_ppc64 1
.#define bfd_mach_ppc_403 403
.#define bfd_mach_ppc_403gc 4030
.#define bfd_mach_ppc_505 505
.#define bfd_mach_ppc_403 403
.#define bfd_mach_ppc_403gc 4030
.#define bfd_mach_ppc_505 505
@@
-198,11
+207,12
@@
DESCRIPTION
.#define bfd_mach_sh3_dsp 0x3d
.#define bfd_mach_sh3e 0x3e
.#define bfd_mach_sh4 0x40
.#define bfd_mach_sh3_dsp 0x3d
.#define bfd_mach_sh3e 0x3e
.#define bfd_mach_sh4 0x40
+.#define bfd_mach_sh5 0x50
. bfd_arch_alpha, {* Dec Alpha *}
.#define bfd_mach_alpha_ev4 0x10
.#define bfd_mach_alpha_ev5 0x20
.#define bfd_mach_alpha_ev6 0x30
. bfd_arch_alpha, {* Dec Alpha *}
.#define bfd_mach_alpha_ev4 0x10
.#define bfd_mach_alpha_ev5 0x20
.#define bfd_mach_alpha_ev6 0x30
-. bfd_arch_arm, {* Advanced Risc Machines ARM *}
+. bfd_arch_arm, {* Advanced Risc Machines ARM
.
*}
.#define bfd_mach_arm_2 1
.#define bfd_mach_arm_2a 2
.#define bfd_mach_arm_3 3
.#define bfd_mach_arm_2 1
.#define bfd_mach_arm_2a 2
.#define bfd_mach_arm_3 3
@@
-222,10
+232,13
@@
DESCRIPTION
.#define bfd_mach_v850 0
.#define bfd_mach_v850e 'E'
.#define bfd_mach_v850ea 'A'
.#define bfd_mach_v850 0
.#define bfd_mach_v850e 'E'
.#define bfd_mach_v850ea 'A'
-. bfd_arch_arc, {* Argonaut RISC Core *}
-.#define bfd_mach_arc_base 0
+. bfd_arch_arc, {* ARC Cores *}
+.#define bfd_mach_arc_5 0
+.#define bfd_mach_arc_6 1
+.#define bfd_mach_arc_7 2
+.#define bfd_mach_arc_8 3
. bfd_arch_m32r, {* Mitsubishi M32R/D *}
. bfd_arch_m32r, {* Mitsubishi M32R/D *}
-.#define bfd_mach_m32r 0 {*
backwards compatibility
*}
+.#define bfd_mach_m32r 0 {*
For backwards compatibility.
*}
.#define bfd_mach_m32rx 'x'
. bfd_arch_mn10200, {* Matsushita MN10200 *}
. bfd_arch_mn10300, {* Matsushita MN10300 *}
.#define bfd_mach_m32rx 'x'
. bfd_arch_mn10200, {* Matsushita MN10200 *}
. bfd_arch_mn10300, {* Matsushita MN10300 *}
@@
-238,13
+251,20
@@
DESCRIPTION
.#define bfd_mach_ia64_elf64 0
.#define bfd_mach_ia64_elf32 1
. bfd_arch_pj,
.#define bfd_mach_ia64_elf64 0
.#define bfd_mach_ia64_elf32 1
. bfd_arch_pj,
-. bfd_arch_avr, {* Atmel AVR microcontrollers *}
+. bfd_arch_avr, {* Atmel AVR microcontrollers
.
*}
.#define bfd_mach_avr1 1
.#define bfd_mach_avr2 2
.#define bfd_mach_avr3 3
.#define bfd_mach_avr4 4
.#define bfd_mach_avr5 5
. bfd_arch_cris, {* Axis CRIS *}
.#define bfd_mach_avr1 1
.#define bfd_mach_avr2 2
.#define bfd_mach_avr3 3
.#define bfd_mach_avr4 4
.#define bfd_mach_avr5 5
. bfd_arch_cris, {* Axis CRIS *}
+. bfd_arch_s390, {* IBM s390 *}
+.#define bfd_mach_s390_esa 0
+.#define bfd_mach_s390_esame 1
+. bfd_arch_openrisc, {* OpenRISC *}
+. bfd_arch_mmix, {* Donald Knuth's educational processor. *}
+. bfd_arch_xstormy16,
+.#define bfd_mach_xstormy16 0
. bfd_arch_last
. };
*/
. bfd_arch_last
. };
*/
@@
-277,16
+297,20
@@
DESCRIPTION
. boolean (*scan) PARAMS ((const struct bfd_arch_info *, const char *));
.
. const struct bfd_arch_info *next;
. boolean (*scan) PARAMS ((const struct bfd_arch_info *, const char *));
.
. const struct bfd_arch_info *next;
-.} bfd_arch_info_type;
+.}
+.bfd_arch_info_type;
+.
*/
extern const bfd_arch_info_type bfd_a29k_arch;
extern const bfd_arch_info_type bfd_alpha_arch;
extern const bfd_arch_info_type bfd_arc_arch;
extern const bfd_arch_info_type bfd_arm_arch;
*/
extern const bfd_arch_info_type bfd_a29k_arch;
extern const bfd_arch_info_type bfd_alpha_arch;
extern const bfd_arch_info_type bfd_arc_arch;
extern const bfd_arch_info_type bfd_arm_arch;
+extern const bfd_arch_info_type bfd_avr_arch;
extern const bfd_arch_info_type bfd_cris_arch;
extern const bfd_arch_info_type bfd_d10v_arch;
extern const bfd_arch_info_type bfd_d30v_arch;
extern const bfd_arch_info_type bfd_cris_arch;
extern const bfd_arch_info_type bfd_d10v_arch;
extern const bfd_arch_info_type bfd_d30v_arch;
+extern const bfd_arch_info_type bfd_fr30_arch;
extern const bfd_arch_info_type bfd_h8300_arch;
extern const bfd_arch_info_type bfd_h8500_arch;
extern const bfd_arch_info_type bfd_hppa_arch;
extern const bfd_arch_info_type bfd_h8300_arch;
extern const bfd_arch_info_type bfd_h8500_arch;
extern const bfd_arch_info_type bfd_hppa_arch;
@@
-294,76
+318,88
@@
extern const bfd_arch_info_type bfd_i370_arch;
extern const bfd_arch_info_type bfd_i386_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_i386_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_ia64_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_m68hc12_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_m32r_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_m68k_arch;
extern const bfd_arch_info_type bfd_m88k_arch;
+extern const bfd_arch_info_type bfd_mcore_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_mmix_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_mn10200_arch;
extern const bfd_arch_info_type bfd_mn10300_arch;
-extern const bfd_arch_info_type bfd_powerpc_arch;
-extern const bfd_arch_info_type bfd_rs6000_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_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_powerpc_archs[];
+#define bfd_powerpc_arch bfd_powerpc_archs[0]
+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_sh_arch;
extern const bfd_arch_info_type bfd_sparc_arch;
extern const bfd_arch_info_type bfd_tic30_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_sh_arch;
extern const bfd_arch_info_type bfd_sparc_arch;
extern const bfd_arch_info_type bfd_tic30_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_v850_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_vax_arch;
extern const bfd_arch_info_type bfd_we32k_arch;
-extern const bfd_arch_info_type bfd_z8k_arch;
-extern const bfd_arch_info_type bfd_ns32k_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_v850_arch;
-extern const bfd_arch_info_type bfd_fr30_arch;
-extern const bfd_arch_info_type bfd_mcore_arch;
-extern const bfd_arch_info_type bfd_avr_arch;
-extern const bfd_arch_info_type bfd_ia64_arch;
+extern const bfd_arch_info_type bfd_xstormy16_arch;
+extern const bfd_arch_info_type bfd_z8k_arch;
-static const bfd_arch_info_type * const bfd_archures_list[] = {
+static const bfd_arch_info_type * const bfd_archures_list[] =
+ {
#ifdef SELECT_ARCHITECTURES
#ifdef SELECT_ARCHITECTURES
- SELECT_ARCHITECTURES,
+
SELECT_ARCHITECTURES,
#else
#else
- &bfd_a29k_arch,
- &bfd_alpha_arch,
- &bfd_arc_arch,
- &bfd_arm_arch,
- &bfd_cris_arch,
- &bfd_d10v_arch,
- &bfd_d30v_arch,
- &bfd_h8300_arch,
- &bfd_h8500_arch,
- &bfd_hppa_arch,
- &bfd_i370_arch,
- &bfd_i386_arch,
- &bfd_i860_arch,
- &bfd_i960_arch,
- &bfd_m32r_arch,
- &bfd_m68hc11_arch,
- &bfd_m68hc12_arch,
- &bfd_m68k_arch,
- &bfd_m88k_arch,
- &bfd_mips_arch,
- &bfd_mn10200_arch,
- &bfd_mn10300_arch,
- &bfd_powerpc_arch,
- &bfd_rs6000_arch,
- &bfd_sh_arch,
- &bfd_sparc_arch,
- &bfd_tic30_arch,
- &bfd_tic54x_arch,
- &bfd_tic80_arch,
- &bfd_vax_arch,
- &bfd_we32k_arch,
- &bfd_z8k_arch,
- &bfd_ns32k_arch,
- &bfd_w65_arch,
- &bfd_v850_arch,
- &bfd_fr30_arch,
- &bfd_mcore_arch,
- &bfd_avr_arch,
- &bfd_ia64_arch,
+ &bfd_a29k_arch,
+ &bfd_alpha_arch,
+ &bfd_arc_arch,
+ &bfd_arm_arch,
+ &bfd_avr_arch,
+ &bfd_cris_arch,
+ &bfd_d10v_arch,
+ &bfd_d30v_arch,
+ &bfd_fr30_arch,
+ &bfd_h8300_arch,
+ &bfd_h8500_arch,
+ &bfd_hppa_arch,
+ &bfd_i370_arch,
+ &bfd_i386_arch,
+ &bfd_i860_arch,
+ &bfd_i960_arch,
+ &bfd_ia64_arch,
+ &bfd_m32r_arch,
+ &bfd_m68hc11_arch,
+ &bfd_m68hc12_arch,
+ &bfd_m68k_arch,
+ &bfd_m88k_arch,
+ &bfd_mcore_arch,
+ &bfd_mips_arch,
+ &bfd_mmix_arch,
+ &bfd_mn10200_arch,
+ &bfd_mn10300_arch,
+ &bfd_ns32k_arch,
+ &bfd_openrisc_arch,
+ &bfd_or32_arch,
+ &bfd_pdp11_arch,
+ &bfd_powerpc_arch,
+ &bfd_rs6000_arch,
+ &bfd_s390_arch,
+ &bfd_sh_arch,
+ &bfd_sparc_arch,
+ &bfd_tic30_arch,
+ &bfd_tic54x_arch,
+ &bfd_tic80_arch,
+ &bfd_v850_arch,
+ &bfd_vax_arch,
+ &bfd_w65_arch,
+ &bfd_we32k_arch,
+ &bfd_xstormy16_arch,
+ &bfd_z8k_arch,
#endif
0
};
#endif
0
};
@@
-439,6
+475,7
@@
bfd_arch_list ()
const char **name_ptr;
const char **name_list;
const bfd_arch_info_type * const *app;
const char **name_ptr;
const char **name_list;
const bfd_arch_info_type * const *app;
+ bfd_size_type amt;
/* Determine the number of architectures. */
vec_length = 0;
/* Determine the number of architectures. */
vec_length = 0;
@@
-451,8
+488,8
@@
bfd_arch_list ()
}
}
}
}
- name_list = (const char **)
-
bfd_malloc ((vec_length + 1) * sizeof (char **)
);
+ amt = (vec_length + 1) * sizeof (char **);
+
name_list = (const char **) bfd_malloc (amt
);
if (name_list == NULL)
return NULL;
if (name_list == NULL)
return NULL;
@@
-708,7
+745,7
@@
DESCRIPTION
boolean
bfd_default_scan (info, string)
boolean
bfd_default_scan (info, string)
- const
struct bfd_arch_info
*info;
+ const
bfd_arch_info_type
*info;
const char *string;
{
const char *ptr_src;
const char *string;
{
const char *ptr_src;
@@
-732,7
+769,7
@@
bfd_default_scan (info, string)
printable_name_colon = strchr (info->printable_name, ':');
if (printable_name_colon == NULL)
{
printable_name_colon = strchr (info->printable_name, ':');
if (printable_name_colon == NULL)
{
-
in
t strlen_arch_name = strlen (info->arch_name);
+
size_
t strlen_arch_name = strlen (info->arch_name);
if (strncasecmp (string, info->arch_name, strlen_arch_name) == 0)
{
if (string[strlen_arch_name] == ':')
if (strncasecmp (string, info->arch_name, strlen_arch_name) == 0)
{
if (string[strlen_arch_name] == ':')
@@
-754,7
+791,7
@@
bfd_default_scan (info, string)
Attempt to match: <arch> <mach>? */
if (printable_name_colon != NULL)
{
Attempt to match: <arch> <mach>? */
if (printable_name_colon != NULL)
{
-
in
t colon_index = printable_name_colon - info->printable_name;
+
size_
t colon_index = printable_name_colon - info->printable_name;
if (strncasecmp (string, info->printable_name, colon_index) == 0
&& strcasecmp (string + colon_index,
info->printable_name + colon_index + 1) == 0)
if (strncasecmp (string, info->printable_name, colon_index) == 0
&& strcasecmp (string + colon_index,
info->printable_name + colon_index + 1) == 0)
@@
-793,7
+830,7
@@
bfd_default_scan (info, string)
}
number = 0;
}
number = 0;
- while (
isdigit ((unsigned char)
*ptr_src))
+ while (
ISDIGIT (
*ptr_src))
{
number = number * 10 + *ptr_src - '0';
ptr_src++;
{
number = number * 10 + *ptr_src - '0';
ptr_src++;
@@
-845,6
+882,22
@@
bfd_default_scan (info, string)
arch = bfd_arch_m68k;
number = bfd_mach_cpu32;
break;
arch = bfd_arch_m68k;
number = bfd_mach_cpu32;
break;
+ case 5200:
+ arch = bfd_arch_m68k;
+ number = bfd_mach_mcf5200;
+ break;
+ case 5206:
+ arch = bfd_arch_m68k;
+ number = bfd_mach_mcf5206e;
+ break;
+ case 5307:
+ arch = bfd_arch_m68k;
+ number = bfd_mach_mcf5307;
+ break;
+ case 5407:
+ arch = bfd_arch_m68k;
+ number = bfd_mach_mcf5407;
+ break;
case 32000:
arch = bfd_arch_we32k;
case 32000:
arch = bfd_arch_we32k;
This page took
0.02903 seconds
and
4
git commands to generate.