This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Fix hppa64 simple objcopy testsuite failure.
- To: binutils at sourceware dot cygnus dot com
- Subject: Fix hppa64 simple objcopy testsuite failure.
- From: Alan Modra <alan at linuxcare dot com dot au>
- Date: Wed, 31 Jan 2001 00:47:25 +1100 (EST)
hppa64 was failing the binutils testsuite because gas produced a file with
flags indicating a pa10 binary, which objcopy changed to pa25.
bfd/ChangeLog
(elf64_hppa_object_p): Set architecture and machine from elf
header flags.
I'll commit this in the morning to give anyone time to object.
Alan Modra
--
Linuxcare. Support for the Revolution.
Index: bfd/elf64-hppa.c
===================================================================
RCS file: /cvs/src/src/bfd/elf64-hppa.c,v
retrieving revision 1.10
diff -u -p -r1.10 elf64-hppa.c
--- elf64-hppa.c 2001/01/14 11:12:52 1.10
+++ elf64-hppa.c 2001/01/30 12:43:44
@@ -355,8 +358,21 @@ static boolean
elf64_hppa_object_p (abfd)
bfd *abfd;
{
- /* Set the right machine number for an HPPA ELF file. */
- return bfd_default_set_arch_mach (abfd, bfd_arch_hppa, 25);
+ unsigned int flags = elf_elfheader (abfd)->e_flags;
+
+ switch (flags & (EF_PARISC_ARCH | EF_PARISC_WIDE))
+ {
+ case EFA_PARISC_1_0:
+ return bfd_default_set_arch_mach (abfd, bfd_arch_hppa, 10);
+ case EFA_PARISC_1_1:
+ return bfd_default_set_arch_mach (abfd, bfd_arch_hppa, 11);
+ case EFA_PARISC_2_0:
+ return bfd_default_set_arch_mach (abfd, bfd_arch_hppa, 20);
+ case EFA_PARISC_2_0 | EF_PARISC_WIDE:
+ return bfd_default_set_arch_mach (abfd, bfd_arch_hppa, 25);
+ }
+ /* Don't be fussy. */
+ return true;
}
/* Given section type (hdr->sh_type), return a boolean indicating