http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53407
Bug #: 53407
Summary: ICE compiling pcre-8.21 in
function_and_variable_visibility, at ipa.c:1002
Classification: Unclassified
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: lto
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rainer-gccb...@7val.com
g++ throws an ICE when linking pcre-8.21 with -flto, it works with -O3. Since
the bug is in the linker phase, I don't have any preprocessed files I could
attach. The pcre source code is available at
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ If required, I can
supply the entire source directory, including the object files used in the link
line below, or any subset thereof.
The GCC used is the default Version included in Ubuntu 12.04 x86_64.
$ g++ -v -save-temps -fPIC -DPIC -shared -nostdlib
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.6 --enable-shared --enable-linker-build-id
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object
--enable-plugin --enable-objc-gc --disable-werror --with-arch-32=i686
--with-tune=generic --enable-checking=release --build=x86_64-linux-gnu
--host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.6/:/usr/lib/gcc/x86_64-linux-gnu/4.6/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.6/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.6/:/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-fPIC' '-D' 'PIC' '-shared' '-nostdlib'
'-LDEST/lib' '-L/usr/lib/gcc/x86_64-linux-gnu/4.6'
'-L/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu'
'-L/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib' '-L/lib/x86_64-linux-gnu'
'-L/lib/../lib' '-L/usr/lib/x86_64-linux-gnu' '-L/usr/lib/../lib'
'-L/usr/lib/gcc/x86_64-linux-gnu/4.6/../../..' '-O3' '-mtune=core2'
'-march=core2' '-flto' '-o' '.libs/libpcrecpp.so.0.0.0' '-shared-libgcc'
/usr/lib/gcc/x86_64-linux-gnu/4.6/collect2 -plugin
/usr/lib/gcc/x86_64-linux-gnu/4.6/liblto_plugin.so
-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/4.6/lto-wrapper
-plugin-opt=-fresolution=libpcrecpp.so.res -flto --sysroot=/ --build-id
--no-add-needed --as-needed --eh-frame-hdr -m elf_x86_64 --hash-style=gnu
-shared -z relro -o .libs/libpcrecpp.so.0.0.0 -LDEST/lib
-L/usr/lib/gcc/x86_64-linux-gnu/4.6
-L/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu
-L/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib -L/lib/x86_64-linux-gnu
-L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib
-L/usr/lib/gcc/x86_64-linux-gnu/4.6/../../..
-L/usr/lib/gcc/x86_64-linux-gnu/4.6
-L/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu
-L/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib -L/lib/x86_64-linux-gnu
-L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib
-L/usr/lib/gcc/x86_64-linux-gnu/4.6/../../..
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crti.o
/usr/lib/gcc/x86_64-linux-gnu/4.6/crtbeginS.o .libs/pcrecpp.o
.libs/pcre_scanner.o .libs/pcre_stringpiece.o -rpath
/home/build/fit3/build/src/external/pcre-8.21_/.libs -rpath /tmp/pcre/lib
./.libs/libpcre.so -lstdc++ -lm -lc -lgcc_s
/usr/lib/gcc/x86_64-linux-gnu/4.6/crtendS.o
/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/crtn.o -soname
libpcrecpp.so.0
g++ @/tmp/ccQdRwkk.args
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.6 --enable-shared --enable-linker-build-id
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object
--enable-plugin --enable-objc-gc --disable-werror -