PR ld/12727 ppc64 bug with dot symbols

Alan Modra
Wed May 4 00:55:00 GMT 2011

There are far too many places in elf64-ppc.c handling old ABI calls to
new ABI code, archives need one set of tweaks, object files another,
and shared libs yet another.  When linking a new ABI shared lib before
the old ABI object (why do people do this sort of thing? :-) ) one of
the fudges aimed at archives managed to undo a fudge for shared

Applied mainline and branch.

	PR ld/12727
	* elf64-ppc.c (ppc_build_one_stub <ppc_sub_plt_call>): Clear
	was_undefined on dot-symbols.

Index: bfd/elf64-ppc.c
RCS file: /cvs/src/src/bfd/elf64-ppc.c,v
retrieving revision 1.348
diff -u -p -r1.348 elf64-ppc.c
--- bfd/elf64-ppc.c	17 Apr 2011 18:38:43 -0000	1.348
+++ bfd/elf64-ppc.c	4 May 2011 00:27:19 -0000
@@ -9789,6 +9789,8 @@ ppc_build_one_stub (struct bfd_hash_entr
 	     these checks could now disappear.  */
 	  if (fh->elf.root.type == bfd_link_hash_undefined)
 	    fh->elf.root.type = bfd_link_hash_undefweak;
+	  /* Stop undo_symbol_twiddle changing it back to undefined.  */
+	  fh->was_undefined = 0;
       /* Now build the stub.  */

Alan Modra
Australia Development Lab, IBM

More information about the Binutils mailing list