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

--- Comment #1 from rguenther at suse dot de <rguenther at suse dot de> ---
On Mon, 26 Jan 2015, ro at gcc dot gnu.org wrote:

> 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.

Does malloc return 8-byte aligned memory?  Is __alignof__

      struct free_entry {
        std::size_t size;
        free_entry *next;
      };

less than 8?

Thanks,
Richard.

Reply via email to