* archures.c (bfd_mach_sparc_64bit_p): Define.

* elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Use it.
	* bfd-in2.h: Rebuilt.
This commit is contained in:
Jakub Jelinek 2004-07-30 10:08:00 +00:00
parent ff636ee388
commit 7946e94a55
4 changed files with 17 additions and 3 deletions

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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)