[Bug target/61535] New: SIGBUS in gen_group_rtx compiling 64-bit gcc.dg/vect/vect-singleton_1.c

ro at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Jun 17 11:34:00 GMT 2014


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

            Bug ID: 61535
           Summary: SIGBUS in gen_group_rtx compiling 64-bit
                    gcc.dg/vect/vect-singleton_1.c
           Product: gcc
           Version: 4.10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ro at gcc dot gnu.org
                CC: alalaw01 at gcc dot gnu.org, ebotcazou at gcc dot gnu.org
              Host: sparc-sun-solaris2.1[01]
            Target: sparc-sun-solaris2.1[01]
             Build: sparc-sun-solaris2.1[01]

The new gcc.dg/vect/vect-singleton_1.c test FAILs on 64-bit Solaris 10 and
11/SPARC:

FAIL: gcc.dg/vect/vect-singleton_1.c (internal compiler error)
FAIL: gcc.dg/vect/vect-singleton_1.c (test for excess errors)
FAIL: gcc.dg/vect/vect-singleton_1.c -flto -ffat-lto-objects (internal compiler
error)
FAIL: gcc.dg/vect/vect-singleton_1.c -flto -ffat-lto-objects (test for excess
errors)

E.g.

$ ./cc1 -fpreprocessed vect-singleton_1.i -quiet -m64 -o vect-singleton_1.s
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/vect-singleton_1.c: In
function 'test_vadd_f32':
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/vect/vect-singleton_1.c:30:91:
internal compiler error: Bus Error
 TEST (float, float32x1_t, f32)
                                                                               
           ^
0x7046bb crash_signal
        /vol/gcc/src/hg/trunk/local/gcc/toplev.c:337
0x41dca0 gen_group_rtx(rtx_def*)
        /vol/gcc/src/hg/trunk/local/gcc/expr.c:1598
0x4c87eb expand_function_start(tree_node*)
        /vol/gcc/src/hg/trunk/local/gcc/function.c:4787
0x338e13 execute
        /vol/gcc/src/hg/trunk/local/gcc/cfgexpand.c:5692


Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1 (LWP 1)]
gen_group_rtx (orig=0xfb4c0d90) at /vol/gcc/src/hg/trunk/local/gcc/expr.c:1598
1598      if (i)
(gdb) where
#0  gen_group_rtx (orig=0xfb4c0d90)
    at /vol/gcc/src/hg/trunk/local/gcc/expr.c:1598
#1  0x004c87ec in expand_function_start (subr=0xfb49c380)
    at /vol/gcc/src/hg/trunk/local/gcc/function.c:4787
#2  0x00338e14 in (anonymous namespace)::pass_expand::execute (
    this=<optimized out>, fun=0xfb423248)
    at /vol/gcc/src/hg/trunk/local/gcc/cfgexpand.c:5692
#3  0x00633c3c in execute_one_pass (pass=pass@entry=0x1014b40)
    at /vol/gcc/src/hg/trunk/local/gcc/passes.c:2180
#4  0x00634120 in execute_pass_list_1 (pass=0x1014b40, pass@entry=0x1012768)
    at /vol/gcc/src/hg/trunk/local/gcc/passes.c:2233
#5  0x00634188 in execute_pass_list (fn=0xfb423248, pass=0x1012768)
    at /vol/gcc/src/hg/trunk/local/gcc/passes.c:2244
#6  0x00362788 in expand_function (node=0xfb4a8380)
    at /vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:1787
#7  0x003657d4 in output_in_order ()
    at /vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:2019
#8  compile () at /vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:2260
#9  0x00365b04 in finalize_compilation_unit ()
    at /vol/gcc/src/hg/trunk/local/gcc/cgraphunit.c:2342
#10 0x001fb80c in c_write_global_declarations ()
    at /vol/gcc/src/hg/trunk/local/gcc/c/c-decl.c:10452
#11 0x0070477c in compile_file ()
    at /vol/gcc/src/hg/trunk/local/gcc/toplev.c:562
#12 0x00706cd0 in do_compile ()
    at /vol/gcc/src/hg/trunk/local/gcc/toplev.c:1918
#13 toplev_main (argc=7, argv=0xffbff484)
    at /vol/gcc/src/hg/trunk/local/gcc/toplev.c:1994
#14 0x001dbd04 in _start ()

Running again with display/i $pc, one sees there's an unaligned access:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1 (LWP 1)]
gen_group_rtx (orig=0xfb4c0d90) at /vol/gcc/src/hg/trunk/local/gcc/expr.c:1598
1598      if (i)
1: x/i $pc
=> 0x41dca0 <gen_group_rtx(rtx_def*)+36>:       ld  [ %g3 + 8 ], %g3
(gdb) p/x $g3
$2 = 0xafafafaf

truss shows

    Incurred fault #5, FLTACCESS  %pc = 0x0041DCA0
      siginfo: SIGBUS BUS_ADRALN addr=0xAFAFAFB7
    Received signal #10, SIGBUS [caught]
      siginfo: SIGBUS BUS_ADRALN addr=0xAFAFAFB7

  Rainer



More information about the Gcc-bugs mailing list