From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 840 invoked by alias); 14 Apr 2004 06:24:35 -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 796 invoked from network); 14 Apr 2004 06:24:34 -0000 Received: from unknown (HELO pippin.tausq.org) (64.81.244.94) by sources.redhat.com with SMTP; 14 Apr 2004 06:24:34 -0000 Received: by pippin.tausq.org (Postfix, from userid 1000) id A097CCD29F; Tue, 13 Apr 2004 23:24:47 -0700 (PDT) Date: Wed, 14 Apr 2004 06:24:00 -0000 From: Randolph Chung To: gdb-patches@sources.redhat.com Subject: [patch/resend/rfa] (3/4) Remove DEPRECATED_CLEAN_UP_REGISTER_VALUE Message-ID: <20040414062447.GL31873@tausq.org> Reply-To: Randolph Chung Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-GPG: for GPG key, see http://www.tausq.org/gpg.txt User-Agent: Mutt/1.5.5.1+cvs20040105i X-SW-Source: 2004-04/txt/msg00277.txt.bz2 2004-04-13 Randolph Chung * hppa-tdep.c (hppa_pseudo_register_read): Define. (hppa_gdbarch_init): Set pseudo_register_read. * config/pa/tm-hppa.h (DEPRECATED_CLEAN_UP_REGISTER_VALUE): Remove. * regcache.c (supply_register): Remove check for DEPRECATED_CLEAN_UP_REGISTER_VALUE since we've removed the last user. Index: hppa-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/hppa-tdep.c,v retrieving revision 1.143 diff -u -p -r1.143 hppa-tdep.c --- hppa-tdep.c 11 Apr 2004 04:20:51 -0000 1.143 +++ hppa-tdep.c 14 Apr 2004 05:01:21 -0000 @@ -2566,6 +2537,15 @@ hppa_fetch_pointer_argument (struct fram return addr; } +static void +hppa_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache, + int regnum, void *buf) +{ + regcache_raw_read (regcache, regnum, buf); + if (regnum == PCOQ_HEAD_REGNUM || regnum == PCOQ_TAIL_REGNUM) + ((char *)buf)[sizeof(CORE_ADDR) -1 ] &= ~0x3; +} + /* Here is a table of C type sizes on hppa with various compiles and options. I measured this on PA 9000/800 with HP-UX 11.11 and these compilers: @@ -2725,6 +2725,8 @@ hppa_gdbarch_init (struct gdbarch_info i frame_unwind_append_sniffer (gdbarch, hppa_frame_unwind_sniffer); frame_base_append_sniffer (gdbarch, hppa_frame_base_sniffer); + set_gdbarch_pseudo_register_read (gdbarch, hppa_pseudo_register_read); + /* Hook in ABI-specific overrides, if they have been registered. */ gdbarch_init_osabi (info, gdbarch); Index: config/pa/tm-hppa.h =================================================================== RCS file: /cvs/src/src/gdb/config/pa/tm-hppa.h,v retrieving revision 1.69 diff -u -p -r1.69 tm-hppa.h --- config/pa/tm-hppa.h 6 Apr 2004 16:11:06 -0000 1.69 +++ config/pa/tm-hppa.h 14 Apr 2004 05:01:27 -0000 @@ -77,18 +77,8 @@ extern int hppa_pc_requires_run_before_u #define ARG2_REGNUM 24 /* The third argument of a callee. */ #define ARG3_REGNUM 23 /* The fourth argument of a callee. */ -/* When fetching register values from an inferior or a core file, - clean them up using this macro. BUF is a char pointer to - the raw value of the register in the registers[] array. */ - -#define DEPRECATED_CLEAN_UP_REGISTER_VALUE(regno, buf) \ - do { \ - if ((regno) == PCOQ_HEAD_REGNUM || (regno) == PCOQ_TAIL_REGNUM) \ - (buf)[sizeof(CORE_ADDR) -1] &= ~0x3; \ - } while (0) - /* PA specific macro to see if the current instruction is nullified. */ #ifndef INSTRUCTION_NULLIFIED extern int hppa_instruction_nullified (void); #define INSTRUCTION_NULLIFIED hppa_instruction_nullified () #endif Index: regcache.c =================================================================== RCS file: /cvs/src/src/gdb/regcache.c,v retrieving revision 1.110 diff -u -p -r1.110 regcache.c --- regcache.c 15 Mar 2004 20:38:08 -0000 1.110 +++ regcache.c 14 Apr 2004 05:01:26 -0000 @@ -1230,20 +1230,6 @@ void supply_register (int regnum, const void *val) { regcache_raw_supply (current_regcache, regnum, val); - - /* On some architectures, e.g. HPPA, there are a few stray bits in - some registers, that the rest of the code would like to ignore. */ - - /* NOTE: cagney/2001-03-16: The macro CLEAN_UP_REGISTER_VALUE is - going to be deprecated. Instead architectures will leave the raw - register value as is and instead clean things up as they pass - through the method gdbarch_pseudo_register_read() clean up the - values. */ - -#ifdef DEPRECATED_CLEAN_UP_REGISTER_VALUE - DEPRECATED_CLEAN_UP_REGISTER_VALUE \ - (regnum, register_buffer (current_regcache, regnum)); -#endif } void -- Randolph Chung Debian GNU/Linux Developer, hppa/ia64 ports http://www.tausq.org/