diff options
author | Nick Clifton <nickc@redhat.com> | 2002-02-06 16:29:28 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2002-02-06 16:29:28 +0000 |
commit | f13b834e1df61ca294988b9b0163d325d04e4ac6 (patch) | |
tree | 0b6939fc622e5d2645a851c7ff33a1295fa26507 | |
parent | 082fc60dfca102f95d73f123f43060f3f34c0ff6 (diff) | |
download | gdb-f13b834e1df61ca294988b9b0163d325d04e4ac6.zip gdb-f13b834e1df61ca294988b9b0163d325d04e4ac6.tar.gz gdb-f13b834e1df61ca294988b9b0163d325d04e4ac6.tar.bz2 |
Select the highest known ARM architecture when an F_ARM_5 flag is detected,
since we cannot be sure exactly which architecture this represents.
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/coffcode.h | 12 |
2 files changed, 15 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 71e5fbb..6f2764b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2002-02-06 Nick Clifton <nickc@cambridge.redhat.com> + + * coffcode.h (coff_set_arch_mach_hook): Select the highest known + ARM architecture when an F_ARM_5 flag is detected, since we cannot + be sure exactly which architecture this represents. + 2002-02-05 Nick Clifton <nickc@redhat.com> * po/tr.po: Updated translation. diff --git a/bfd/coffcode.h b/bfd/coffcode.h index 976efe1..f0a2c5e 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -1787,7 +1787,7 @@ coff_mkobject_hook (abfd, filehdr, aouthdr) #endif #ifdef ARM - /* Set the flags field from the COFF header read in */ + /* Set the flags field from the COFF header read in. */ if (! _bfd_coff_arm_set_private_flags (abfd, internal_f->f_flags)) coff->flags = 0; #endif @@ -1871,7 +1871,12 @@ coff_set_arch_mach_hook (abfd, filehdr) case F_ARM_3M: machine = bfd_mach_arm_3M; break; case F_ARM_4: machine = bfd_mach_arm_4; break; case F_ARM_4T: machine = bfd_mach_arm_4T; break; - case F_ARM_5: machine = bfd_mach_arm_5; break; + /* The COFF header does not have enough bits available + to cover all the different ARM architectures. So + we interpret F_ARM_5, the highest flag value to mean + "the highest ARM architecture known to BFD" which is + currently the XScale. */ + case F_ARM_5: machine = bfd_mach_arm_XScale; break; } break; #endif @@ -2624,7 +2629,8 @@ coff_set_flags (abfd, magicp, flagsp) case bfd_mach_arm_4: * flagsp |= F_ARM_4; break; case bfd_mach_arm_4T: * flagsp |= F_ARM_4T; break; case bfd_mach_arm_5: * flagsp |= F_ARM_5; break; - /* FIXME: we do not have F_ARM vaues greater than F_ARM_5. */ + /* FIXME: we do not have F_ARM vaues greater than F_ARM_5. + See also the comment in coff_set_arch_mach_hook(). */ case bfd_mach_arm_5T: * flagsp |= F_ARM_5; break; case bfd_mach_arm_5TE: * flagsp |= F_ARM_5; break; case bfd_mach_arm_XScale: * flagsp |= F_ARM_5; break; |