From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5401 invoked by alias); 8 Apr 2006 21:01:02 -0000 Received: (qmail 5393 invoked by uid 22791); 8 Apr 2006 21:01:01 -0000 X-Spam-Check-By: sourceware.org Received: from sibelius.xs4all.nl (HELO sibelius.xs4all.nl) (82.92.89.47) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sat, 08 Apr 2006 21:00:58 +0000 Received: from elgar.sibelius.xs4all.nl (root@elgar.sibelius.xs4all.nl [192.168.0.2]) by sibelius.xs4all.nl (8.13.4/8.13.4) with ESMTP id k38L0MeG016175; Sat, 8 Apr 2006 23:00:22 +0200 (CEST) Received: from elgar.sibelius.xs4all.nl (kettenis@localhost.sibelius.xs4all.nl [127.0.0.1]) by elgar.sibelius.xs4all.nl (8.13.4/8.13.3) with ESMTP id k38L0Lif007507; Sat, 8 Apr 2006 23:00:21 +0200 (CEST) Received: (from kettenis@localhost) by elgar.sibelius.xs4all.nl (8.13.4/8.13.4/Submit) id k38L0LF3010368; Sat, 8 Apr 2006 23:00:21 +0200 (CEST) Date: Sat, 08 Apr 2006 21:01:00 -0000 Message-Id: <200604082100.k38L0LF3010368@elgar.sibelius.xs4all.nl> From: Mark Kettenis To: davem@davemloft.net CC: gdb-patches@sources.redhat.com In-reply-to: <20060405.171555.27430870.davem@davemloft.net> Subject: Re: [PATCH]: Get dwarf2 working on sparc64 too. References: <20060405.171555.27430870.davem@davemloft.net> Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-04/txt/msg00099.txt.bz2 > Date: Wed, 05 Apr 2006 17:15:55 -0700 (PDT) > From: "David S. Miller" > > There were two problems: > > 1) The sparc32 registry of the dwarf2 reg_init function has > to occur before osabi init, so that osabi can override > properly. Duh, yes. > 2) We have to mark the global registers as explicitly undefined. > Besides, they are call clobbered. > > This handles the case where gcc emits a DW_CFA_GNU_window_save, > which causes the gdb dwarf2 frame code to allocate a reg set out > to 32 registers, but it only sets up entries 8 --> 16. We get ugly > warnings. This looks wrong to me. For one thing %g2, %g3, %g6 and %g7 are *not* call clobbered according to SCD 2.4.1. And I fail to see why DW_CFA_GNU_window_save has anything to do with the global registers, since window saves only affect the other 24 general purpose registers. What are the ugly warnings that you're trying to fix? > 2006-04-05 David S. Miller > > * sparc64-linux-tdep.c (sparc64_linux_init_abi): Append dwarf2 > frame sniffer. > * sparc-tdep.c (sparc32_gdbarch_init): Make sure to call > dwarf2_frame_set_init_reg() before gdbarch_init_osabi() so > that the latter can override. > (sparc32_dwarf2_frame_init_reg): Mark global registers as > undefined. > * sparc64-tdep.c (sparc64_dwarf2_frame_init_reg): Likewise. > * Makefile.in (sparc64-linux-tdep.o): Update dependencies.