Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

Firefox build fails with -O4 during linking of libxul on Linux #11476

Closed Quuxplusone closed 12 years ago

Quuxplusone commented 12 years ago
Bugzilla Link PR11301
Status RESOLVED FIXED
Importance P normal
Reported by octoploid (octoploid@yandex.com)
Reported on 2011-11-03 03:59:44 -0700
Last modified on 2012-01-13 07:15:48 -0800
Version trunk
Hardware PC Linux
CC llvm-bugs@lists.llvm.org, rafael@espindo.la, wendling@apple.com
Fixed by commit(s)
Attachments
Blocks
Blocked by
See also
The latest Firefox builds fine with -O3 on my machine.
With -O4 I get the following error during the final libxul link:

rm -f libxul.so
/usr/bin/python2.7 /var/tmp/mozilla-central/config/pythonpath.py -I../../config
/var/tmp/mozilla-central/config/expandlibs_exec.py --uselist --  clang++  -fno-
rtti -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -
Wno-non-virtual-dtor -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-
type -pedantic -Wno-long-long -use-gold-plugin -B/usr/lib/gcc/x86_64-pc-linux-
gnu/4.6.2 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.2 -march=native -ffunction-
sections -fdata-sections -fvisibility-inlines-hidden -fno-exceptions -fno-
strict-aliasing -std=gnu++0x -fno-tree-vrp -pipe  -DNDEBUG -DTRIMMED -O4 -fomit-
frame-pointer -fPIC -shared -Wl,-z,defs -Wl,-h,libxul.so -o libxul.so
nsStaticXULComponents.o nsUnicharUtils.o nsBidiUtils.o nsRDFResource.o    -
lpthread -Wl,-O1,--hash-style=gnu,--as-needed,--no-keep-memory,--gc-sections  -
Wl,-rpath-link,/var/tmp/mozilla-central/moz-build-dir/dist/bin -Wl,-rpath-
link,/usr/lib    ../../toolkit/xre/libxulapp_s.a
../../staticlib/components/libnecko.a ../../staticlib/components/libuconv.a
../../staticlib/components/libi18n.a ../../staticlib/components/libchardet.a
../../staticlib/components/libjar50.a
../../staticlib/components/libstartupcache.a
../../staticlib/components/libpref.a ../../staticlib/components/libhtmlpars.a
../../staticlib/components/libimglib2.a ../../staticlib/components/libgkgfx.a
../../staticlib/components/libgklayout.a
../../staticlib/components/libdocshell.a
../../staticlib/components/libembedcomponents.a
../../staticlib/components/libwebbrwsr.a
../../staticlib/components/libnsappshell.a
../../staticlib/components/libtxmgr.a
../../staticlib/components/libcommandlines.a
../../staticlib/components/libtoolkitcomps.a
../../staticlib/components/libpipboot.a ../../staticlib/components/libpipnss.a
../../staticlib/components/libappcomps.a
../../staticlib/components/libjsreflect.a
../../staticlib/components/libcomposer.a
../../staticlib/components/libjetpack_s.a
../../staticlib/components/libtelemetry.a
../../staticlib/components/libjsdebugger.a
../../staticlib/components/libstoragecomps.a
../../staticlib/components/libjsctypes.a ../../staticlib/components/libjsperf.a
../../staticlib/components/libgkplugin.a
../../staticlib/components/libunixproxy.a ../../staticlib/components/libjsd.a
../../staticlib/components/libautoconfig.a ../../staticlib/components/libauth.a
../../staticlib/components/libcookie.a
../../staticlib/components/libpermissions.a
../../staticlib/components/libuniversalchardet.a
../../staticlib/components/librdf.a ../../staticlib/components/libwindowds.a
../../staticlib/components/libfileview.a ../../staticlib/components/libplaces.a
../../staticlib/components/libtkautocomplete.a
../../staticlib/components/libsatchel.a ../../staticlib/components/libpippki.a
../../staticlib/components/libwidget_gtk2.a
../../staticlib/components/libsystem-pref.a
../../staticlib/components/libimgicon.a
../../staticlib/components/libremoteservice.a
../../staticlib/components/libspellchecker.a
../../staticlib/components/libzipwriter.a
../../staticlib/components/libservices-crypto.a ../../staticlib/libjsipc_s.a
../../staticlib/libdomipc_s.a ../../staticlib/libdomplugins_s.a
../../staticlib/libmozipc_s.a ../../staticlib/libmozipdlgen_s.a
../../staticlib/libipcshell_s.a ../../staticlib/libgfx2d.a
../../staticlib/libgfxipc_s.a ../../staticlib/libhal_s.a
../../staticlib/libxpcom_core.a ../../staticlib/libucvutil_s.a
../../staticlib/libchromium_s.a ../../staticlib/libmozreg_s.a
../../staticlib/libgtkxtbin.a ../../staticlib/libthebes.a
../../staticlib/libycbcr.a ../../staticlib/libangle.a  -L../../dist/bin -
L../../dist/lib -ljpeg  ../../media/libpng/libmozpng.a
../../gfx/qcms/libmozqcms.a /var/tmp/mozilla-central/moz-build-
dir/dist/lib/libjs_static.a -Wl,-R/usr/lib64 -L/usr/lib64 -lssl3 -lsmime3 -
lnss3 -lnssutil3 -lcrmf -lcairo -lpixman-1 -lfreetype -lfontconfig    -
L/usr/lib64 -lXrender -lcairo -lX11   ../../gfx/harfbuzz/src/libmozharfbuzz.a
../../gfx/ots/src/libmozots.a  ../../dist/lib/libmozsqlite3.a  -lz  -L/usr/lib -
levent -lasound   -L../../dist/bin -L../../dist/lib  -Wl,-R/usr/lib64 -
L/usr/lib64 -lplds4 -lplc4 -lnspr4 -lpthread -ldl ../../dist/lib/libmozalloc.a -
ldbus-1 -lpthread -lrt   -L/usr/lib64 -lX11  -lXext  -pthread -lpangoft2-1.0 -
lfreetype -lfontconfig -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -
lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0   -pthread -lgtk-x11-2.0 -latk-1.0 -
lgio-2.0 -lpangoft2-1.0 -lfreetype -lfontconfig -lgdk-x11-2.0 -lpangocairo-1.0 -
lgdk_pixbuf-2.0 -lpango-1.0 -lcairo -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -
lrt -lglib-2.0   -lXt -lgthread-2.0 -lfreetype -lz -lbz2 -lstartup-notification-
1   -ldl  -lrt
clang: warning: argument unused during compilation: '-std=gnu++0x'
Global is external, but doesn't have external or dllimport or weak linkage!
%"class.IPC::Message.226497"* (%"class.std::map.226896"*, i64*)*
@_ZNSt3mapImN3IPC7MessageESt4lessImESaISt4pairIKmS1_EEEixEOm
invalid linkage type for function declaration
%"class.IPC::Message.226497"* (%"class.std::map.226896"*, i64*)*
@_ZNSt3mapImN3IPC7MessageESt4lessImESaISt4pairIKmS1_EEEixEOm
Global is external, but doesn't have external or dllimport or weak linkage!
i1 (%"class.mozilla::ipc::RPCChannel.226903"*)*
@_ZNK7mozilla3ipc10RPCChannel27ShouldDeferNotifyMaybeErrorEv
invalid linkage type for function declaration
i1 (%"class.mozilla::ipc::RPCChannel.226903"*)*
@_ZNK7mozilla3ipc10RPCChannel27ShouldDeferNotifyMaybeErrorEv
Global is external, but doesn't have external or dllimport or weak linkage!
void (%"class.std::deque.16.226889"*, %"class.IPC::Message.226497"*)*
@_ZNSt5dequeIN3IPC7MessageESaIS1_EE9push_backERKS1_
invalid linkage type for function declaration
void (%"class.std::deque.16.226889"*, %"class.IPC::Message.226497"*)*
@_ZNSt5dequeIN3IPC7MessageESaIS1_EE9push_backERKS1_
invalid linkage type for global declaration
[49 x i8]* @.str53683
invalid linkage type for global declaration
[24 x i8]* @.str153684
invalid linkage type for global declaration
[36 x i8]* @.str253685
invalid linkage type for global declaration
[4 x i8]* @.str353686
invalid linkage type for global declaration
[17 x i8]* @.str453687
invalid linkage type for global declaration
[17 x i8]* @.str553688
invalid linkage type for global declaration
[25 x i8]* @.str653689
invalid linkage type for global declaration
[36 x i8]* @.str753690
invalid linkage type for global declaration
[14 x i8]* @.str853691
invalid linkage type for global declaration
[34 x i8]* @.str953692
invalid linkage type for global declaration
[11 x i8]* @.str1053693
invalid linkage type for global declaration
[17 x i8]* @.str1153694
invalid linkage type for global declaration
[36 x i8]* @.str1253695
invalid linkage type for global declaration
[15 x i8]* @.str1353696
invalid linkage type for global declaration
[7 x i8]* @.str1453697
invalid linkage type for global declaration
[18 x i8]* @.str1553698
invalid linkage type for global declaration
[18 x i8]* @.str1653699
invalid linkage type for global declaration
[99 x i8]* @.str1753700
invalid linkage type for global declaration
[23 x i8]* @.str1853701
invalid linkage type for global declaration
[26 x i8]* @.str1953702
invalid linkage type for global declaration
[53 x i8]* @.str2053703
invalid linkage type for global declaration
[61 x i8]* @.str2153704
invalid linkage type for global declaration
[18 x i8]* @.str2253705
invalid linkage type for global declaration
[27 x i8]* @.str2353706
invalid linkage type for global declaration
[23 x i8]* @__FUNCTION__._ZN7mozilla3ipc10RPCChannel22EnqueuePendingMessagesEv
invalid linkage type for global declaration
[34 x i8]* @.str2453707
invalid linkage type for global declaration
[19 x i8]* @.str2553708
invalid linkage type for global declaration
[29 x i8]* @.str2853709
invalid linkage type for global declaration
[12 x i8]* @.str2953710
invalid linkage type for global declaration
[28 x i8]* @.str3353711
invalid linkage type for global declaration
[30 x i8]* @.str3453712
invalid linkage type for global declaration
[49 x i8]* @.str3553713
invalid linkage type for global declaration
[79 x i8]* @.str3653714
invalid linkage type for global declaration
[6 x i8]* @.str3753715
invalid linkage type for global declaration
[7 x i8]* @.str3853716
invalid linkage type for global declaration
[6 x i8]* @.str3953717
invalid linkage type for global declaration
[1 x i8]* @.str4053718
invalid linkage type for global declaration
[3 x i8]* @.str4153719
invalid linkage type for global declaration
[31 x i8]* @.str4253720
invalid linkage type for global declaration
[28 x i8]* @.str4353721
invalid linkage type for global declaration
[43 x i8]* @.str4453722
invalid linkage type for global declaration
[43 x i8]* @.str4553723
invalid linkage type for global declaration
[14 x i8]* @.str4653724
invalid linkage type for global declaration
[5 x i8]* @.str4753725
invalid linkage type for global declaration
[6 x i8]* @.str4853726
invalid linkage type for global declaration
[27 x i8]* @.str4953727
invalid linkage type for global declaration
[30 x i8]* @.str5053728
invalid linkage type for global declaration
[18 x i8]*
@__FUNCTION__._ZN7mozilla3ipc10RPCChannel17OnMessageReceivedERKN3IPC7MessageE
invalid linkage type for global declaration
[27 x i8]* @.str5153729
invalid linkage type for global declaration
[6 x i8*]* @_ZTV14RunnableMethodIN7mozilla3ipc10RPCChannelEMS2_FbvE6Tuple0E
invalid linkage type for global declaration
[3 x i8]* @.str5253730
invalid linkage type for global declaration
[4 x i8]* @.str5353731
invalid linkage type for global declaration
[4 x i8]* @.str5453732
invalid linkage type for global declaration
[4 x i8*]* @_ZTVN12_GLOBAL__N_119UnblockChildMessageE
invalid linkage type for global declaration
[4 x i8*]* @_ZTVN12_GLOBAL__N_117BlockChildMessageE
invalid linkage type for global declaration
[5 x i8*]* @_ZTVN7mozilla3ipc10RPCChannel11DequeueTaskE
Broken module found, compilation aborted!
Stack dump:
0.      Running pass 'Function Pass Manager' on module 'ld-temp.o'.
clang: error: unable to execute command: Aborted
clang: error: linker command failed due to signal 2 (use -v to see invocation)
clang: note: diagnostic msg: Please submit a bug report to
http://llvm.org/bugs/ and include command line arguments and all diagnostic
information.
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is
deprecated
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is
deprecated
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is
deprecated
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is
deprecated
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is
deprecated
clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is
deprecated
clang: note: diagnostic msg: Error generating preprocessed source(s).
make[5]: *** [libxul.so] Error 254
Quuxplusone commented 12 years ago

Could you attach an example that reproduces this error?

Quuxplusone commented 12 years ago
(In reply to comment #1)
> Could you attach an example that reproduces this error?

The link error is gone now!
Just built Firefox successfully with -O4.

 % clang -v
clang version 3.1 (trunk 148024)
Target: x86_64-unknown-linux-gnu
Thread model: posix

about:buildconfig
Source
Built from http://hg.mozilla.org/mozilla-central/rev/9b5f1ccdb021

Build platform
target
x86_64-unknown-linux-gnu

Build tools
Compiler    Version     Compiler flags
clang       -pedantic -Wall -W -Wno-unused -Wpointer-arith -Wdeclaration-after-
statement -W -Wno-long-long -march=native -fno-strict-aliasing -pthread -
ffunction-sections -pipe -DNDEBUG -DTRIMMED -O4 -fomit-frame-pointer

clang++         -fno-rtti -pedantic -Wall -Wpointer-arith -Woverloaded-virtual -
Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-c++0x-extensions -Wno-
extended-offsetof -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-
type -Wno-long-long -march=native -Wno-delete-non-virtual-dtor -fno-exceptions -
fno-strict-aliasing -std=gnu++0x -pthread -ffunction-sections -pipe -DNDEBUG -
DTRIMMED -O4 -fomit-frame-pointer

Configure arguments
--enable-application=browser --prefix=/usr --libdir=/usr/lib --with-system-jpeg
--with-pthreads --with-system-zlib --with-system-bz2 --with-system-hunspell --
with-system-sqlite --with-system-libevent --with-system-lcms --disable-
installer --disable-updater --enable-official-branding --enable-startup-
notification --disable-necko-wifi --disable-accessibility --disable-elf-hack --
enable-jemalloc --enable-optimize=-O4 --disable-debug --disable-tests --disable-
debug-symbols --enable-strip --enable-install-strip --enable-default-
toolkit=cairo-gtk2 -enable-system-cairo --disable-crashreporter --disable-
parental-controls --disable-safe-browsing --enable-profile-guided-optimization