Hi. I am seeing the following LTO build failure with recent GCC 4.8. How can I reduce it into a usable test case? --8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8< make all-recursive make[1]: Entering directory `/home/wilx/log4cplus-bzr/work-trunk/objdir' Making all in include make[2]: Entering directory `/home/wilx/log4cplus-bzr/work-trunk/objdir/include' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/home/wilx/log4cplus-bzr/work-trunk/objdir/include' make[2]: Entering directory `/home/wilx/log4cplus-bzr/work-trunk/objdir' /bin/bash ./libtool --tag=CXX --mode=link g++-4.8 -O2 -march=native -save-temps=obj -fverbose-asm -g -flto -Ofast -std=c++11 -Wall -fdiagnostics-show-caret -Wextra -pedantic -Wstrict-aliasing -Wstrict-overflow -Woverloaded-virtual -Wold-style-cast -Wc++0x-compat -Wc++11-compat -Wundef -Wshadow -Wformat -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wno-variadic-macros -g3 -fkeep-inline-functions -fstack-check -fstack-protector -ftrapv -ftrack-macro-expansion -fvisibility=hidden -pthread -no-undefined -version-info 0:0:0 -release 1.2 -flto -flto-partition=none -fuse-linker-plugin -o liblog4cplus.la -rpath /usr/local/lib src/liblog4cplus_la-appenderattachableimpl.lo src/liblog4cplus_la-appender.lo src/liblog4cplus_la-asyncappender.lo src/liblog4cplus_la-clogger.lo src/liblog4cplus_la-configurator.lo src/liblog4cplus_la-consoleappender.lo src/liblog4cplus_la-cygwin-win32.lo src/liblog4cplus_la-env.lo src/liblog4cplus_la-factory.lo src/liblog4cplus_la-fileappender.lo src/liblog4cplus_la-fileinfo.lo src/liblog4cplus_la-filter.lo src/liblog4cplus_la-global-init.lo src/liblog4cplus_la-hierarchy.lo src/liblog4cplus_la-hierarchylocker.lo src/liblog4cplus_la-layout.lo src/liblog4cplus_la-log4judpappender.lo src/liblog4cplus_la-lockfile.lo src/liblog4cplus_la-logger.lo src/liblog4cplus_la-loggerimpl.lo src/liblog4cplus_la-loggingevent.lo src/liblog4cplus_la-loggingmacros.lo src/liblog4cplus_la-loglevel.lo src/liblog4cplus_la-loglog.lo src/liblog4cplus_la-logloguser.lo src/liblog4cplus_la-mdc.lo src/liblog4cplus_la-ndc.lo src/liblog4cplus_la-nullappender.lo src/liblog4cplus_la-nteventlogappender.lo src/liblog4cplus_la-objectregistry.lo src/liblog4cplus_la-patternlayout.lo src/liblog4cplus_la-pointer.lo src/liblog4cplus_la-property.lo src/liblog4cplus_la-queue.lo src/liblog4cplus_la-rootlogger.lo src/liblog4cplus_la-sleep.lo src/liblog4cplus_la-snprintf.lo src/liblog4cplus_la-socketappender.lo src/liblog4cplus_la-socketbuffer.lo src/liblog4cplus_la-socket.lo src/liblog4cplus_la-socket-unix.lo src/liblog4cplus_la-socket-win32.lo src/liblog4cplus_la-stringhelper.lo src/liblog4cplus_la-stringhelper-clocale.lo src/liblog4cplus_la-stringhelper-cxxlocale.lo src/liblog4cplus_la-stringhelper-iconv.lo src/liblog4cplus_la-syncprims.lo src/liblog4cplus_la-syslogappender.lo src/liblog4cplus_la-threads.lo src/liblog4cplus_la-timehelper.lo src/liblog4cplus_la-tls.lo src/liblog4cplus_la-version.lo src/liblog4cplus_la-win32consoleappender.lo src/liblog4cplus_la-win32debugappender.lo -lrt libtool: link: g++-4.8 -fPIC -DPIC -shared -nostdlib /usr/lib/x86_64-linux-gnu/crti.o /home/wilx/gcc48/lib/gcc/x86_64-linux-gnu/4.8.0/crtbeginS.o src/.libs/liblog4cplus_la-appenderattachableimpl.o src/.libs/liblog4cplus_la-appender.o src/.libs/liblog4cplus_la-asyncappender.o src/.libs/liblog4cplus_la-clogger.o src/.libs/liblog4cplus_la-configurator.o src/.libs/liblog4cplus_la-consoleappender.o src/.libs/liblog4cplus_la-cygwin-win32.o src/.libs/liblog4cplus_la-env.o src/.libs/liblog4cplus_la-factory.o src/.libs/liblog4cplus_la-fileappender.o src/.libs/liblog4cplus_la-fileinfo.o src/.libs/liblog4cplus_la-filter.o src/.libs/liblog4cplus_la-global-init.o src/.libs/liblog4cplus_la-hierarchy.o src/.libs/liblog4cplus_la-hierarchylocker.o src/.libs/liblog4cplus_la-layout.o src/.libs/liblog4cplus_la-log4judpappender.o src/.libs/liblog4cplus_la-lockfile.o src/.libs/liblog4cplus_la-logger.o src/.libs/liblog4cplus_la-loggerimpl.o src/.libs/liblog4cplus_la-loggingevent.o src/.libs/liblog4cplus_la-loggingmacros.o src/.libs/liblog4cplus_la-loglevel.o src/.libs/liblog4cplus_la-loglog.o src/.libs/liblog4cplus_la-logloguser.o src/.libs/liblog4cplus_la-mdc.o src/.libs/liblog4cplus_la-ndc.o src/.libs/liblog4cplus_la-nullappender.o src/.libs/liblog4cplus_la-nteventlogappender.o src/.libs/liblog4cplus_la-objectregistry.o src/.libs/liblog4cplus_la-patternlayout.o src/.libs/liblog4cplus_la-pointer.o src/.libs/liblog4cplus_la-property.o src/.libs/liblog4cplus_la-queue.o src/.libs/liblog4cplus_la-rootlogger.o src/.libs/liblog4cplus_la-sleep.o src/.libs/liblog4cplus_la-snprintf.o src/.libs/liblog4cplus_la-socketappender.o src/.libs/liblog4cplus_la-socketbuffer.o src/.libs/liblog4cplus_la-socket.o src/.libs/liblog4cplus_la-socket-unix.o src/.libs/liblog4cplus_la-socket-win32.o src/.libs/liblog4cplus_la-stringhelper.o src/.libs/liblog4cplus_la-stringhelper-clocale.o src/.libs/liblog4cplus_la-stringhelper-cxxlocale.o src/.libs/liblog4cplus_la-stringhelper-iconv.o src/.libs/liblog4cplus_la-syncprims.o src/.libs/liblog4cplus_la-syslogappender.o src/.libs/liblog4cplus_la-threads.o src/.libs/liblog4cplus_la-timehelper.o src/.libs/liblog4cplus_la-tls.o src/.libs/liblog4cplus_la-version.o src/.libs/liblog4cplus_la-win32consoleappender.o src/.libs/liblog4cplus_la-win32debugappender.o -Wl,-rpath -Wl,/home/wilx/gcc48/lib/../lib64 -Wl,-rpath -Wl,/home/wilx/gcc48/lib/../lib64 -L/home/wilx/gcc48/lib/gcc/x86_64-linux-gnu/4.8.0 -L/home/wilx/gcc48/lib/gcc/x86_64-linux-gnu/4.8.0/../../../../lib64 -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib64 -L/home/wilx/gcc48/lib/gcc/x86_64-linux-gnu/4.8.0/../../.. /home/wilx/gcc48/lib/../lib64/libstdc++.so -lrt -lm -lpthread -lc -lgcc_s /home/wilx/gcc48/lib/gcc/x86_64-linux-gnu/4.8.0/crtfastmath.o /home/wilx/gcc48/lib/gcc/x86_64-linux-gnu/4.8.0/crtendS.o /usr/lib/x86_64-linux-gnu/crtn.o -O2 -march=native -flto -Ofast -pthread -flto -flto-partition=none -fuse-linker-plugin -pthread -Wl,-soname -Wl,liblog4cplus-1.2.so.0 -o .libs/liblog4cplus-1.2.so.0.0.0 In file included from :363:0: /usr/include/x86_64-linux-gnu/bits/wchar2.h: In function '_ZN9__gnu_cxx12__to_xstringISbIwSt11char_traitsIwESaIwEEwEET_PFiPT0_mPKS6_P13__va_list_tagEmS9_z.constprop.23': /usr/include/x86_64-linux-gnu/bits/wchar2.h:316:28: error: inlining failed in call to always_inline 'vswprintf': recursive inlining __NTH (vswprintf (wchar_t *__restrict __s, size_t __n, ^ In file included from <built-in>:36116:0, from <built-in>:3, from /home/wilx/gcc48/include/c++/4.8.0/bits/stl_algobase.h:427, from ../src/threads.cxx:1604, from ../src/syslogappender.cxx:1516, from /home/wilx/gcc48/include/c++/4.8.0/bits/basic_string.h:2925, from /home/wilx/gcc48/include/c++/4.8.0/bits/basic_string.h:2632, from ../src/stringhelper-cxxlocale.cxx:783, from /home/wilx/gcc48/include/c++/4.8.0/bits/basic_string.h:2683, from ../src/stringhelper.cxx:769, from /home/wilx/gcc48/include/c++/4.8.0/bits/stl_algobase.h:1441, from /home/wilx/gcc48/include/c++/4.8.0/bits/basic_string.h:2806, from /home/wilx/gcc48/include/c++/4.8.0/bits/basic_string.h:2203, from /home/wilx/gcc48/include/c++/4.8.0/bits/basic_string.h:1042, from /home/wilx/gcc48/include/c++/4.8.0/bits/stl_algobase.h:1478, from /home/wilx/gcc48/include/c++/4.8.0/bits/basic_string.h:2848, from ../include/log4cplus/spi/rootlogger.h:477, from ../include/log4cplus/thread/syncprims.h:1154, from ../src/property.cxx:1512, from /home/wilx/gcc48/include/c++/4.8.0/bits/basic_string.h:3254, from ../src/patternlayout.cxx:1948, from /home/wilx/gcc48/include/c++/4.8.0/bits/basic_string.h:3179, from /home/wilx/gcc48/include/c++/4.8.0/bits/basic_string.h:2712, from ../src/ndc.cxx:1131, from ../src/mdc.cxx:1282, from /home/wilx/gcc48/include/c++/4.8.0/bits/basic_string.h:2907, from /home/wilx/gcc48/include/c++/4.8.0/bits/basic_string.h:2180, from ../src/loglevel.cxx:1159, from ../include/log4cplus/tracelogger.h:1255, from ../src/loggingevent.cxx:1418, from ../src/loggerimpl.cxx:1287, from /home/wilx/gcc48/include/c++/4.8.0/bits/basic_string.h:3030, from /home/wilx/gcc48/include/c++/4.8.0/bits/basic_string.h:2859, from ../src/log4judpappender.cxx:860, from ../src/layout.cxx:1352, from ../src/hierarchylocker.cxx:1211, from ../src/hierarchy.cxx:1106, from ../src/global-init.cxx:1783, from ../include/log4cplus/spi/filter.h:1588, from /home/wilx/gcc48/include/c++/4.8.0/bits/basic_string.h:2731, from ../src/fileappender.cxx:1348, from ../src/factory.cxx:1608, from /home/wilx/gcc48/include/c++/4.8.0/bits/basic_string.h:3120, from ../src/consoleappender.cxx:859, from ../src/configurator.cxx:1785, from /home/wilx/gcc48/lib/gcc/x86_64-linux-gnu/4.8.0/include/stdarg.h:1860, from ../src/asyncappender.cxx:1276, from ../src/appender.cxx:1667, from ../src/appenderattachableimpl.cxx:1478, from :1129: /usr/include/x86_64-linux-gnu/bits/wchar2.h:322:50: error: called from here return __vswprintf_alias (__s, __n, __fmt, __ap); ^ lto-wrapper: g++-4.8 returned 1 exit status /usr/bin/ld.gold: fatal error: lto-wrapper failed collect2: error: ld returned 1 exit status make[2]: *** [liblog4cplus.la] Error 1 make[2]: Leaving directory `/home/wilx/log4cplus-bzr/work-trunk/objdir' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/wilx/log4cplus-bzr/work-trunk/objdir' make: *** [all] Error 2 --8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8<--8< -- VZ
Attachment:
signature.asc
Description: OpenPGP digital signature