aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog7
-rw-r--r--bfd/elf32-sparc.c10
-rw-r--r--bfd/elf64-sparc.c10
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;
}
}