http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54625



--- Comment #7 from Markus Trippelsdorf <markus at trippelsdorf dot de> 
2012-09-25 14:24:58 UTC ---

(In reply to comment #6)

> The testcases are also fixed by

> 

> Index: gcc/lto-symtab.c

> ===================================================================

> --- gcc/lto-symtab.c    (revision 191700)

> +++ gcc/lto-symtab.c    (working copy)

> @@ -629,7 +629,8 @@ lto_symtab_merge_cgraph_nodes_1 (symtab_

> 

>        if (!symtab_real_symbol_p (e))

>         continue;

> -      if (symtab_function_p (e))

> +      if (symtab_function_p (e)

> +         && !DECL_BUILT_IN (e->symbol.decl))

>         lto_cgraph_replace_node (cgraph (e), cgraph (prevailing));

>        if (symtab_variable_p (e))

>         lto_varpool_replace_node (varpool (e), varpool (prevailing));

> 

> now testing that instead of the symtab.c hunks.



Thanks. This fixes lto/profiledbootstrap.



Firefox however doesn't build:

...

gcc -shared -Wl,-soname -Wl,libnspr4.so -o libnspr4.so ./prvrsion.o

io/./prfdcach.o io/./prmwait.o io/./prmapopt.o io/./priometh.o io/./pripv6.o

io/.

/prlayer.o io/./prlog.o io/./prmmap.o io/./prpolevt.o io/./prprf.o

io/./prscanf.o io/./prstdio.o threads/./prcmon.o threads/./prrwlock.o

threads/./pr

tpd.o linking/./prlink.o malloc/./prmalloc.o malloc/./prmem.o md/./prosdep.o

memory/./prshm.o memory/./prshma.o memory/./prseg.o misc/./pralarm.o mis

c/./pratom.o misc/./prcountr.o misc/./prdtoa.o misc/./prenv.o misc/./prerr.o

misc/./prerror.o misc/./prerrortable.o misc/./prinit.o misc/./prinrval.o

 misc/./pripc.o misc/./prlog2.o misc/./prlong.o misc/./prnetdb.o

misc/./praton.o misc/./prolock.o misc/./prrng.o misc/./prsystem.o

misc/./prthinfo.o 

misc/./prtpool.o misc/./prtrace.o misc/./prtime.o pthreads/./ptsynch.o

pthreads/./ptio.o pthreads/./ptthread.o pthreads/./ptmisc.o md/unix/./unix.o m

d/unix/./unix_errors.o md/unix/./uxproces.o md/unix/./uxrng.o md/unix/./uxshm.o

md/unix/./uxwrap.o md/unix/./linux.o md/unix/./os_Linux_x86_64.o  -fu

se-linker-plugin -Wl,-O1,--hash-style=gnu,--no-keep-memory  -fprofile-use 

-lpthread -ldl

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: /tmp/ccdZgGDF.ltrans0.ltrans.o: requires dynamic R_X86_64_PC32 

reloc against 'strlen' which may overflow at runtime; recompile with -fPIC

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: /tmp/ccdZgGDF.ltrans1.ltrans.o: requires dynamic R_X86_64_PC32 

reloc against 'strncmp' which may overflow at runtime; recompile with -fPIC

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: /tmp/ccdZgGDF.ltrans2.ltrans.o: requires dynamic R_X86_64_PC32 

reloc against 'strlen' which may overflow at runtime; recompile with -fPIC

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: /tmp/ccdZgGDF.ltrans3.ltrans.o: requires dynamic R_X86_64_PC32 

reloc against 'memset' which may overflow at runtime; recompile with -fPIC

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: /tmp/ccdZgGDF.ltrans7.ltrans.o: requires dynamic R_X86_64_PC32 

reloc against 'strlen' which may overflow at runtime; recompile with -fPIC

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: /tmp/ccdZgGDF.ltrans8.ltrans.o: requires dynamic R_X86_64_PC32 

reloc against 'memset' which may overflow at runtime; recompile with -fPIC

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: /tmp/ccdZgGDF.ltrans10.ltrans.o: requires dynamic R_X86_64_PC32

 reloc against 'strcpy' which may overflow at runtime; recompile with -fPIC

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: /tmp/ccdZgGDF.ltrans11.ltrans.o: requires dynamic R_X86_64_PC32

 reloc against 'memcpy' which may overflow at runtime; recompile with -fPIC

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: /tmp/ccdZgGDF.ltrans12.ltrans.o: requires dynamic R_X86_64_PC32

 reloc against 'memset' which may overflow at runtime; recompile with -fPIC

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: /tmp/ccdZgGDF.ltrans13.ltrans.o: requires dynamic R_X86_64_PC32

 reloc against 'memcpy' which may overflow at runtime; recompile with -fPIC

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: /tmp/ccdZgGDF.ltrans14.ltrans.o: requires dynamic R_X86_64_PC32

 reloc against 'memcpy' which may overflow at runtime; recompile with -fPIC

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: /tmp/ccdZgGDF.ltrans15.ltrans.o: requires dynamic R_X86_64_PC32

 reloc against 'memcpy' which may overflow at runtime; recompile with -fPIC

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: /tmp/ccdZgGDF.ltrans16.ltrans.o: requires dynamic R_X86_64_PC32

 reloc against 'free' which may overflow at runtime; recompile with -fPIC

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: /tmp/ccdZgGDF.ltrans17.ltrans.o: requires dynamic R_X86_64_PC32

 reloc against 'strlen' which may overflow at runtime; recompile with -fPIC

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: /tmp/ccdZgGDF.ltrans18.ltrans.o: requires dynamic R_X86_64_PC32

 reloc against 'strlen' which may overflow at runtime; recompile with -fPIC

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: /tmp/ccdZgGDF.ltrans19.ltrans.o: requires dynamic R_X86_64_PC32

 reloc against 'strlen' which may overflow at runtime; recompile with -fPIC

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: /tmp/ccdZgGDF.ltrans20.ltrans.o: requires dynamic R_X86_64_PC32

 reloc against 'memcpy' which may overflow at runtime; recompile with -fPIC

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: /tmp/ccdZgGDF.ltrans21.ltrans.o: requires dynamic R_X86_64_PC32

 reloc against 'memcpy' which may overflow at runtime; recompile with -fPIC

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: /tmp/ccdZgGDF.ltrans22.ltrans.o: requires dynamic R_X86_64_PC32

 reloc against 'memcpy' which may overflow at runtime; recompile with -fPIC

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: hidden symbol 'strlen' is not defined locally

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: hidden symbol 'strcpy' is not defined locally

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: hidden symbol 'strncmp' is not defined locally

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: hidden symbol '_exit' is not defined locally

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: hidden symbol '_exit' is not defined locally

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: hidden symbol '_exit' is not defined locally

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: hidden symbol '_exit' is not defined locally

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: hidden symbol '_exit' is not defined locally

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: hidden symbol '_exit' is not defined locally

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: hidden symbol 'strlen' is not defined locally

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: hidden symbol 'memcpy' is not defined locally

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: hidden symbol 'memcpy' is not defined locally

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: hidden symbol 'memcpy' is not defined locally
/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: hidden symbol 'memset' is not defined locally

/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.0/../../../../x86_64-pc-linux-gnu/bin/ld:

error: hidden symbol 'strlen' is not defined locally

... etc.

Reply via email to