* elf32-i386.c (elf_i386_size_dynamic_sections): When checking for
authorIan Lance Taylor <ian@airs.com>
Mon, 27 Jan 1997 18:13:01 +0000 (18:13 +0000)
committerIan Lance Taylor <ian@airs.com>
Mon, 27 Jan 1997 18:13:01 +0000 (18:13 +0000)
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.

bfd/ChangeLog
bfd/elf32-mips.c
bfd/elf32-ppc.c

index ccfb967527166a4f46ed9845c5e63d89344e97c3..d413224ac02063c012bd23f4e29285e164e88c65 100644 (file)
@@ -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>
 
index 7fb859206311dc946999d1e4c40fb89a97e0ff3f..feb91ee1f0aa036e5b94dd86de4f1a88559f1522 100644 (file)
@@ -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
index e47c46c06df4906ce977f21006a405b4e8e5c860..ed127038dc2e69c900ad5d10c8ac6a88d94271e5 100644 (file)
@@ -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;