Bug 154281 - webkit-2.4.9 will not compile with lto
Summary: webkit-2.4.9 will not compile with lto
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Local Build
Hardware: PC Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-02-16 02:07 PST by john.frankish
Modified: 2016-02-16 02:07 PST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description john.frankish 2016-02-16 02:07:31 PST
Using gcc-5.2.0, webkit-2.4.9 fails to compile with lto, but compiles OK without lto.

webkit-2.8.5 will compile with lto.

CC="gcc -flto -fuse-linker-plugin -mtune=generic -Os -pipe" CXX="g++ -flto -fuse-linker-plugin -mtune=generic -Os -pipe" ../configure --prefix=/usr/local --disable-static --libexecdir=/usr/local/lib/webkit2gtk-3.0 --enable-introspection

find . -name GNUmakefile -type f -exec sed -i 's/-O2//g' {} \;

time make -j5
...
libtool: link: g++ -flto -fuse-linker-plugin -mtune=generic -Os -pipe  -fPIC -DPIC -shared -nostdlib /usr/lib/crti.o /tmp/tcloop/gcc/usr/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/5.2.0/crtbeginS.o .libs/libjavascriptcoregtk-3.0.la.lnkscript -Wl,--whole-archive ./.libs/libWTF.a -Wl,--no-whole-archive  -L/usr/local/lib -ldl -L/usr/lib -lresolv /usr/local/lib/libffi.so /usr/local/lib/libpcre.so -lpthread -lz /usr/local/lib/libgmodule-2.0.so /usr/local/lib/libgthread-2.0.so /usr/local/lib/libgio-2.0.so /usr/local/lib/libgobject-2.0.so /usr/local/lib/libglib-2.0.so -licui18n -licuuc -licudata -lrt -L/tmp/tcloop/gcc/usr/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/5.2.0 -L/tmp/tcloop/gcc/usr/local/bin/../lib/gcc -L/tmp/tcloop/gcc/usr/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/5.2.0/../../.. /usr/lib/libstdc++.so -lm -lc -lgcc_s /tmp/tcloop/gcc/usr/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/5.2.0/crtendS.o /usr/lib/crtn.o  -flto -fuse-linker-plugin -mtune=generic -Os -pthread -pthread -Wl,--no-demangle -Wl,--export-dynamic -pthread -pthread   -pthread -Wl,-soname -Wl,libjavascriptcoregtk-3.0.so.0 -o .libs/libjavascriptcoregtk-3.0.so.0.16.1
...
[there are at least 200 blank lines in the terminal window at this point]

`llint_entry_osr' referenced in section `.text' of /tmp/ccwDMpRR.ltrans0.ltrans.o: defined in discarded section `.text' of Source/JavaScriptCore/llint/.libs/libjavascriptcoregtk_3_0_la-LLIntSlowPaths.o (symbol from plugin)
...
`llint_throw_from_native_call' referenced in section `.text' of /tmp/ccwDMpRR.ltrans0.ltrans.o: defined in discarded section `.text' of Source/JavaScriptCore/llint/.libs/libjavascriptcoregtk_3_0_la-LLIntSlowPaths.o (symbol from plugin)
collect2: error: ld returned 1 exit status
GNUmakefile:38166: recipe for target 'libjavascriptcoregtk-3.0.la' failed
make[1]: *** [libjavascriptcoregtk-3.0.la] Error 1
make[1]: Leaving directory '/usr/src/webkitgtk-2.4.9/build'
GNUmakefile:25825: recipe for target 'all' failed
make: *** [all] Error 2
Command exited with non-zero status 2
real    1h 12m 52s
user    4h 17m 47s
sys     24m 21.01s