public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug lto/44390]  New: LTO strips out symbols that are actually needed
@ 2010-06-02 16:08 bero at arklinux dot org
  2010-06-02 16:21 ` [Bug lto/44390] " bero at arklinux dot org
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: bero at arklinux dot org @ 2010-06-02 16:08 UTC (permalink / raw)
  To: gcc-bugs

While building Qt with -flto, helper apps with an additional -fwhole-program:


g++ -Wl,-rpath-link,/usr/src/ark/BUILD/qt/lib -m64 -O2 -fomit-frame-pointer
-fweb -frename-registers
-Wl,-O2,-z,combreloc,-z,relro,--enable-new-dtags,--hash-style=gnu -g -flto
-Wl,-rpath,/usr/lib64/qt4-embedded/lib -Wl,-rpath,/usr/lib64/qt4-embedded/lib
-flto -fwhole-program -o ../../../bin/uic3
.obj/release-static-emb-x86_64/customwidgetsinfo.o
.obj/release-static-emb-x86_64/databaseinfo.o
.obj/release-static-emb-x86_64/driver.o
.obj/release-static-emb-x86_64/treewalker.o
.obj/release-static-emb-x86_64/ui4.o .obj/release-static-emb-x86_64/validator.o
.obj/release-static-emb-x86_64/cppextractimages.o
.obj/release-static-emb-x86_64/cppwritedeclaration.o
.obj/release-static-emb-x86_64/cppwriteicondata.o
.obj/release-static-emb-x86_64/cppwriteicondeclaration.o
.obj/release-static-emb-x86_64/cppwriteiconinitialization.o
.obj/release-static-emb-x86_64/cppwriteincludes.o
.obj/release-static-emb-x86_64/cppwriteinitialization.o
.obj/release-static-emb-x86_64/main.o
.obj/release-static-emb-x86_64/ui3reader.o
.obj/release-static-emb-x86_64/parser.o
.obj/release-static-emb-x86_64/domtool.o
.obj/release-static-emb-x86_64/object.o
.obj/release-static-emb-x86_64/subclassing.o
.obj/release-static-emb-x86_64/form.o
.obj/release-static-emb-x86_64/converter.o
.obj/release-static-emb-x86_64/widgetinfo.o
.obj/release-static-emb-x86_64/embed.o .obj/release-static-emb-x86_64/qt3to4.o
.obj/release-static-emb-x86_64/deps.o .obj/release-static-emb-x86_64/uic.o   
-L/usr/src/ark/BUILD/qt/lib -lQt3Support -L/usr/src/ark/BUILD/qt/lib -lQtSql
-lsqlite3 -lQtXml -lQtGui -lpng -lfreetype -lQtNetwork -lssl -lcrypto -lQtCore
-lz -lm -ldl -lrt -lpthread 
/usr/bin/ld: /tmp/ccegbjMZ.lto.o: in function
_ZN9Ui3ReaderC2ER11QTextStreamj:ui3reader.cpp:245: error: undefined reference
to '_ZN7PortingC1Ev'
/usr/bin/ld: /tmp/ccegbjMZ.lto.o: in function
_ZN9Ui3Reader13getObjectNameERK11QDomElement:ui3reader.cpp:383: error:
undefined reference to
'_ZN9Ui3Reader17getObjectPropertyERK11QDomElementRK7QString'
/usr/bin/ld: /tmp/ccegbjMZ.lto.o: in function
_ZN9Ui3Reader8generateERK7QStringS2_12QDomDocumentbbS2_S2_S2_:ui3reader.cpp:276:
error: undefined reference to
'_ZN9Ui3Reader13createSubDeclERK11QDomElementRK7QString'
/usr/bin/ld: /tmp/ccegbjMZ.lto.o: in function
_ZN9Ui3Reader8generateERK7QStringS2_12QDomDocumentbbS2_S2_S2_:ui3reader.cpp:281:
error: undefined reference to '_ZN9Ui3Reader14createFormDeclERK11QDomElement'
/usr/bin/ld: /tmp/ccegbjMZ.lto.o: in function
_ZN9Ui3Reader8generateERK7QStringS2_12QDomDocumentbbS2_S2_S2_:ui3reader.cpp:273:
error: undefined reference to
'_ZN9Ui3Reader17createWrapperDeclERK11QDomElementRK7QString'
/usr/bin/ld: /tmp/ccegbjMZ.lto.o: in function
_ZN9Ui3Reader8generateERK7QStringS2_12QDomDocumentbbS2_S2_S2_:ui3reader.cpp:278:
error: undefined reference to
'_ZN9Ui3Reader13createSubImplERK11QDomElementRK7QString'
/usr/bin/ld: /tmp/ccegbjMZ.lto.o: in function
_ZN9Ui3Reader8generateERK7QStringS2_12QDomDocumentbbS2_S2_S2_:ui3reader.cpp:283:
error: undefined reference to '_ZN9Ui3Reader14createFormImplERK11QDomElement'
/usr/bin/ld: /tmp/ccegbjMZ.lto.o: in function
_ZN9Ui3Reader11generateUi4ERK7QStringS2_12QDomDocument:ui3reader.cpp:295:
error: undefined reference to '_ZN9Ui3Reader11generateUi4ERK11QDomElement'
/usr/bin/ld: /tmp/ccegbjMZ.lto.o: in function
_ZN3CPP19WriteInitialization15acceptActionRefEP12DomActionRef:../uic/cpp/cppwriteinitialization.cpp:1159:
error: undefined reference to '_ZNK3Uic6isMenuERK7QString'
/usr/bin/ld: /tmp/ccegbjMZ.lto.o: in function _Z7runUic3iPPc:main.cpp:300:
error: undefined reference to '_ZN9Ui3Reader5embedEPKcRK11QStringList'
/usr/bin/ld: /tmp/ccegbjMZ.lto.o: in function _Z7runUic3iPPc:main.cpp:329:
error: undefined reference to '_ZN7DomTool11fixDocumentER12QDomDocument'
/usr/bin/ld: /tmp/ccegbjMZ.lto.o: in function _Z7runUic3iPPc:main.cpp:342:
error: undefined reference to
'_ZN9Ui3Reader11computeDepsERK11QDomElementR11QStringListS4_b'
/usr/bin/ld: /tmp/ccegbjMZ.lto.o: in function _Z7runUic3iPPc:main.cpp:338:
error: undefined reference to '_ZN9Ui3Reader5embedEPKcRK11QStringList'
/usr/bin/ld: /tmp/ccegbjMZ.lto.o: in function
_ZN3CPP19WriteInitialization12acceptWidgetEP9DomWidget:../uic/cpp/cppwriteinitialization.cpp:627:
error: undefined reference to '_ZNK3Uic11isContainerERK7QString'
/usr/bin/ld: /tmp/ccegbjMZ.lto.o: in function
_ZN3CPP19WriteInitialization12acceptWidgetEP9DomWidget:../uic/cpp/cppwriteinitialization.cpp:659:
error: undefined reference to '_ZNK3Uic8isButtonERK7QString'
/usr/bin/ld: /tmp/ccegbjMZ.lto.o: in function
_ZN3CPP19WriteInitialization12acceptWidgetEP9DomWidget:../uic/cpp/cppwriteinitialization.cpp:676:
error: undefined reference to '_ZNK3Uic23isCustomWidgetContainerERK7QString'
/usr/bin/ld: /tmp/ccegbjMZ.lto.o: in function
_ZN3CPP19WriteInitialization12acceptWidgetEP9DomWidget:../uic/cpp/cppwriteinitialization.cpp:677:
error: undefined reference to '_ZNK3Uic11isContainerERK7QString'
collect2: ld returned 1 exit status

Looking at the first symbol complained about:

_ZN7PortingC1Ev is Porting::Porting()

This symbol is defined in qt3to4.cpp, which becomes qt3to4.o, which is one of
the object files mentioned explicitly on the command line -- the symbol appears
to be "optimized away" wrongfully.


-- 
           Summary: LTO strips out symbols that are actually needed
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: lto
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: bero at arklinux dot org
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug lto/44390] LTO strips out symbols that are actually needed
  2010-06-02 16:08 [Bug lto/44390] New: LTO strips out symbols that are actually needed bero at arklinux dot org
@ 2010-06-02 16:21 ` bero at arklinux dot org
  2010-06-02 16:27 ` rguenth at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: bero at arklinux dot org @ 2010-06-02 16:21 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from bero at arklinux dot org  2010-06-02 16:20 -------
uic3.tar.gz, containing the object files that should be linked and the source
they're generated from, is too large to attach, so I've uploaded it to
http://arklinux.org/~bero/uic3.tar.gz


-- 


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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug lto/44390] LTO strips out symbols that are actually needed
  2010-06-02 16:08 [Bug lto/44390] New: LTO strips out symbols that are actually needed bero at arklinux dot org
  2010-06-02 16:21 ` [Bug lto/44390] " bero at arklinux dot org
@ 2010-06-02 16:27 ` rguenth at gcc dot gnu dot org
  2010-06-02 16:35 ` dominiq at lps dot ens dot fr
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-06-02 16:27 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from rguenth at gcc dot gnu dot org  2010-06-02 16:27 -------
Can you try without -fwhole-program, with the tip of the 4.5 branch and with
trunk?  If it works on the trunk, can you identify the patch that made it work?


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |WAITING


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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug lto/44390] LTO strips out symbols that are actually needed
  2010-06-02 16:08 [Bug lto/44390] New: LTO strips out symbols that are actually needed bero at arklinux dot org
  2010-06-02 16:21 ` [Bug lto/44390] " bero at arklinux dot org
  2010-06-02 16:27 ` rguenth at gcc dot gnu dot org
@ 2010-06-02 16:35 ` dominiq at lps dot ens dot fr
  2010-06-02 16:36 ` rguenth at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: dominiq at lps dot ens dot fr @ 2010-06-02 16:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from dominiq at lps dot ens dot fr  2010-06-02 16:35 -------
This looks like a duplicate of pr40873.


-- 


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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug lto/44390] LTO strips out symbols that are actually needed
  2010-06-02 16:08 [Bug lto/44390] New: LTO strips out symbols that are actually needed bero at arklinux dot org
                   ` (2 preceding siblings ...)
  2010-06-02 16:35 ` dominiq at lps dot ens dot fr
@ 2010-06-02 16:36 ` rguenth at gcc dot gnu dot org
  2010-06-02 16:51 ` dominiq at lps dot ens dot fr
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-06-02 16:36 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from rguenth at gcc dot gnu dot org  2010-06-02 16:36 -------
No, this is not fortran.


-- 


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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug lto/44390] LTO strips out symbols that are actually needed
  2010-06-02 16:08 [Bug lto/44390] New: LTO strips out symbols that are actually needed bero at arklinux dot org
                   ` (3 preceding siblings ...)
  2010-06-02 16:36 ` rguenth at gcc dot gnu dot org
@ 2010-06-02 16:51 ` dominiq at lps dot ens dot fr
  2010-06-02 16:53 ` bero at arklinux dot org
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: dominiq at lps dot ens dot fr @ 2010-06-02 16:51 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from dominiq at lps dot ens dot fr  2010-06-02 16:51 -------
> No, this is not fortran.

I am not sure that fortran matter here.


-- 


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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug lto/44390] LTO strips out symbols that are actually needed
  2010-06-02 16:08 [Bug lto/44390] New: LTO strips out symbols that are actually needed bero at arklinux dot org
                   ` (4 preceding siblings ...)
  2010-06-02 16:51 ` dominiq at lps dot ens dot fr
@ 2010-06-02 16:53 ` bero at arklinux dot org
  2010-06-03 11:38 ` bero at arklinux dot org
  2010-07-26 21:16 ` hubicka at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: bero at arklinux dot org @ 2010-06-02 16:53 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from bero at arklinux dot org  2010-06-02 16:53 -------
Omitting -fwhole-program doesn't change anything. Compiling 4.5 branch and
trunk now.


-- 


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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug lto/44390] LTO strips out symbols that are actually needed
  2010-06-02 16:08 [Bug lto/44390] New: LTO strips out symbols that are actually needed bero at arklinux dot org
                   ` (5 preceding siblings ...)
  2010-06-02 16:53 ` bero at arklinux dot org
@ 2010-06-03 11:38 ` bero at arklinux dot org
  2010-07-26 21:16 ` hubicka at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: bero at arklinux dot org @ 2010-06-03 11:38 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from bero at arklinux dot org  2010-06-03 11:38 -------
Exact same error with 4.5.1 branch rev. 160157, compiling trunk


-- 


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


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Bug lto/44390] LTO strips out symbols that are actually needed
  2010-06-02 16:08 [Bug lto/44390] New: LTO strips out symbols that are actually needed bero at arklinux dot org
                   ` (6 preceding siblings ...)
  2010-06-03 11:38 ` bero at arklinux dot org
@ 2010-07-26 21:16 ` hubicka at gcc dot gnu dot org
  7 siblings, 0 replies; 9+ messages in thread
From: hubicka at gcc dot gnu dot org @ 2010-07-26 21:16 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from hubicka at gcc dot gnu dot org  2010-07-26 21:16 -------
I fixed number of similar problems on Mozilla build recently. Can you, please,
re-try with current mainline? Otherwise we will need to get some testcase for
this.


-- 


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


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2010-07-26 21:16 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-06-02 16:08 [Bug lto/44390] New: LTO strips out symbols that are actually needed bero at arklinux dot org
2010-06-02 16:21 ` [Bug lto/44390] " bero at arklinux dot org
2010-06-02 16:27 ` rguenth at gcc dot gnu dot org
2010-06-02 16:35 ` dominiq at lps dot ens dot fr
2010-06-02 16:36 ` rguenth at gcc dot gnu dot org
2010-06-02 16:51 ` dominiq at lps dot ens dot fr
2010-06-02 16:53 ` bero at arklinux dot org
2010-06-03 11:38 ` bero at arklinux dot org
2010-07-26 21:16 ` hubicka at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).