------- Comment #1 from ro at gcc dot gnu dot org  2009-07-15 16:51 -------
I've rebuilt lto1 with just -g and re-run it under gdb.  This is not a
NULL-pointer
dereference, but an improperly aligned pointer:

Starting program:
/vol/gccsrc/obj/gcc-lto-20090709/11-gcc/gcc/testsuite/g++/lto1 -quiet -dumpbase
cc0dayjK-cp_lto_20080709_0.o.lto.o -mcpu=v9 -auxbase-strip
./cc0dayjK-cp_lto_20080709_0.o.lto.ltrans.o -O0 -version
-fltrans-output-list=/var/tmp//cc.caijK.ltrans.out -fmessage-length=0 -fno-wpa
-fltrans ./cc0dayjK-cp_lto_20080709_0.o.lto.o -o /var/tmp//cccfaqkK.s
[New LWP    1        ]
warning: Lowest section in /lib/libdl.so.1 is .dynamic at 00000094
GNU GIMPLE (lto merged with rev 149291) version 4.5.0 20090706 (experimental)
[lto revision 149403] (sparc-sun-solaris2.11)
        compiled by GNU C version 4.5.0 20090706 (experimental) [lto revision
149403], GMP version 4.2.1, MPFR version 2.3.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU GIMPLE (lto merged with rev 149291) version 4.5.0 20090706 (experimental)
[lto revision 149403] (sparc-sun-solaris2.11)
        compiled by GNU C version 4.5.0 20090706 (experimental) [lto revision
149403], GMP version 4.2.1, MPFR version 2.3.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096

Program received signal SIGSEGV, Segmentation fault.
0x00118ca8 in lto_read_decls (decl_data=0xe4ecd0, data=0xff1b036d,
resolutions=0x0) at /vol/gcc/src/gcc-lto/gcc/lto/lto.c:179
1: x/i $pc
0x118ca8 <lto_read_decls+36>:   ld  [ %g1 + 8 ], %g2
(gdb) print/x $g1
$13 = 0xff1b036d

I haven't yet started to investiate further: this is probably much easier for
someone who's familiar with lto.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40754

Reply via email to