aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog11
-rw-r--r--bfd/elf32-mips.c9
-rw-r--r--bfd/elf32-ppc.c8
3 files changed, 23 insertions, 5 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index ccfb967..d413224 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,14 @@
+Mon Jan 27 12:25:02 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * elf32-i386.c (elf_i386_size_dynamic_sections): When checking for
+ relocations against the text segment, look up the output name of
+ the reloc section.
+ * elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
+ * elf32-mips.c (mips_elf_size_dynamic_sections): Likewise.
+ * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
+ * elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
+ * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
+
start-sanitize-tic80
Wed Jan 22 15:40:28 1997 Fred Fish <fnf@cygnus.com>
diff --git a/bfd/elf32-mips.c b/bfd/elf32-mips.c
index 7fb8592..feb91ee 100644
--- a/bfd/elf32-mips.c
+++ b/bfd/elf32-mips.c
@@ -1,5 +1,5 @@
/* MIPS-specific support for 32-bit ELF
- Copyright 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
+ Copyright 1993, 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
Most of the information added by Ian Lance Taylor, Cygnus Support,
<ian@cygnus.com>.
@@ -5675,6 +5675,7 @@ mips_elf_size_dynamic_sections (output_bfd, info)
strip = true;
else
{
+ const char *outname;
asection *target;
/* If this relocation section applies to a read only
@@ -5683,9 +5684,11 @@ mips_elf_size_dynamic_sections (output_bfd, info)
assert a DT_TEXTREL entry rather than testing whether
there exists a relocation to a read only section or
not. */
- target = bfd_get_section_by_name (output_bfd, name + 4);
+ outname = bfd_get_section_name (output_bfd,
+ s->output_section);
+ target = bfd_get_section_by_name (output_bfd, outname + 4);
if ((target != NULL && (target->flags & SEC_READONLY) != 0)
- || strcmp (name, ".rel.dyn") == 0)
+ || strcmp (outname, ".rel.dyn") == 0)
reltext = true;
/* We use the reloc_count field as a counter if we need
diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c
index e47c46c..ed12703 100644
--- a/bfd/elf32-ppc.c
+++ b/bfd/elf32-ppc.c
@@ -1,5 +1,5 @@
/* PowerPC-specific support for 32-bit ELF
- Copyright 1994, 1995, 1996 Free Software Foundation, Inc.
+ Copyright 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support.
This file is part of BFD, the Binary File Descriptor library.
@@ -1695,6 +1695,8 @@ ppc_elf_size_dynamic_sections (output_bfd, info)
than .rel.plt. */
if (strcmp (name, ".rela.plt") != 0)
{
+ const char *outname;
+
relocs = true;
/* If this relocation section applies to a read only
@@ -1702,7 +1704,9 @@ ppc_elf_size_dynamic_sections (output_bfd, info)
entry. The entries in the .rel.plt section
really apply to the .got section, which we
created ourselves and so know is not readonly. */
- target = bfd_get_section_by_name (output_bfd, name + 4);
+ outname = bfd_get_section_name (output_bfd,
+ s->output_section);
+ target = bfd_get_section_by_name (output_bfd, outname + 4);
if (target != NULL
&& (target->flags & SEC_READONLY) != 0)
reltext = true;