Hi,
Since people said it was possible, I tried. I also failed.
I configured GCC 4.8.0 with [CCX,C,LD]FLAGS_FOR_TARGET="-flto", and got
this error when building libgcc:
ln -s -f libgcc.map libgcc.map.def && if [ ! -d ./shlib ]; then mkdir
./shlib; else true; fi &&
/home/ruben/mingw-w64/linux64mingw32/gcc/./gcc/xgcc
-B/home/ruben/mingw-w64/linux64mingw32/gcc/./gcc/
-L/home/ruben/mingw-w64/linux64mingw32/mingw32/i686-w64-mingw32/lib
-L/home/ruben/mingw-w64/linux64mingw32/mingw32/mingw/lib -isystem
/home/ruben/mingw-w64/linux64mingw32/mingw32/i686-w64-mingw32/include
-isystem /home/ruben/mingw-w64/linux64mingw32/mingw32/mingw/include
-B/home/ruben/mingw-w64/linux64mingw32/mingw32/i686-w64-mingw32/bin/
-B/home/ruben/mingw-w64/linux64mingw32/mingw32/i686-w64-mingw32/lib/
-isystem
/home/ruben/mingw-w64/linux64mingw32/mingw32/i686-w64-mingw32/include
-isystem
/home/ruben/mingw-w64/linux64mingw32/mingw32/i686-w64-mingw32/sys-include
-O2 -I/home/ruben/mingw-w64/src/gcc/libgcc/../winsup/w32api/include -O2
-march=nocona -mtune=core2 -flto -fgraphite-identity -floop-interchange
-floop-block -floop-parallelize-all -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE
-W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes
-Wmissing-prototypes -Wold-style-definition -isystem ./include -g
-DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -shared
-nodefaultlibs libgcc.map.def -Wl,--out-implib,./shlib/libgcc_s.a.tmp -o
./shlib/libgcc_s_sjlj-1.dll.tmp -O2 -march=nocona -mtune=core2 -flto
-fgraphite-identity -floop-interchange -floop-block -floop-parallelize-all
-B./ _chkstk_s.o _chkstk_ms_s.o _muldi3_s.o _negdi2_s.o _lshrdi3_s.o
_ashldi3_s.o _ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o _clear_cache_s.o
_trampoline_s.o __main_s.o _absvsi2_s.o _absvdi2_s.o _addvsi3_s.o
_addvdi3_s.o _subvsi3_s.o _subvdi3_s.o _mulvsi3_s.o _mulvdi3_s.o
_negvsi2_s.o _negvdi2_s.o _ctors_s.o _ffssi2_s.o _ffsdi2_s.o _clz_s.o
_clzsi2_s.o _clzdi2_s.o _ctzsi2_s.o _ctzdi2_s.o _popcount_tab_s.o
_popcountsi2_s.o _popcountdi2_s.o _paritysi2_s.o _paritydi2_s.o
_powisf2_s.o _powidf2_s.o _powixf2_s.o _powitf2_s.o _mulsc3_s.o _muldc3_s.o
_mulxc3_s.o _multc3_s.o _divsc3_s.o _divdc3_s.o _divxc3_s.o _divtc3_s.o
_bswapsi2_s.o _bswapdi2_s.o _clrsbsi2_s.o _clrsbdi2_s.o _fixunssfsi_s.o
_fixunsdfsi_s.o _fixunsxfsi_s.o _fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o
_fixunssfdi_s.o _fixunsdfdi_s.o _fixunsxfdi_s.o _floatdisf_s.o
_floatdidf_s.o _floatdixf_s.o _floatundisf_s.o _floatundidf_s.o
_floatundixf_s.o _divdi3_s.o _moddi3_s.o _udivdi3_s.o _umoddi3_s.o
_udiv_w_sdiv_s.o _udivmoddi4_s.o gthr-win32_s.o cpuinfo_s.o tf-signs_s.o
sfp-exceptions_s.o addtf3_s.o divtf3_s.o eqtf2_s.o getf2_s.o letf2_s.o
multf3_s.o negtf2_s.o subtf3_s.o unordtf2_s.o fixtfsi_s.o fixunstfsi_s.o
floatsitf_s.o floatunsitf_s.o fixtfdi_s.o fixunstfdi_s.o floatditf_s.o
floatunditf_s.o extendsftf2_s.o extenddftf2_s.o extendxftf2_s.o
trunctfsf2_s.o trunctfdf2_s.o trunctfxf2_s.o enable-execute-stack_s.o
unwind-dw2_s.o unwind-dw2-fde_s.o unwind-sjlj_s.o unwind-c_s.o emutls_s.o
libgcc.a -lmingwthrd -lmingw32 -lmingwex -lmoldname -lmsvcrt -ladvapi32
-lshell32 -luser32 -lkernel32 && if [ -f ./shlib/libgcc_s_sjlj-1.dll ];
then mv -f ./shlib/libgcc_s_sjlj-1.dll ./shlib/libgcc_s_sjlj-1.dll.backup;
else true; fi && mv ./shlib/libgcc_s_sjlj-1.dll.tmp
./shlib/libgcc_s_sjlj-1.dll && mv ./shlib/libgcc_s.a.tmp ./shlib/libgcc_s.a
/home/ruben/mingw-w64/src/gcc/libgcc/libgcc2.c:1934:1: error: '__divtc3'
has already been defined
CONCAT3(__div,MODE,3) (MTYPE a, MTYPE b, MTYPE c, MTYPE d)
^
/home/ruben/mingw-w64/src/gcc/libgcc/libgcc2.c:1934:1: note: previously
defined here
CONCAT3(__div,MODE,3) (MTYPE a, MTYPE b, MTYPE c, MTYPE d)
^
/home/ruben/mingw-w64/src/gcc/libgcc/libgcc2.c:1934:1: error: '__divxc3'
has already been defined
CONCAT3(__div,MODE,3) (MTYPE a, MTYPE b, MTYPE c, MTYPE d)
^
/home/ruben/mingw-w64/src/gcc/libgcc/libgcc2.c:1934:1: note: previously
defined here
CONCAT3(__div,MODE,3) (MTYPE a, MTYPE b, MTYPE c, MTYPE d)
^
/home/ruben/mingw-w64/src/gcc/libgcc/libgcc2.c:1934:1: error: '__divdc3'
has already been defined
CONCAT3(__div,MODE,3) (MTYPE a, MTYPE b, MTYPE c, MTYPE d)
^
/home/ruben/mingw-w64/src/gcc/libgcc/libgcc2.c:1934:1: note: previously
defined here
CONCAT3(__div,MODE,3) (MTYPE a, MTYPE b, MTYPE c, MTYPE d)
^
/home/ruben/mingw-w64/src/gcc/libgcc/libgcc2.c:1934:1: error: '__divsc3'
has already been defined
CONCAT3(__div,MODE,3) (MTYPE a, MTYPE b, MTYPE c, MTYPE d)
^
/home/ruben/mingw-w64/src/gcc/libgcc/libgcc2.c:1934:1: note: previously
defined here
CONCAT3(__div,MODE,3) (MTYPE a, MTYPE b, MTYPE c, MTYPE d)
^
/home/ruben/mingw-w64/src/gcc/libgcc/libgcc2.c:1864:1: error: '__multc3'
has already been defined
CONCAT3(__mul,MODE,3) (MTYPE a, MTYPE b, MTYPE c, MTYPE d)
^
/home/ruben/mingw-w64/src/gcc/libgcc/libgcc2.c:1864:1: note: previously
defined here
CONCAT3(__mul,MODE,3) (MTYPE a, MTYPE b, MTYPE c, MTYPE d)
^
/home/ruben/mingw-w64/src/gcc/libgcc/libgcc2.c:1864:1: error: '__mulxc3'
has already been defined
CONCAT3(__mul,MODE,3) (MTYPE a, MTYPE b, MTYPE c, MTYPE d)
^
/home/ruben/mingw-w64/src/gcc/libgcc/libgcc2.c:1864:1: note: previously
defined here
CONCAT3(__mul,MODE,3) (MTYPE a, MTYPE b, MTYPE c, MTYPE d)
^
/home/ruben/mingw-w64/src/gcc/libgcc/libgcc2.c:1864:1: error: '__muldc3'
has already been defined
CONCAT3(__mul,MODE,3) (MTYPE a, MTYPE b, MTYPE c, MTYPE d)
^
/home/ruben/mingw-w64/src/gcc/libgcc/libgcc2.c:1864:1: note: previously
defined here
CONCAT3(__mul,MODE,3) (MTYPE a, MTYPE b, MTYPE c, MTYPE d)
^
/home/ruben/mingw-w64/src/gcc/libgcc/libgcc2.c:1864:1: error: '__mulsc3'
has already been defined
CONCAT3(__mul,MODE,3) (MTYPE a, MTYPE b, MTYPE c, MTYPE d)
^
/home/ruben/mingw-w64/src/gcc/libgcc/libgcc2.c:1864:1: note: previously
defined here
CONCAT3(__mul,MODE,3) (MTYPE a, MTYPE b, MTYPE c, MTYPE d)
^
/home/ruben/mingw-w64/src/gcc/libgcc/libgcc2.c:2062:1: error:
'__clear_cache' has already been defined
__clear_cache (char *beg __attribute__((__unused__)),
^
/home/ruben/mingw-w64/src/gcc/libgcc/libgcc2.c:2062:1: note: previously
defined here
__clear_cache (char *beg __attribute__((__unused__)),
^
lto1: fatal error: errors during merging of translation units
compilation terminated.
lto-wrapper: /home/ruben/mingw-w64/linux64mingw32/gcc/./gcc/xgcc returned 1
exit status
/home/ruben/mingw-w64/linux64mingw32/mingw32/i686-w64-mingw32/bin/ld:
lto-wrapper failed
collect2: error: ld returned 1 exit status
This means lto does not work, as I expected and have expected ever since I
found out it was broken. If anyone knows how to build GCC and associated
libraries with lto, please enlighten me on how you avoided these in my eyes
unavoidable failures.
Thanks,
Ruben
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public