------- Comment #9 from ro at CeBiTec dot Uni-Bielefeld dot DE 2010-01-12 12:08 ------- Subject: Re: 64-bit null_pointer_deref1 gnat.dg test consumes all available memory
> ------- Comment #1 from ebotcazou at gcc dot gnu dot org 2009-11-03 18:49 > ------- > Somewhat expected, see the comment in the test. A patch to disable it on this > platform (sparc*-*-solaris2.11) is pre-approved. I've just installed that since the bug hit me again and I've not yet succeeded in the investigation. > The failure very likely means that the 64-bit pattern matching code of the > fallback routine in config/sparc/sol2-unwind.h misbehaves for Solaris 11. > Unfortunately, I don't have access to any Solaris 11 machine so I cannot fix. I've checked __sighndlr in the Solaris 11 64-bit libc.so.1 against sol2-unwind.h (sighndlr_pattern), and they are identical. > To debug this, you need to recompile libgcc at -O0 -g and put a breakpoint on > sparc64_fallback_frame_state from within the debugger; it will be hit once you > resume execution after the SIGSEGV. What happens from that on? Unfortunately, it doesn't hit: (gdb) b sparc64_fallback_frame_state Breakpoint 1 at 0x100017c88: file /vol/gcc/src/hg/trunk/solaris/libgcc/../gcc/config/sparc/sol2-unwind.h, line 38. (gdb) run Starting program: /vol/gcc/obj/gcc-4.5.0-20100107/11-gcc/gcc/testsuite/gnat/null_pointer_deref1.exe [Thread debugging using libthread_db enabled] [New Thread 1 (LWP 1)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1 (LWP 1)] 0x00000001000141b0 in _ada_null_pointer_deref1 () (gdb) cont Continuing. Program received signal SIGSEGV, Segmentation fault. 0x7fffffff7f8c81d0 in kill () from /lib/64/libc.so.1 (gdb) cont Continuing. procfs: couldn't find pid -1 in procinfo list. So I'm sort of stuck. dbx doesn't allow me to set a breakpoint in sparc64_fallback_frame_state at all. Rainer -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41929