* mips-mdebug-tdep.c (compare_pdr_entries): Use bfd_get_signed_32
authorDaniel Jacobowitz <drow@false.org>
Wed, 15 Mar 2006 16:29:08 +0000 (16:29 +0000)
committerDaniel Jacobowitz <drow@false.org>
Wed, 15 Mar 2006 16:29:08 +0000 (16:29 +0000)
for code addresses.
(non_heuristic_proc_desc): Likewise.

gdb/ChangeLog
gdb/mips-mdebug-tdep.c

index 826678c1265342eabcf954d04be7b4b02ac5ce52..e327c5fd0e7be9a1d652ce04ad86eed295e37671 100644 (file)
@@ -1,3 +1,9 @@
+2006-03-15  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * mips-mdebug-tdep.c (compare_pdr_entries): Use bfd_get_signed_32
+       for code addresses.
+       (non_heuristic_proc_desc): Likewise.
+
 2006-03-15  Daniel Jacobowitz  <dan@codesourcery.com>
 
        * mips-linux-nat.c: Include "gdb_proc_service.h".
index 43e1c9646f8b3e3f488e50b31d048f5002341df9..db79713a6f43f2debd3b0042a05fd8bb4d950c9d 100644 (file)
@@ -2,8 +2,8 @@
    the GNU Debugger.
 
    Copyright (C) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
-   1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software
-   Foundation, Inc.
+   1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006
+   Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -63,8 +63,8 @@ static bfd *the_bfd;
 static int
 compare_pdr_entries (const void *a, const void *b)
 {
-  CORE_ADDR lhs = bfd_get_32 (the_bfd, (bfd_byte *) a);
-  CORE_ADDR rhs = bfd_get_32 (the_bfd, (bfd_byte *) b);
+  CORE_ADDR lhs = bfd_get_signed_32 (the_bfd, (bfd_byte *) a);
+  CORE_ADDR rhs = bfd_get_signed_32 (the_bfd, (bfd_byte *) b);
 
   if (lhs < rhs)
     return -1;
@@ -215,17 +215,17 @@ non_heuristic_proc_desc (CORE_ADDR pc, CORE_ADDR *addrptr)
              PROC_LOW_ADDR (proc_desc) = pdr_pc;
 
              PROC_FRAME_OFFSET (proc_desc)
-               = bfd_get_32 (sec->objfile->obfd, ptr + 20);
+               = bfd_get_signed_32 (sec->objfile->obfd, ptr + 20);
              PROC_FRAME_REG (proc_desc) = bfd_get_32 (sec->objfile->obfd,
                                                       ptr + 24);
              PROC_REG_MASK (proc_desc) = bfd_get_32 (sec->objfile->obfd,
                                                      ptr + 4);
              PROC_FREG_MASK (proc_desc) = bfd_get_32 (sec->objfile->obfd,
                                                       ptr + 12);
-             PROC_REG_OFFSET (proc_desc) = bfd_get_32 (sec->objfile->obfd,
-                                                       ptr + 8);
+             PROC_REG_OFFSET (proc_desc)
+               = bfd_get_signed_32 (sec->objfile->obfd, ptr + 8);
              PROC_FREG_OFFSET (proc_desc)
-               = bfd_get_32 (sec->objfile->obfd, ptr + 16);
+               = bfd_get_signed_32 (sec->objfile->obfd, ptr + 16);
              PROC_PC_REG (proc_desc) = bfd_get_32 (sec->objfile->obfd,
                                                    ptr + 28);
              proc_desc->pdr.isym = (long) sym;