From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22819 invoked by alias); 4 Dec 2004 10:53:18 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 22775 invoked from network); 4 Dec 2004 10:53:09 -0000 Received: from unknown (HELO sibelius.xs4all.nl) (82.92.89.47) by sourceware.org with SMTP; 4 Dec 2004 10:53:09 -0000 Received: from elgar.sibelius.xs4all.nl (elgar.sibelius.xs4all.nl [192.168.0.2]) by sibelius.xs4all.nl (8.13.0/8.13.0) with ESMTP id iB4Ar6Fp012618; Sat, 4 Dec 2004 11:53:06 +0100 (CET) Received: from elgar.sibelius.xs4all.nl (localhost [127.0.0.1]) by elgar.sibelius.xs4all.nl (8.12.6p3/8.12.6) with ESMTP id iB4Ar5tI000574; Sat, 4 Dec 2004 11:53:05 +0100 (CET) (envelope-from kettenis@elgar.sibelius.xs4all.nl) Received: (from kettenis@localhost) by elgar.sibelius.xs4all.nl (8.12.6p3/8.12.6/Submit) id iB4Aqvhs000571; Sat, 4 Dec 2004 11:52:57 +0100 (CET) Date: Sat, 04 Dec 2004 11:27:00 -0000 Message-Id: <200412041052.iB4Aqvhs000571@elgar.sibelius.xs4all.nl> From: Mark Kettenis To: randolph@tausq.org CC: cagney@gnu.org, gdb-patches@sources.redhat.com In-reply-to: <20041204000018.GK6359@tausq.org> (message from Randolph Chung on Fri, 3 Dec 2004 16:00:18 -0800) Subject: Re: [patch/RFA] multiarch INSTRUCTION_NULLIFIED References: <20041130164401.GV6359@tausq.org> <41ACA6BE.5080603@gnu.org> <20041130173841.GW6359@tausq.org> <41AE3759.3030503@gnu.org> <20041201223243.GK6359@tausq.org> <41AE5434.9050901@gnu.org> <20041202052417.GM6359@tausq.org> <41B0ABC7.4020806@gnu.org> <20041203201903.GI6359@tausq.org> <41B0D61E.8090907@gnu.org> <20041204000018.GK6359@tausq.org> X-SW-Source: 2004-12/txt/msg00105.txt.bz2 Date: Fri, 3 Dec 2004 16:00:18 -0800 From: Randolph Chung I've committed the following. Hmm. There is a bit of an inconsistency with signed/unsigned in the code: static CORE_ADDR hppa_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) { - return frame_unwind_register_signed (next_frame, HPPA_PCOQ_HEAD_REGNUM) & ~3; + ULONGEST ipsw; + CORE_ADDR pc; + + ipsw = frame_unwind_register_signed (next_frame, HPPA_IPSW_REGNUM); + pc = frame_unwind_register_signed (next_frame, HPPA_PCOQ_HEAD_REGNUM) & ~3; Here you declare `ipsw' as ULONGEST (which is unsigned) but then use frame_unwind_register_signed to read it. Also, AFAIK, addresses aren't signed on hppa (or at least aren't sign-extended) so there one should also use frame_unwind_register_unsigned (but that problem was already there). These kind of things might cause problems in certain 32x64-bit situations. Mark