diff options
-rw-r--r-- | bfd/ChangeLog | 7 | ||||
-rw-r--r-- | bfd/elf32-sparc.c | 10 | ||||
-rw-r--r-- | bfd/elf64-sparc.c | 10 |
3 files changed, 9 insertions, 18 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 7b81796..349d983 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +1999-08-09 Jakub Jelinek <jj@ultra.linux.cz> + + * elf64-sparc.c (sparc64_elf_relocate_section): Back out part of + the Sep. 4th, 1998 change. glibc 2.0.x dynamic linker had bug, + not binutils. + * elf32-sparc.c (elf32_sparc_relocate_section): Likewise. + 1999-08-09 Geoff Keating <geoffk@cygnus.com> * elflink.h (elf_link_output_extsym): Don't output a weak diff --git a/bfd/elf32-sparc.c b/bfd/elf32-sparc.c index 2118c70..bb11c07 100644 --- a/bfd/elf32-sparc.c +++ b/bfd/elf32-sparc.c @@ -1475,15 +1475,7 @@ elf32_sparc_relocate_section (output_bfd, info, input_bfd, input_section, } outrel.r_info = ELF32_R_INFO (indx, r_type); - - /* For non-RELATIVE dynamic relocations, we keep the - same symbol, and so generally the same addend. But - we do need to adjust those relocations referencing - sections. */ - outrel.r_addend = rel->r_addend; - if (r_symndx < symtab_hdr->sh_info - && ELF_ST_TYPE (sym->st_info) == STT_SECTION) - outrel.r_addend += sec->output_offset+sym->st_value; + outrel.r_addend = relocation + rel->r_addend; } } diff --git a/bfd/elf64-sparc.c b/bfd/elf64-sparc.c index e98f1be..b027897 100644 --- a/bfd/elf64-sparc.c +++ b/bfd/elf64-sparc.c @@ -2249,15 +2249,7 @@ sparc64_elf_relocate_section (output_bfd, info, input_bfd, input_section, ELF64_R_TYPE_INFO ( ELF64_R_TYPE_DATA (rel->r_info), r_type)); - - /* For non-RELATIVE dynamic relocations, we keep the - same symbol, and so generally the same addend. But - we do need to adjust those relocations referencing - sections. */ - outrel.r_addend = rel->r_addend; - if (r_symndx < symtab_hdr->sh_info - && ELF_ST_TYPE (sym->st_info) == STT_SECTION) - outrel.r_addend += sec->output_offset+sym->st_value; + outrel.r_addend = relocation + rel->r_addend; } } |