From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2194 invoked by alias); 27 Nov 2005 16:52:33 -0000 Received: (qmail 2187 invoked by uid 22791); 27 Nov 2005 16:52:32 -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; Sun, 27 Nov 2005 16:52:31 +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 jARGqJTE000936; Sun, 27 Nov 2005 17:52:19 +0100 (CET) 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 jARGqJDo000017; Sun, 27 Nov 2005 17:52:19 +0100 (CET) Received: (from kettenis@localhost) by elgar.sibelius.xs4all.nl (8.13.4/8.13.4/Submit) id jARGqJdx016460; Sun, 27 Nov 2005 17:52:19 +0100 (CET) Date: Sun, 27 Nov 2005 17:42:00 -0000 Message-Id: <200511271652.jARGqJdx016460@elgar.sibelius.xs4all.nl> From: Mark Kettenis To: randolph@tausq.org CC: dave@hiauly1.hia.nrc.ca, gdb@sources.redhat.com, brobecker@adacore.com In-reply-to: <4389CBA4.6010906@tausq.org> (message from Randolph Chung on Sun, 27 Nov 2005 23:07:16 +0800) Subject: Re: Register numbers on hppa64 References: <200511261849.jAQInvcq019702@hiauly1.hia.nrc.ca> <4389CBA4.6010906@tausq.org> Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2005-11/txt/msg00595.txt.bz2 > Date: Sun, 27 Nov 2005 23:07:16 +0800 > From: Randolph Chung > > > If we change the register use in .dwarf_frame, then we are breaking > > compatibility with previously compiled code. This isn't a big deal > > under HP-UX (dwarf debugging was totally broken on hppa64 until a > > recent assembler fix). However, there is a fair bit of installed > > code running linux. Thus, I would say not change the status quo > > if the above confusion can be handled. The actual numbers used for > > the FP registers are obscure and I doubt many people actually care > > what they are. It's only people maintaining the dwarf code that > > are likely to get confused. If readelf produced a text rather than > > numeric representation, then the problem would largely go away. > > If I understand Mark correctly, the suggestion would change the > numbering used for dwarf cfi/eh, but not the register numbers emitted > for .debug_info, right? Sorry no. I propose to use DWARF2_FRAME_REG_OUT() on hppa and hppa32 to change the register numbers for .dwarf_frame to match the ones in .dwarf_info for ages, and leave .eh_frame alone. We can't change the numbers in .eh_frame because that will break binary compatibility for (C++) exception handling. It's really silly for .dwarf_info and .dwarf_frame to use different register numbers. The fact that on hppa there is no ABI that defines these register numbers doesn't really change the argument I made for powerpc. > FWIW currently on hppa-linux, gdb does not use dwarf cfi for frame > unwinding. It's on my list of things to do, but if something need > changing in gcc for whatever reason, now is a good time to do it as far > as I'm concerned. Indeed, so the impact of changing the register numbers should be small. In addition it doesn't affect the integer registers. Some people might have old object modules around that contain the wrong register numbers, but they'll only affect floating-point registers which probably don't show up in CFI a lot anyway. Mark