bfd/
authorRichard Sandiford <rdsandiford@googlemail.com>
Fri, 30 Nov 2007 09:01:35 +0000 (09:01 +0000)
committerRichard Sandiford <rdsandiford@googlemail.com>
Fri, 30 Nov 2007 09:01:35 +0000 (09:01 +0000)
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use the
ELF header to choose between 32-bit and 64-bit relocation structures.

bfd/ChangeLog
bfd/elf-eh-frame.c

index 87fc635..c10e1a5 100644 (file)
@@ -1,3 +1,8 @@
+2007-11-30  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use the
+       ELF header to choose between 32-bit and 64-bit relocation structures.
+
 2007-11-29  Mark Shinwell  <shinwell@codesourcery.com>
 
        * archures.c (bfd_mach_mips_loongson_2e): New.
index 473e890..db1b9ea 100644 (file)
@@ -683,7 +683,8 @@ _bfd_elf_discard_section_eh_frame
                          unsigned long r_symndx;
 
 #ifdef BFD64
-                         if (ptr_size == 8)
+                         if (elf_elfheader (abfd)->e_ident[EI_CLASS]
+                             == ELFCLASS64)
                            r_symndx = ELF64_R_SYM (cookie->rel->r_info);
                          else
 #endif