diff options
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf32-vax.c | 5 |
2 files changed, 9 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 813c13d..cfaa72f 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -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 diff --git a/bfd/elf32-vax.c b/bfd/elf32-vax.c index fce01e2..7df7165 100644 --- a/bfd/elf32-vax.c +++ b/bfd/elf32-vax.c @@ -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; |