diff options
author | Tristan Gingold <gingold@adacore.com> | 2012-01-04 10:25:14 +0000 |
---|---|---|
committer | Tristan Gingold <gingold@adacore.com> | 2012-01-04 10:25:14 +0000 |
commit | 0b2de107050237af9ccb6a2bd59070e9ac336b96 (patch) | |
tree | ac9ca1654ef154d42d122a15e08a5c88d072e592 /bfd/mach-o.c | |
parent | aeefa1c9a50aac0036d605517255ef6d111d56f8 (diff) | |
download | gdb-0b2de107050237af9ccb6a2bd59070e9ac336b96.zip gdb-0b2de107050237af9ccb6a2bd59070e9ac336b96.tar.gz gdb-0b2de107050237af9ccb6a2bd59070e9ac336b96.tar.bz2 |
bfd/
2012-01-04 Tristan Gingold <gingold@adacore.com>
* mach-o.c (bfd_mach_o_convert_architecture): Reindent.
Decode msubtype for ARM.
include/mach-o/
2012-01-04 Tristan Gingold <gingold@adacore.com>
* loader.h: Update copyright year.
(bfd_mach_o_cpu_subtype): Add ARM subtypes.
Diffstat (limited to 'bfd/mach-o.c')
-rw-r--r-- | bfd/mach-o.c | 59 |
1 files changed, 49 insertions, 10 deletions
diff --git a/bfd/mach-o.c b/bfd/mach-o.c index ddc8944..a72cba0 100644 --- a/bfd/mach-o.c +++ b/bfd/mach-o.c @@ -821,7 +821,7 @@ bfd_mach_o_print_symbol (bfd *abfd, static void bfd_mach_o_convert_architecture (bfd_mach_o_cpu_type mtype, - bfd_mach_o_cpu_subtype msubtype ATTRIBUTE_UNUSED, + bfd_mach_o_cpu_subtype msubtype, enum bfd_architecture *type, unsigned long *subtype) { @@ -829,8 +829,12 @@ bfd_mach_o_convert_architecture (bfd_mach_o_cpu_type mtype, switch (mtype) { - case BFD_MACH_O_CPU_TYPE_VAX: *type = bfd_arch_vax; break; - case BFD_MACH_O_CPU_TYPE_MC680x0: *type = bfd_arch_m68k; break; + case BFD_MACH_O_CPU_TYPE_VAX: + *type = bfd_arch_vax; + break; + case BFD_MACH_O_CPU_TYPE_MC680x0: + *type = bfd_arch_m68k; + break; case BFD_MACH_O_CPU_TYPE_I386: *type = bfd_arch_i386; *subtype = bfd_mach_i386_i386; @@ -839,17 +843,52 @@ bfd_mach_o_convert_architecture (bfd_mach_o_cpu_type mtype, *type = bfd_arch_i386; *subtype = bfd_mach_x86_64; break; - case BFD_MACH_O_CPU_TYPE_MIPS: *type = bfd_arch_mips; break; - case BFD_MACH_O_CPU_TYPE_MC98000: *type = bfd_arch_m98k; break; - case BFD_MACH_O_CPU_TYPE_HPPA: *type = bfd_arch_hppa; break; - case BFD_MACH_O_CPU_TYPE_ARM: *type = bfd_arch_arm; break; - case BFD_MACH_O_CPU_TYPE_MC88000: *type = bfd_arch_m88k; break; + case BFD_MACH_O_CPU_TYPE_MIPS: + *type = bfd_arch_mips; + break; + case BFD_MACH_O_CPU_TYPE_MC98000: + *type = bfd_arch_m98k; + break; + case BFD_MACH_O_CPU_TYPE_HPPA: + *type = bfd_arch_hppa; + break; + case BFD_MACH_O_CPU_TYPE_ARM: + *type = bfd_arch_arm; + switch (msubtype) + { + case BFD_MACH_O_CPU_SUBTYPE_ARM_V4T: + *subtype = bfd_mach_arm_4T; + break; + case BFD_MACH_O_CPU_SUBTYPE_ARM_V6: + *subtype = bfd_mach_arm_4T; /* Best fit ? */ + break; + case BFD_MACH_O_CPU_SUBTYPE_ARM_V5TEJ: + *subtype = bfd_mach_arm_5TE; + break; + case BFD_MACH_O_CPU_SUBTYPE_ARM_XSCALE: + *subtype = bfd_mach_arm_XScale; + break; + case BFD_MACH_O_CPU_SUBTYPE_ARM_V7: + *subtype = bfd_mach_arm_5TE; /* Best fit ? */ + break; + case BFD_MACH_O_CPU_SUBTYPE_ARM_ALL: + default: + break; + } + break; + case BFD_MACH_O_CPU_TYPE_MC88000: + *type = bfd_arch_m88k; + break; case BFD_MACH_O_CPU_TYPE_SPARC: *type = bfd_arch_sparc; *subtype = bfd_mach_sparc; break; - case BFD_MACH_O_CPU_TYPE_I860: *type = bfd_arch_i860; break; - case BFD_MACH_O_CPU_TYPE_ALPHA: *type = bfd_arch_alpha; break; + case BFD_MACH_O_CPU_TYPE_I860: + *type = bfd_arch_i860; + break; + case BFD_MACH_O_CPU_TYPE_ALPHA: + *type = bfd_arch_alpha; + break; case BFD_MACH_O_CPU_TYPE_POWERPC: *type = bfd_arch_powerpc; *subtype = bfd_mach_ppc; |