Revert 2000-10-07 link-once section symbol changes.
authorAlan Modra <amodra@gmail.com>
Wed, 11 Oct 2000 07:05:02 +0000 (07:05 +0000)
committerAlan Modra <amodra@gmail.com>
Wed, 11 Oct 2000 07:05:02 +0000 (07:05 +0000)
bfd/ChangeLog
bfd/elf.c
gas/ChangeLog
gas/config/obj-elf.c

index 0376e8c4ee96e042fad281c86f55f11ebb687c24..d9b016be91c3fedf9c0fa06172d65e66da6a19eb 100644 (file)
@@ -1,5 +1,7 @@
 2000-10-11  Alan Modra  <alan@linuxcare.com.au>
 
+       * elf.c (swap_out_syms): Revert 2000-10-07 changes.
+
        * ieee.c (ieee_make_empty_symbol): Oops, bfd_zalloc needs another arg.
 
 2000-10-10  Alan Modra  <alan@linuxcare.com.au>
index bc8dec7a275dddb55f94b908253645c0751bc51a..f434fcf29b8513ecaa33645753503afeb6738008 100644 (file)
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -4352,10 +4352,11 @@ swap_out_syms (abfd, sttp, relocatable_p)
        flagword flags = syms[idx]->flags;
        int type;
 
-       /* Section symbols usually have no name.  The exception is
-          link-once section symbols, which we make global.  */
-       if ((flags & (BSF_SECTION_SYM | BSF_GLOBAL)) == BSF_SECTION_SYM)
-         sym.st_name = 0;
+       if ((flags & BSF_SECTION_SYM) != 0)
+         {
+           /* Section symbols have no name.  */
+           sym.st_name = 0;
+         }
        else
          {
            sym.st_name = (unsigned long) _bfd_stringtab_add (stt,
@@ -4462,8 +4463,7 @@ swap_out_syms (abfd, sttp, relocatable_p)
           type = (*bed->elf_backend_get_symbol_type) (&type_ptr->internal_elf_sym, type);
 
        if (flags & BSF_SECTION_SYM)
-         sym.st_info = ELF_ST_INFO ((flags & BSF_GLOBAL
-                                     ? STB_GLOBAL : STB_LOCAL), STT_SECTION);
+         sym.st_info = ELF_ST_INFO (STB_LOCAL, STT_SECTION);
        else if (bfd_is_com_section (syms[idx]->section))
          sym.st_info = ELF_ST_INFO (STB_GLOBAL, type);
        else if (bfd_is_und_section (syms[idx]->section))
index bdd724e939a8874d29c3bf2785c91f5c0d485559..23d4b7a525a565594bc1ddc04125d0b59950f3fc 100644 (file)
@@ -1,3 +1,7 @@
+2000-10-11  Alan Modra  <alan@linuxcare.com.au>
+
+       * config/obj-elf.c (elf_frob_symbol): Revert 2000-10-07 change.
+
 2000-10-07  Alan Modra  <alan@linuxcare.com.au>
 
        * config/tc-hppa.c (md_apply_fix): Remove plainly wrong assert.
index 0f49ab6339ffc0c6f407482a6f51eb6998058496..4e7f3a36d0682352ca8a15882532b3cff3991419 100644 (file)
@@ -1742,21 +1742,6 @@ elf_frob_symbol (symp, puntp)
       && S_IS_DEFINED (symp))
     symbol_get_bfdsym (symp)->flags |= BSF_OBJECT;
 #endif
-
-  if (symbol_section_p (symp))
-    {
-      asection *symsec = S_GET_SEGMENT (symp);
-
-      if ((bfd_get_section_flags (stdoutput, symsec) & SEC_LINK_ONCE) != 0
-         || strncmp (segment_name (symsec), ".gnu.linkonce",
-                     sizeof ".gnu.linkonce" - 1) == 0)
-       {
-         /* Make section syms global on ELF linkonce sections.
-            This way, any reference to the section symbol will
-            resolve to the section that actually stays in.  */
-         S_SET_EXTERNAL (symp);
-       }
-    }
 }
 
 void