This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug lto/65828] New: [LTO] ICE in streamer_get_builtin_tree, at tree-streamer-in.c:1127


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65828

            Bug ID: 65828
           Summary: [LTO] ICE in streamer_get_builtin_tree, at
                    tree-streamer-in.c:1127
           Product: gcc
           Version: 4.9.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: lto
          Assignee: unassigned at gcc dot gnu.org
          Reporter: steven at uplinklabs dot net

Host architecture is x86_64, GCC version is the 4.9-20150415 snapshot. I've
also seen this ICE on the 5-20150414 snapshot under the same conditions.

The only thing I'm doing that's really unusual is combining -flto and
-fsanitize=undefined.

Normally I'd provide a reduced test case, but delta decided after some churning
that the args file provided to lto1 was already reduced -- and the tarball of
those objects was larger than the max attachment size.

So in lieu of a nice attached repro, here are some steps:

$ wget http://ftp.gnome.org/pub/GNOME/sources/glib/2.44/glib-2.44.0.tar.xz
$ tar xf glib-2.44.0.tar.xz
$ cd glib-2.44.0
$ ./configure --disable-debug CC="gcc -flto" AR="gcc-ar" RANLIB="gcc-ranlib"
CFLAGS="-O2 -fsanitize=undefined"
$ make


It will break on the libglib-2.0.la link step:

$ gcc -v -save-temps -flto -shared  -fPIC -DPIC 
.libs/libglib_2_0_la-gallocator.o .libs/libglib_2_0_la-gcache.o
.libs/libglib_2_0_la-gcompletion.o .libs/libglib_2_0_la-grel.o
.libs/libglib_2_0_la-gthread-deprecated.o .libs/libglib_2_0_la-garray.o
.libs/libglib_2_0_la-gasyncqueue.o .libs/libglib_2_0_la-gatomic.o
.libs/libglib_2_0_la-gbacktrace.o .libs/libglib_2_0_la-gbase64.o
.libs/libglib_2_0_la-gbitlock.o .libs/libglib_2_0_la-gbookmarkfile.o
.libs/libglib_2_0_la-gbytes.o .libs/libglib_2_0_la-gcharset.o
.libs/libglib_2_0_la-gchecksum.o .libs/libglib_2_0_la-gconvert.o
.libs/libglib_2_0_la-gdataset.o .libs/libglib_2_0_la-gdate.o
.libs/libglib_2_0_la-gdatetime.o .libs/libglib_2_0_la-gdir.o
.libs/libglib_2_0_la-genviron.o .libs/libglib_2_0_la-gerror.o
.libs/libglib_2_0_la-gfileutils.o .libs/libglib_2_0_la-ggettext.o
.libs/libglib_2_0_la-ghash.o .libs/libglib_2_0_la-ghmac.o
.libs/libglib_2_0_la-ghook.o .libs/libglib_2_0_la-ghostutils.o
.libs/libglib_2_0_la-giochannel.o .libs/libglib_2_0_la-gkeyfile.o
.libs/libglib_2_0_la-glib-init.o .libs/libglib_2_0_la-glib-private.o
.libs/libglib_2_0_la-glist.o .libs/libglib_2_0_la-gmain.o
.libs/libglib_2_0_la-gmappedfile.o .libs/libglib_2_0_la-gmarkup.o
.libs/libglib_2_0_la-gmem.o .libs/libglib_2_0_la-gmessages.o
.libs/libglib_2_0_la-gnode.o .libs/libglib_2_0_la-goption.o
.libs/libglib_2_0_la-gpattern.o .libs/libglib_2_0_la-gpoll.o
.libs/libglib_2_0_la-gprimes.o .libs/libglib_2_0_la-gqsort.o
.libs/libglib_2_0_la-gquark.o .libs/libglib_2_0_la-gqueue.o
.libs/libglib_2_0_la-grand.o .libs/libglib_2_0_la-gregex.o
.libs/libglib_2_0_la-gscanner.o .libs/libglib_2_0_la-gsequence.o
.libs/libglib_2_0_la-gshell.o .libs/libglib_2_0_la-gslice.o
.libs/libglib_2_0_la-gslist.o .libs/libglib_2_0_la-gstdio.o
.libs/libglib_2_0_la-gstrfuncs.o .libs/libglib_2_0_la-gstring.o
.libs/libglib_2_0_la-gstringchunk.o .libs/libglib_2_0_la-gtestutils.o
.libs/libglib_2_0_la-gthread.o .libs/libglib_2_0_la-gthreadpool.o
.libs/libglib_2_0_la-gtimer.o .libs/libglib_2_0_la-gtimezone.o
.libs/libglib_2_0_la-gtranslit.o .libs/libglib_2_0_la-gtrashstack.o
.libs/libglib_2_0_la-gtree.o .libs/libglib_2_0_la-guniprop.o
.libs/libglib_2_0_la-gutf8.o .libs/libglib_2_0_la-gunibreak.o
.libs/libglib_2_0_la-gunicollate.o .libs/libglib_2_0_la-gunidecomp.o
.libs/libglib_2_0_la-gurifuncs.o .libs/libglib_2_0_la-gutils.o
.libs/libglib_2_0_la-gvariant.o .libs/libglib_2_0_la-gvariant-core.o
.libs/libglib_2_0_la-gvariant-parser.o
.libs/libglib_2_0_la-gvariant-serialiser.o
.libs/libglib_2_0_la-gvarianttypeinfo.o .libs/libglib_2_0_la-gvarianttype.o
.libs/libglib_2_0_la-gversion.o .libs/libglib_2_0_la-gwakeup.o
.libs/libglib_2_0_la-gprintf.o .libs/libglib_2_0_la-glib-unix.o
.libs/libglib_2_0_la-gthread-posix.o .libs/giounix.o .libs/gspawn.o 
-Wl,--whole-archive libcharset/.libs/libcharset.a pcre/.libs/libpcre.a
-Wl,--no-whole-archive  -lpthread  -flto -O2 -Wl,-Bsymbolic-functions  
-Wl,-soname -Wl,libglib-2.0.so.0 -o .libs/libglib-2.0.so.0.4400.0
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /build/gcc-multilib/src/gcc-4.9-20150415/configure
--prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man
--infodir=/usr/share/info
--enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared
--enable-threads=posix --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch
--disable-libssp --enable-gnu-unique-object --enable-linker-build-id
--enable-cloog-backend=isl --enable-lto --enable-plugin
--enable-install-libiberty --with-linker-hash-style=gnu --enable-multilib
--disable-werror --with-multilib-list=m32,m64,mx32 --enable-checking=release
Thread model: posix
gcc version 4.9.2 20150415 (prerelease) (GCC) 
COMPILER_PATH=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/:/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/:/usr/lib/gcc/x86_64-unknown-linux-gnu/:/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/:/usr/lib/gcc/x86_64-unknown-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/:/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/opt/intel/composerxe/compiler/lib/intel64/:/opt/intel/composerxe/ipp/../compiler/lib/intel64/:/opt/intel/composerxe/ipp/lib/intel64/:/opt/intel/composerxe/compiler/lib/intel64/:/opt/intel/composerxe/mkl/lib/intel64/:/opt/intel/composerxe/tbb/lib/intel64/gcc4.4/:/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-shared' '-fPIC' '-D' 'PIC' '-flto'
'-O2' '-o' '.libs/libglib-2.0.so.0.4400.0' '-mtune=generic' '-march=x86-64'
 /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/collect2 -plugin
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/liblto_plugin.so
-plugin-opt=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/lto-wrapper
-plugin-opt=-fresolution=libglib-2.0.so.res -plugin-opt=-pass-through=-lgcc
-plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc
-plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -flto
--build-id --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -shared -o
.libs/libglib-2.0.so.0.4400.0
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../lib/crti.o
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/crtbeginS.o
-L/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2
-L/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../lib -L/lib/../lib
-L/usr/lib/../lib -L/opt/intel/composerxe/compiler/lib/intel64
-L/opt/intel/composerxe/ipp/../compiler/lib/intel64
-L/opt/intel/composerxe/ipp/lib/intel64
-L/opt/intel/composerxe/compiler/lib/intel64
-L/opt/intel/composerxe/mkl/lib/intel64
-L/opt/intel/composerxe/tbb/lib/intel64/gcc4.4
-L/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/../../..
.libs/libglib_2_0_la-gallocator.o .libs/libglib_2_0_la-gcache.o
.libs/libglib_2_0_la-gcompletion.o .libs/libglib_2_0_la-grel.o
.libs/libglib_2_0_la-gthread-deprecated.o .libs/libglib_2_0_la-garray.o
.libs/libglib_2_0_la-gasyncqueue.o .libs/libglib_2_0_la-gatomic.o
.libs/libglib_2_0_la-gbacktrace.o .libs/libglib_2_0_la-gbase64.o
.libs/libglib_2_0_la-gbitlock.o .libs/libglib_2_0_la-gbookmarkfile.o
.libs/libglib_2_0_la-gbytes.o .libs/libglib_2_0_la-gcharset.o
.libs/libglib_2_0_la-gchecksum.o .libs/libglib_2_0_la-gconvert.o
.libs/libglib_2_0_la-gdataset.o .libs/libglib_2_0_la-gdate.o
.libs/libglib_2_0_la-gdatetime.o .libs/libglib_2_0_la-gdir.o
.libs/libglib_2_0_la-genviron.o .libs/libglib_2_0_la-gerror.o
.libs/libglib_2_0_la-gfileutils.o .libs/libglib_2_0_la-ggettext.o
.libs/libglib_2_0_la-ghash.o .libs/libglib_2_0_la-ghmac.o
.libs/libglib_2_0_la-ghook.o .libs/libglib_2_0_la-ghostutils.o
.libs/libglib_2_0_la-giochannel.o .libs/libglib_2_0_la-gkeyfile.o
.libs/libglib_2_0_la-glib-init.o .libs/libglib_2_0_la-glib-private.o
.libs/libglib_2_0_la-glist.o .libs/libglib_2_0_la-gmain.o
.libs/libglib_2_0_la-gmappedfile.o .libs/libglib_2_0_la-gmarkup.o
.libs/libglib_2_0_la-gmem.o .libs/libglib_2_0_la-gmessages.o
.libs/libglib_2_0_la-gnode.o .libs/libglib_2_0_la-goption.o
.libs/libglib_2_0_la-gpattern.o .libs/libglib_2_0_la-gpoll.o
.libs/libglib_2_0_la-gprimes.o .libs/libglib_2_0_la-gqsort.o
.libs/libglib_2_0_la-gquark.o .libs/libglib_2_0_la-gqueue.o
.libs/libglib_2_0_la-grand.o .libs/libglib_2_0_la-gregex.o
.libs/libglib_2_0_la-gscanner.o .libs/libglib_2_0_la-gsequence.o
.libs/libglib_2_0_la-gshell.o .libs/libglib_2_0_la-gslice.o
.libs/libglib_2_0_la-gslist.o .libs/libglib_2_0_la-gstdio.o
.libs/libglib_2_0_la-gstrfuncs.o .libs/libglib_2_0_la-gstring.o
.libs/libglib_2_0_la-gstringchunk.o .libs/libglib_2_0_la-gtestutils.o
.libs/libglib_2_0_la-gthread.o .libs/libglib_2_0_la-gthreadpool.o
.libs/libglib_2_0_la-gtimer.o .libs/libglib_2_0_la-gtimezone.o
.libs/libglib_2_0_la-gtranslit.o .libs/libglib_2_0_la-gtrashstack.o
.libs/libglib_2_0_la-gtree.o .libs/libglib_2_0_la-guniprop.o
.libs/libglib_2_0_la-gutf8.o .libs/libglib_2_0_la-gunibreak.o
.libs/libglib_2_0_la-gunicollate.o .libs/libglib_2_0_la-gunidecomp.o
.libs/libglib_2_0_la-gurifuncs.o .libs/libglib_2_0_la-gutils.o
.libs/libglib_2_0_la-gvariant.o .libs/libglib_2_0_la-gvariant-core.o
.libs/libglib_2_0_la-gvariant-parser.o
.libs/libglib_2_0_la-gvariant-serialiser.o
.libs/libglib_2_0_la-gvarianttypeinfo.o .libs/libglib_2_0_la-gvarianttype.o
.libs/libglib_2_0_la-gversion.o .libs/libglib_2_0_la-gwakeup.o
.libs/libglib_2_0_la-gprintf.o .libs/libglib_2_0_la-glib-unix.o
.libs/libglib_2_0_la-gthread-posix.o .libs/giounix.o .libs/gspawn.o
--whole-archive libcharset/.libs/libcharset.a pcre/.libs/libpcre.a
--no-whole-archive -lpthread -Bsymbolic-functions -soname libglib-2.0.so.0
-lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s
--no-as-needed /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/crtendS.o
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../lib/crtn.o
 /usr/bin/gcc @/tmp/ccWGeoup.args
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
Target: x86_64-unknown-linux-gnu
Configured with: /build/gcc-multilib/src/gcc-4.9-20150415/configure
--prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man
--infodir=/usr/share/info
--enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared
--enable-threads=posix --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch
--disable-libssp --enable-gnu-unique-object --enable-linker-build-id
--enable-cloog-backend=isl --enable-lto --enable-plugin
--enable-install-libiberty --with-linker-hash-style=gnu --enable-multilib
--disable-werror --with-multilib-list=m32,m64,mx32 --enable-checking=release
Thread model: posix
gcc version 4.9.2 20150415 (prerelease) (GCC) 
COLLECT_GCC_OPTIONS='-c' '-fno-trapv' '-mtune=generic' '-march=x86-64' '-O2'
'-v' '-save-temps' '-shared' '-fPIC' '-D' 'PIC' '-O2' '-mtune=generic'
'-march=x86-64' '-dumpdir' '.libs/' '-dumpbase' 'libglib-2.0.so.0.4400.0.wpa'
'-fltrans-output-list=libglib-2.0.so.0.4400.0.ltrans.out' '-fwpa'
'-fresolution=libglib-2.0.so.res'
 /usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/lto1 -quiet -dumpdir .libs/
-dumpbase libglib-2.0.so.0.4400.0.wpa -mtune=generic -march=x86-64
-mtune=generic -march=x86-64 -auxbase libglib_2_0_la-gallocator -O2 -O2
-version -fno-trapv -fPIC
-fltrans-output-list=libglib-2.0.so.0.4400.0.ltrans.out -fwpa
-fresolution=libglib-2.0.so.res @/tmp/ccdZhVGp
GNU GIMPLE (GCC) version 4.9.2 20150415 (prerelease) (x86_64-unknown-linux-gnu)
        compiled by GNU C version 4.9.2 20150415 (prerelease), GMP version
6.0.0, MPFR version 3.1.2-p11, MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU GIMPLE (GCC) version 4.9.2 20150415 (prerelease) (x86_64-unknown-linux-gnu)
        compiled by GNU C version 4.9.2 20150415 (prerelease), GMP version
6.0.0, MPFR version 3.1.2-p11, MPC version 1.0.3
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
lto1: internal compiler error: in streamer_get_builtin_tree, at
tree-streamer-in.c:1127
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
lto-wrapper: /usr/bin/gcc returned 1 exit status
[Leaving LTRANS libglib-2.0.so.0.4400.0.ltrans.out]
[Leaving LTRANS /tmp/ccWGeoup.args]
/usr/bin/ld: lto-wrapper failed
collect2: error: ld returned 1 exit status


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]