From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29991 invoked by alias); 13 Nov 2009 17:37:32 -0000 Received: (qmail 29930 invoked by uid 48); 13 Nov 2009 17:37:19 -0000 Date: Fri, 13 Nov 2009 17:37:00 -0000 Message-ID: <20091113173719.29929.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug ada/41912] FAIL: gnat.dg/null_pointer_deref1.adb execution test In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "ebotcazou at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2009-11/txt/msg01100.txt.bz2 ------- Comment #4 from ebotcazou at gcc dot gnu dot org 2009-11-13 17:37 ------- > This is an interesting suggestion. However, the results in doing > this are mixed. It fixes the current testcase on hpux but not linux. Yes, you additionally need this for Linux: 2009-11-12 Eric Botcazou Laurent GUERBY * init.c (GNU/Linux Section): Enable for all architectures. > It fixes three libjava fails on linux. However, it introduces four > fails on both hpux and linux. Interesting. gnat.dg/null_pointer_deref1.adb is the ultimate test for this null pointer thing because the EH region contains exactly 1 instruction: .LEHB1: stw %r19,0(%r28) .LEHE1: so the unwinder must be extremely accurate when comparing return addresses. Setting fs->signal_frame = 1 will instruct it not to subtract 1 anymore to determine whether the RA belongs to an active EH region. See the very similar code in libjava/exception.cc and ada/raise-gcc.c around _Unwind_GetIPInfo. Not clear what is happening though. Could you attach the assembly code for one Java test that used to fail and now passes and for another Java test with the opposite behavior? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41912