llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
28.57k stars 11.81k forks source link

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

Closed llvmbot closed 12 years ago

llvmbot commented 12 years ago
Bugzilla Link 11301
Resolution FIXED
Resolved on Jan 13, 2012 07:15
Version trunk
OS Linux
Reporter LLVM Bugzilla Contributor

Extended Description

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_EE9pushbackERKS1 invalid linkage type for function declaration void (%"class.std::deque.16.226889", %"class.IPC::Message.226497") @​_ZNSt5dequeIN3IPC7MessageESaIS1_EE9pushbackERKS1 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:

  1. 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
llvmbot commented 12 years ago

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

llvmbot commented 12 years ago

Could you attach an example that reproduces this error?