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

            Bug ID: 64798
           Summary: [5 regression] g++.old-deja/g++.eh/badalloc1.C FAILs
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ro at gcc dot gnu.org
                CC: rguenth at gcc dot gnu.org
              Host: sparc*-sun-solaris2.*
            Target: sparc*-sun-solaris2.*
             Build: sparc*-sun-solaris2.*

Between 20150116 (r219745) and 20150123 (r220039),
g++.old-deja/g++.eh/badalloc1.C
started to FAIL on 32-bit Solaris/SPARC:

FAIL: g++.old-deja/g++.eh/badalloc1.C  -std=c++11 execution test
FAIL: g++.old-deja/g++.eh/badalloc1.C  -std=c++14 execution test
FAIL: g++.old-deja/g++.eh/badalloc1.C  -std=c++98 execution test

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1 (LWP 1)]
__cxxabiv1::__cxa_throw (obj=0x2195c <arena+92>, 
    tinfo=0x73908 <typeinfo for int>, dest=0x0)
    at /vol/gcc/src/hg/trunk/local/libstdc++-v3/libsupc++/eh_throw.cc:76
76       
__GXX_INIT_PRIMARY_EXCEPTION_CLASS(header->exc.unwindHeader.exception_class);
1: x/i $pc
=> 0xff220314 <__cxxabiv1::__cxa_throw(void*, std::type_info*, void
(*)(void*))+96>:    sttw  %g2, [ %i0 + -24 ]
(gdb) where
#0  __cxxabiv1::__cxa_throw (obj=0x2195c <arena+92>, 
    tinfo=0x73908 <typeinfo for int>, dest=0x0)
    at /vol/gcc/src/hg/trunk/local/libstdc++-v3/libsupc++/eh_throw.cc:76
#1  0x00011114 in fn_throw ()
    at
/vol/gcc/src/hg/trunk/local/gcc/testsuite/g++.old-deja/g++.eh/badalloc1.C:98
#2  0x000112f8 in main ()
    at
/vol/gcc/src/hg/trunk/local/gcc/testsuite/g++.old-deja/g++.eh/badalloc1.C:129
(gdb) p $i0-24
$3 = 137540

The SEGV happens because the sttw target needs to be 8-byte aligned, but is
not.

  Rainer

Reply via email to