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

Reply via email to