2007-04-03 Matt Thomas <matt@netbsd.org>
authorMatt Thomas <matt@3am-software.com>
Fri, 6 Apr 2007 16:29:32 +0000 (16:29 +0000)
committerMatt Thomas <matt@3am-software.com>
Fri, 6 Apr 2007 16:29:32 +0000 (16:29 +0000)
* elf32-vax.c (elf_vax_relocate_section): Do not emit a PCREL reloc
in a shared object if it is not in a CODE section or if it is against
a section symbol.  This allows DWARF2 to use pcrel format.

bfd/ChangeLog
bfd/elf32-vax.c

index 813c13dcaae727d68bfe22345a529e9172d675e0..cfaa72ffb62ec9a39b5a83b2a82d9ec91e8059db 100644 (file)
@@ -1,3 +1,9 @@
+2007-04-03  Matt Thomas  <matt@netbsd.org>
+
+       * elf32-vax.c (elf_vax_relocate_section): Do not emit a PCREL reloc 
+       in a shared object if it is not in a CODE section or if it is against
+       a section symbol.  This allows DWARF2 to use pcrel format.
+
 2007-04-05  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR ld/4304
index fce01e21579a0120061d685e00729104104ae844..7df71655b7b2dec8795ff400ddcc19ff2db98645 100644 (file)
@@ -1625,8 +1625,9 @@ elf_vax_relocate_section (bfd *output_bfd,
              && ((r_type != R_VAX_PC8
                   && r_type != R_VAX_PC16
                   && r_type != R_VAX_PC32)
-                 || (!info->symbolic
-                     || !h->def_regular)))
+                 || ((input_section->flags & SEC_CODE)
+                     && (!info->symbolic
+                         || (!h->def_regular && h->type != STT_SECTION)))))
            {
              Elf_Internal_Rela outrel;
              bfd_byte *loc;