[Bug lto/47287] FAIL: gcc.c-torture/execute/builtins/20010124-1.c execution with -flto

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Jan 17 13:53:00 GMT 2011


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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |WAITING
   Last reconfirmed|                            |2011.01.17 13:42:08
     Ever Confirmed|0                           |1

--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-01-17 13:42:08 UTC ---
(In reply to comment #2)
> dave@gsyprf11:~/gcc-4.6/objdir/gcc/testsuite/gcc$ less 20010124-1.res
> 3
> 20010124-1.o 3
> 70 e5ddcfb3 PREEMPTED_IR main_test
> 76 e5ddcfb3 PREEMPTED_IR g
> 101 e5ddcfb3 PREEMPTED_IR f
> 20010124-1-lib.o 3
> 104 af7ae83d PREVAILING_DEF_IRONLY f
> 118 af7ae83d PREVAILING_DEF_IRONLY g
> 144 af7ae83d PREEMPTED_IR inside_main
> main.o 3
> 70 bb83b83f PREVAILING_DEF main
> 76 bb83b83f PREVAILING_DEF_IRONLY main_test
> 79 bb83b83f PREVAILING_DEF_IRONLY inside_main

Hum - it has found a definition of main_test in main.o(!?).  Can't see such
in its source.  It also misses 20010124-1.c memcpy PREVAILING_DEF[_IRONLY].
Maybe that one "shifts" into the other unit as a new function?

Weird.

I suppose you are using GNU ld, right?

On trunk x86_64 with stock binutils 2.21 I get

> cat 20010124-1.res
3
20010124-1.o 3
79 2651d4ed PREVAILING_DEF_IRONLY main_test
85 2651d4ed RESOLVED_IR g
110 2651d4ed RESOLVED_IR f
20010124-1-lib.o 3
113 f6a75653 PREVAILING_DEF_IRONLY f
127 f6a75653 PREVAILING_DEF_IRONLY g
153 f6a75653 RESOLVED_IR inside_main
main.o 3
79 2cccb08f PREVAILING_DEF main
85 2cccb08f RESOLVED_IR main_test
88 2cccb08f PREVAILING_DEF_IRONLY inside_main

thus, memcpy is also missing but at least main_test is correctly
used from 20010124-1.o.

Thus - can you tell us your exact GNU ld version and maybe debug
what is the lto_symtab contents we generate (there is a lto-plugin/lto-symtab.c
program, not sure if it still works ...)



More information about the Gcc-bugs mailing list