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

            Bug ID: 91078
           Summary: [10 regression] All LTO tests FAIL: SIGBUS in lto1
                    (lto_file_finalize)
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: lto
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ro at gcc dot gnu.org
                CC: marxin at gcc dot gnu.org
  Target Milestone: ---
              Host: sparc-sun-solaris2.11
            Target: sparc-sun-solaris2.11
             Build: sparc-sun-solaris2.11

Between 20190702 (r272944) and 20190703 (r273009), all LTO tests started to
FAIL
on Solaris/SPARC.  It boils down to

$ cat /var/tmp//ccqNGG1b
20010124-1.o
20010124-1-lib.o
main.o
$ lto1 -quiet @/var/tmp//ccqNGG1b -o 20010124-1.s
[...]
lto1: internal compiler error: Bus Error
0x9d1597 crash_signal
        /vol/gcc/src/hg/trunk/local/gcc/toplev.c:326
0x3fea74 lto_file_finalize
        /vol/gcc/src/hg/trunk/local/gcc/lto/lto-common.c:2202
0x3fea74 lto_create_files_from_ids
        /vol/gcc/src/hg/trunk/local/gcc/lto/lto-common.c:2225
0x3fea74 lto_file_read
        /vol/gcc/src/hg/trunk/local/gcc/lto/lto-common.c:2279
0x3fea74 read_cgraph_and_symbols(unsigned int, char const**)
        /vol/gcc/src/hg/trunk/local/gcc/lto/lto-common.c:2731
0x3dd10b lto_main()
        /vol/gcc/src/hg/trunk/local/gcc/lto/lto.c:616

Thread 2 received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1 (LWP 1)]
lto_file_finalize (file=0x16a6370, file_data=0xfa886050)
    at /vol/gcc/src/hg/trunk/local/gcc/lto/lto-common.c:2202
2202      file_data->lto_section_header = *(const lto_section *)data;
(gdb) where
#0  lto_file_finalize (file=0x16a6370, file_data=0xfa886050)
    at /vol/gcc/src/hg/trunk/local/gcc/lto/lto-common.c:2202
#1  lto_create_files_from_ids (count=<synthetic pointer>, 
    file_data=0xfa886050, file=0x16a6370)
    at /vol/gcc/src/hg/trunk/local/gcc/lto/lto-common.c:2225
#2  lto_file_read (count=<synthetic pointer>, resolution_file=0x0, 
    file=<optimized out>)
    at /vol/gcc/src/hg/trunk/local/gcc/lto/lto-common.c:2279
#3  read_cgraph_and_symbols (nfiles=<optimized out>, fnames=<optimized out>)
    at /vol/gcc/src/hg/trunk/local/gcc/lto/lto-common.c:2731
#4  0x003dd10c in lto_main () at /vol/gcc/src/hg/trunk/local/gcc/lto/lto.c:616
#5  0x009d1610 in compile_file ()
    at /vol/gcc/src/hg/trunk/local/gcc/toplev.c:456
#6  0x009d4128 in do_compile ()
    at /vol/gcc/src/hg/trunk/local/gcc/toplev.c:2209
#7  toplev::main (this=0xffbfe4de, argc=<optimized out>, argv=<optimized out>)
    at /vol/gcc/src/hg/trunk/local/gcc/toplev.c:2344
#8  0x012f11ac in main (argc=27, argv=0xffbfe544)
    at /vol/gcc/src/hg/trunk/local/gcc/main.c:39
(gdb) p/x data
$1 = 0xfb9d8429

gdb showing this as SIGSEGV is a gdb bug.

This most likely affects all strict-alignment targets.

Reply via email to