bfd/
authorAlan Modra <amodra@gmail.com>
Tue, 2 Jul 2013 00:25:08 +0000 (00:25 +0000)
committerAlan Modra <amodra@gmail.com>
Tue, 2 Jul 2013 00:25:08 +0000 (00:25 +0000)
* elf64-ppc.c (ppc64_elf_relocate_section): Set "relocation" for
.TOC. after relocatable check.
gas/
* config/tc-ppc.c (ppc_elf_adjust_symtab): Don't make .TOC. weak.

bfd/ChangeLog
bfd/elf64-ppc.c
gas/ChangeLog
gas/config/tc-ppc.c

index 1bbbb87..b55f3ad 100644 (file)
@@ -1,3 +1,8 @@
+2013-07-02  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (ppc64_elf_relocate_section): Set "relocation" for
+       .TOC. after relocatable check.
+
 2013-07-01  Alan Modra  <amodra@gmail.com>
 
        * elf64-ppc.h (ppc64_elf_toc): Delete.
index fb808d6..7829520 100644 (file)
@@ -12467,13 +12467,6 @@ ppc64_elf_relocate_section (bfd *output_bfd,
                      }
                  }
            }
-         if (h_elf == htab->elf.hgot)
-           {
-             relocation = (TOCstart
-                           + htab->stub_group[input_section->id].toc_off);
-             sec = bfd_abs_section_ptr;
-             unresolved_reloc = FALSE;
-           }
        }
       h = (struct ppc_link_hash_entry *) h_elf;
 
@@ -12486,6 +12479,14 @@ ppc64_elf_relocate_section (bfd *output_bfd,
       if (info->relocatable)
        continue;
 
+      if (h != NULL && &h->elf == htab->elf.hgot)
+       {
+         relocation = (TOCstart
+                       + htab->stub_group[input_section->id].toc_off);
+         sec = bfd_abs_section_ptr;
+         unresolved_reloc = FALSE;
+       }
+
       /* TLS optimizations.  Replace instruction sequences and relocs
         based on information we collected in tls_optimize.  We edit
         RELOCS so that --emit-relocs will output something sensible
index 5e7a493..7f7d0e8 100644 (file)
@@ -1,3 +1,7 @@
+2013-07-02  Alan Modra  <amodra@gmail.com>
+
+       * config/tc-ppc.c (ppc_elf_adjust_symtab): Don't make .TOC. weak.
+
 2013-06-26  Maciej W. Rozycki  <macro@codesourcery.com>
 
        * doc/as.texinfo (Overview): Remove @samp from MIPS ISA names.
index d4f6b71..7aebda8 100644 (file)
@@ -2318,8 +2318,6 @@ ppc_elf_adjust_symtab (void)
          asymbol *bsym = symbol_get_bfdsym (symp);
          if ((bsym->flags & BSF_KEEP) == 0)
            symbol_remove (symp, &symbol_rootP, &symbol_lastP);
-         else
-           S_SET_WEAK (symp);
        }
     }
 }