diff options
author | Jakub Jelinek <jakub@redhat.com> | 2004-07-30 10:08:00 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2004-07-30 10:08:00 +0000 |
commit | 7946e94a55158e8100d029a5ee9825f35e82e422 (patch) | |
tree | 4986cf72c6d9bf50b21375e777755a98210cab08 | |
parent | ff636ee388a8727b9b3393d67a2f1e13d7343839 (diff) | |
download | fsf-binutils-gdb-7946e94a55158e8100d029a5ee9825f35e82e422.zip fsf-binutils-gdb-7946e94a55158e8100d029a5ee9825f35e82e422.tar.gz fsf-binutils-gdb-7946e94a55158e8100d029a5ee9825f35e82e422.tar.bz2 |
* archures.c (bfd_mach_sparc_64bit_p): Define.
* elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Use it.
* bfd-in2.h: Rebuilt.
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/archures.c | 3 | ||||
-rw-r--r-- | bfd/bfd-in2.h | 3 | ||||
-rw-r--r-- | bfd/elf32-sparc.c | 8 |
4 files changed, 17 insertions, 3 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index fc1aaff..2a71738 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2004-07-30 Jakub Jelinek <jakub@redhat.com> + + * archures.c (bfd_mach_sparc_64bit_p): Define. + * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Use it. + * bfd-in2.h: Rebuilt. + 2004-07-29 Alexandre Oliva <aoliva@redhat.com> Introduce SH2a support. diff --git a/bfd/archures.c b/bfd/archures.c index fd34ab6..4904b62 100644 --- a/bfd/archures.c +++ b/bfd/archures.c @@ -128,6 +128,9 @@ DESCRIPTION .#define bfd_mach_sparc_v9_p(mach) \ . ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9b \ . && (mach) != bfd_mach_sparc_sparclite_le) +.{* Nonzero if MACH is a 64 bit sparc architecture. *} +.#define bfd_mach_sparc_64bit_p(mach) \ +. ((mach) >= bfd_mach_sparc_v9 && (mach) != bfd_mach_sparc_v8plusb) . bfd_arch_mips, {* MIPS Rxxxx *} .#define bfd_mach_mips3000 3000 .#define bfd_mach_mips3900 3900 diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index e693f23..8f5d59b 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -1576,6 +1576,9 @@ enum bfd_architecture #define bfd_mach_sparc_v9_p(mach) \ ((mach) >= bfd_mach_sparc_v8plus && (mach) <= bfd_mach_sparc_v9b \ && (mach) != bfd_mach_sparc_sparclite_le) +/* Nonzero if MACH is a 64 bit sparc architecture. */ +#define bfd_mach_sparc_64bit_p(mach) \ + ((mach) >= bfd_mach_sparc_v9 && (mach) != bfd_mach_sparc_v8plusb) bfd_arch_mips, /* MIPS Rxxxx */ #define bfd_mach_mips3000 3000 #define bfd_mach_mips3900 3900 diff --git a/bfd/elf32-sparc.c b/bfd/elf32-sparc.c index 15868eb..d87ff7a 100644 --- a/bfd/elf32-sparc.c +++ b/bfd/elf32-sparc.c @@ -3303,6 +3303,7 @@ elf32_sparc_merge_private_bfd_data (ibfd, obfd) bfd *obfd; { bfd_boolean error; + unsigned long ibfd_mach; /* FIXME: This should not be static. */ static unsigned long previous_ibfd_e_flags = (unsigned long) -1; @@ -3312,7 +3313,8 @@ elf32_sparc_merge_private_bfd_data (ibfd, obfd) error = FALSE; - if (bfd_get_mach (ibfd) >= bfd_mach_sparc_v9) + ibfd_mach = bfd_get_mach (ibfd); + if (bfd_mach_sparc_64bit_p (ibfd_mach)) { error = TRUE; (*_bfd_error_handler) @@ -3321,8 +3323,8 @@ elf32_sparc_merge_private_bfd_data (ibfd, obfd) } else if ((ibfd->flags & DYNAMIC) == 0) { - if (bfd_get_mach (obfd) < bfd_get_mach (ibfd)) - bfd_set_arch_mach (obfd, bfd_arch_sparc, bfd_get_mach (ibfd)); + if (bfd_get_mach (obfd) < ibfd_mach) + bfd_set_arch_mach (obfd, bfd_arch_sparc, ibfd_mach); } if (((elf_elfheader (ibfd)->e_flags & EF_SPARC_LEDATA) |