diff options
author | Nick Clifton <nickc@redhat.com> | 2008-11-19 09:25:56 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2008-11-19 09:25:56 +0000 |
commit | af1fb11f4b61d683484fdeff07b4f6034c302a71 (patch) | |
tree | eb4df5a2d6c326d5db79978d7837e3a4c1eb4ed5 /bfd | |
parent | 4b1824c64a846b8bd55c0a2cf5061f58c6786ff7 (diff) | |
download | gdb-af1fb11f4b61d683484fdeff07b4f6034c302a71.zip gdb-af1fb11f4b61d683484fdeff07b4f6034c302a71.tar.gz gdb-af1fb11f4b61d683484fdeff07b4f6034c302a71.tar.bz2 |
PR 7027
* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Treat WPLT30 relocs
against local symbols in 64-bit binaries as if they were WDISP30
relocs.
(_bfd_sparc_elf_relocate_section): Likewise.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 8 | ||||
-rw-r--r-- | bfd/elfxx-sparc.c | 6 |
2 files changed, 14 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index bc22555..dfbf47a 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,11 @@ +2008-11-19 Nick Clifton <nickc@redhat.com> + + PR 7027 + * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Treat WPLT30 relocs + against local symbols in 64-bit binaries as if they were WDISP30 + relocs. + (_bfd_sparc_elf_relocate_section): Likewise. + 2008-11-18 Catherine Moore <clm@codesourcery.com> * elf32-arm.c (elf32_arm_merge_eabi_attributes): Merge diff --git a/bfd/elfxx-sparc.c b/bfd/elfxx-sparc.c index 7b81555..83d26b0 100644 --- a/bfd/elfxx-sparc.c +++ b/bfd/elfxx-sparc.c @@ -1329,6 +1329,9 @@ _bfd_sparc_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, goto r_sparc_plt32; break; } + /* PR 7027: We need similar behaviour for 64-bit binaries. */ + else if (r_type == R_SPARC_WPLT30) + break; /* It does not make sense to have a procedure linkage table entry for a local symbol. */ @@ -2760,6 +2763,9 @@ _bfd_sparc_elf_relocate_section (bfd *output_bfd, if (h == NULL) break; } + /* PR 7027: We need similar behaviour for 64-bit binaries. */ + else if (r_type == R_SPARC_WPLT30 && h == NULL) + break; else { BFD_ASSERT (h != NULL); |