aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Thomas <matt@3am-software.com>2007-04-06 16:29:32 +0000
committerMatt Thomas <matt@3am-software.com>2007-04-06 16:29:32 +0000
commitda6bcfca9535fb9680fd738207da6c58e0e898bc (patch)
tree9b3122361334f61ea912f5852cbe141af40e01c9
parent5ad507eea30369c8bd106a793749bb0534353d8f (diff)
downloadgdb-da6bcfca9535fb9680fd738207da6c58e0e898bc.zip
gdb-da6bcfca9535fb9680fd738207da6c58e0e898bc.tar.gz
gdb-da6bcfca9535fb9680fd738207da6c58e0e898bc.tar.bz2
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.
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elf32-vax.c5
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;