From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28365 invoked by alias); 13 Nov 2004 23:27:22 -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 28348 invoked from network); 13 Nov 2004 23:27:17 -0000 Received: from unknown (HELO takamaka.act-europe.fr) (142.179.108.108) by sourceware.org with SMTP; 13 Nov 2004 23:27:17 -0000 Received: by takamaka.act-europe.fr (Postfix, from userid 507) id 8E98C47DA0; Sat, 13 Nov 2004 15:27:16 -0800 (PST) Date: Sat, 13 Nov 2004 23:27:00 -0000 From: Joel Brobecker To: gdb-patches@sources.redhat.com Subject: [RFA/RFC/IRIX] remove last uses of deprecated_registers in irix5-nat Message-ID: <20041113232716.GA32567@gnat.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="a8Wt8u1KmwUX3Y2C" Content-Disposition: inline User-Agent: Mutt/1.4i X-SW-Source: 2004-11/txt/msg00297.txt.bz2 --a8Wt8u1KmwUX3Y2C Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-length: 559 This patch deals with the last 2 instances of deprecated_registers found in irix5-nat.c: 2004-11-13 Joel Brobecker * irix5-nat.c (fetch_core_registers): Replace use of deprecated_registers by equivalent code. Tested on mips-irix using corefile.exp. No regression. Given that Andrew gave me a green light for the previous patch (http://sources.redhat.com/ml/gdb-patches/2004-11/msg00292.html) and followup patches, I will commit this change. But don't hesitate to send tomatoes I me if I botched something. -- Joel --a8Wt8u1KmwUX3Y2C Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="core-irix.diff" Content-length: 2253 --- irix5-nat.c.orig 2004-11-13 17:31:39.631455281 -0500 +++ irix5-nat.c 2004-11-13 18:17:08.214095369 -0500 @@ -221,52 +221,33 @@ static void fetch_core_registers (char *core_reg_sect, unsigned core_reg_size, int which, CORE_ADDR reg_addr) { + char *srcp = core_reg_sect; + int regno; + if (core_reg_size == deprecated_register_bytes ()) { - memcpy ((char *) deprecated_registers, core_reg_sect, core_reg_size); + for (regno = 0; regno < NUM_REGS; regno++) + { + regcache_raw_write (current_regcache, regno, srcp); + srcp += register_size (current_gdbarch, regno); + } } else if (mips_isa_regsize (current_gdbarch) == 4 && core_reg_size == (2 * mips_isa_regsize (current_gdbarch)) * NUM_REGS) { /* This is a core file from a N32 executable, 64 bits are saved for all registers. */ - char *srcp = core_reg_sect; - char *dstp = deprecated_registers; - int regno; - for (regno = 0; regno < NUM_REGS; regno++) { if (regno >= FP0_REGNUM && regno < (FP0_REGNUM + 32)) { - /* FIXME, this is wrong, N32 has 64 bit FP regs, but GDB - currently assumes that they are 32 bit. */ - *dstp++ = *srcp++; - *dstp++ = *srcp++; - *dstp++ = *srcp++; - *dstp++ = *srcp++; - if (register_size (current_gdbarch, regno) == 4) - { - /* copying 4 bytes from eight bytes? - I don't see how this can be right... */ - srcp += 4; - } - else - { - /* copy all 8 bytes (sizeof(double)) */ - *dstp++ = *srcp++; - *dstp++ = *srcp++; - *dstp++ = *srcp++; - *dstp++ = *srcp++; - } + regcache_raw_write (current_regcache, regno, srcp); } else { - srcp += 4; - *dstp++ = *srcp++; - *dstp++ = *srcp++; - *dstp++ = *srcp++; - *dstp++ = *srcp++; + regcache_raw_write (current_regcache, regno, srcp + 4); } + srcp += 8; } } else @@ -274,8 +255,6 @@ fetch_core_registers (char *core_reg_sec warning ("wrong size gregset struct in core file"); return; } - - deprecated_registers_fetched (); } /* Register that we are able to handle irix5 core file formats. --a8Wt8u1KmwUX3Y2C--