* elfcode.h (bfd_section_from_shdr): Don't turn a reloc section
authorIan Lance Taylor <ian@airs.com>
Mon, 6 Jun 1994 23:59:27 +0000 (23:59 +0000)
committerIan Lance Taylor <ian@airs.com>
Mon, 6 Jun 1994 23:59:27 +0000 (23:59 +0000)
into a BFD section just because SHF_ALLOC is set; require that it
not use the normal symbol table.
(elf_section_from_bfd_section): Corresponding change.

bfd/ChangeLog
bfd/elfcode.h

index 0969b768343be4de78071713e0c53a50cfd9fa25..18cbb0c1fd5a04808b8c9c91b91be8d8d518843e 100644 (file)
@@ -1,5 +1,10 @@
 Mon Jun  6 10:57:28 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
 
+       * elfcode.h (bfd_section_from_shdr): Don't turn a reloc section
+       into a BFD section just because SHF_ALLOC is set; require that it
+       not use the normal symbol table.
+       (elf_section_from_bfd_section): Corresponding change.
+
        Better indirect and warning symbol handling inspired by Stuart
        Quick <stuck@cs.man.ac.uk>.
        * linker.c (enum link_action): Add REF, MIND, CWARN, REFC.
index 28befbdf2052ad44426e4d9448ee728b40ebb302..0181a5593907694a2153b42f8bc8771a7eb67458 100644 (file)
@@ -616,13 +616,11 @@ bfd_section_from_shdr (abfd, shindex)
        if (! bfd_section_from_shdr (abfd, hdr->sh_link))
          return false;
 
-       /* If this reloc section does not use the main symbol table,
-          or if it is in the process image, we don't treat it as a
-          reloc section.  BFD can't adequately represent such a
-          section, so at least for now, we don't try.  We just
-          present it as a normal section.  */
-       if ((hdr->sh_flags & SHF_ALLOC) != 0
-           || hdr->sh_link != elf_onesymtab (abfd))
+       /* If this reloc section does not use the main symbol table we
+          don't treat it as a reloc section.  BFD can't adequately
+          represent such a section, so at least for now, we don't
+          try.  We just present it as a normal section.  */
+       if (hdr->sh_link != elf_onesymtab (abfd))
          return _bfd_elf_make_section_from_shdr (abfd, hdr, name);
 
        /* Don't allow REL relocations on a machine that uses RELA and
@@ -1267,8 +1265,7 @@ elf_fake_sections (abfd, asect, ignore)
 
 /* Assign all ELF section numbers.  The dummy first section is handled here
    too.  The link/info pointers for the standard section types are filled
-   in here too, while we're at it.  (Link pointers for .stab sections are
-   not filled in here.)  */
+   in here too, while we're at it.  */
 
 static boolean
 assign_section_numbers (abfd)
@@ -2581,8 +2578,7 @@ elf_section_from_bfd_section (abfd, asect)
        case SHT_REL:
        case SHT_RELA:
          /* We sometimes map a reloc section to a BFD section.  */
-         if (((hdr->sh_flags & SHF_ALLOC) != 0
-              || hdr->sh_link != elf_onesymtab (abfd))
+         if (hdr->sh_link != elf_onesymtab (abfd)
              && (asection *) hdr->rawdata == asect)
            return index;
          break;