[Bug lto/53407] New: ICE compiling pcre-8.21 in function_and_variable_visibility, at ipa.c:1002

2012-05-18 Thread rainer-gccbugs at 7val dot com
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 -

[Bug lto/53407] ICE compiling pcre-8.21 in function_and_variable_visibility, at ipa.c:1002

2012-05-21 Thread rainer-gccbugs at 7val dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53407

--- Comment #3 from rainer-gccbugs at 7val dot com 2012-05-21 09:45:21 UTC ---
Created attachment 27456
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27456
preprocessed source


[Bug lto/53407] ICE compiling pcre-8.21 in function_and_variable_visibility, at ipa.c:1002

2012-05-21 Thread rainer-gccbugs at 7val dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53407

--- Comment #4 from rainer-gccbugs at 7val dot com 2012-05-21 09:50:27 UTC ---
It turns out a single source file is sufficient to trigger the ICE:

Compile:
$ g++ -v -save-temps  -DHAVE_CONFIG_H -I. -O3 -mtune=core2 -march=core2
-fomit-frame-pointer -funroll-loops -g -fstack-protector -fPIC -flto -MT
pcrecpp.lo -MD -MP -MF .deps/pcrecpp.Tpo -c pcrecpp.cc  -fPIC -DPIC -o
.libs/pcrecpp.o
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) 
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-D' 'HAVE_CONFIG_H' '-I' '.' '-O3'
'-mtune=core2' '-march=core2' '-fomit-frame-pointer' '-funroll-loops' '-g'
'-fstack-protector' '-flto' '-MT' 'pcrecpp.lo' '-MD' '-MP' '-MF'
'.deps/pcrecpp.Tpo' '-c' '-fPIC' '-D' 'PIC' '-o' '.libs/pcrecpp.o'
'-shared-libgcc'
 /usr/lib/gcc/x86_64-linux-gnu/4.6/cc1plus -E -quiet -v -I . -imultilib .
-imultiarch x86_64-linux-gnu -MD .libs/pcrecpp.d -MF .deps/pcrecpp.Tpo -MP -MT
pcrecpp.lo -D_GNU_SOURCE -D HAVE_CONFIG_H -D PIC pcrecpp.cc -mtune=core2
-march=core2 -fomit-frame-pointer -funroll-loops -fstack-protector -flto -fPIC
-g -fworking-directory -O3 -fpch-preprocess -fstack-protector -o pcrecpp.ii
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory
"/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 .
 /usr/include/c++/4.6
 /usr/include/c++/4.6/x86_64-linux-gnu/.
 /usr/include/c++/4.6/backward
 /usr/lib/gcc/x86_64-linux-gnu/4.6/include
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/4.6/include-fixed
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-D' 'HAVE_CONFIG_H' '-I' '.' '-O3'
'-mtune=core2' '-march=core2' '-fomit-frame-pointer' '-funroll-loops' '-g'
'-fstack-protector' '-flto' '-MT' 'pcrecpp.lo' '-MD' '-MP' '-MF'
'.deps/pcrecpp.Tpo' '-c' '-fPIC' '-D' 'PIC' '-o' '.libs/pcrecpp.o'
'-shared-libgcc'
 /usr/lib/gcc/x86_64-linux-gnu/4.6/cc1plus -fpreprocessed pcrecpp.ii -quiet
-dumpbase pcrecpp.cc -mtune=core2 -march=core2 -auxbase-strip .libs/pcrecpp.o
-g -O3 -version -fomit-frame-pointer -funroll-loops -fstack-protector -flto
-fPIC -fstack-protector -o pcrecpp.s
GNU C++ (Ubuntu/Linaro 4.6.3-1ubuntu5) version 4.6.3 (x86_64-linux-gnu)
compiled by GNU C version 4.6.3, GMP version 5.0.2, MPFR version 3.1.0-p3,
MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C++ (Ubuntu/Linaro 4.6.3-1ubuntu5) version 4.6.3 (x86_64-linux-gnu)
compiled by GNU C version 4.6.3, GMP version 5.0.2, MPFR version 3.1.0-p3,
MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 65b5171ac1bd7b3f07dbea6bdb24be3d
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-D' 'HAVE_CONFIG_H' '-I' '.' '-O3'
'-mtune=core2' '-march=core2' '-fomit-frame-pointer' '-funroll-loops' '-g'
'-fstack-protector' '-flto' '-MT' 'pcrecpp.lo' '-MD' '-MP' '-MF'
'.deps/pcrecpp.Tpo' '-c' '-fPIC' '-D' 'PIC' '-o' '.libs/pcrecpp.o'
'-shared-libgcc'
 as --64 -o .libs/pcrecpp.o pcrecpp.s
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/:/

[Bug lto/53407] ICE compiling pcre-8.21 in function_and_variable_visibility, at ipa.c:1002

2012-05-21 Thread rainer-gccbugs at 7val dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53407

--- Comment #5 from rainer-gccbugs at 7val dot com 2012-05-21 10:59:55 UTC ---
4.7 works