aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@vmware.com>2000-07-21 20:52:27 +0000
committerMichael Snyder <msnyder@vmware.com>2000-07-21 20:52:27 +0000
commit6dff448f84031660d7921c2182b96d69c365cdf3 (patch)
tree2794817767a6c7df680f315e9b98d828e66d2ec5
parent3dd3139b536d7cbc0ad0cf689c52b4e8c175c2d9 (diff)
downloadgdb-6dff448f84031660d7921c2182b96d69c365cdf3.zip
gdb-6dff448f84031660d7921c2182b96d69c365cdf3.tar.gz
gdb-6dff448f84031660d7921c2182b96d69c365cdf3.tar.bz2
2000-07-21 Michael Snyder <msnyder@cleaver.cygnus.com>
* config/i386/tm-i386.h: treat PC and FP as unsigned. (SAVED_PC_AFTER_CALL): Use read_memory_unsigned_integer. (FRAME_SAVED_PC): Ditto. (FRAME_CHAIN): Ditto.
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/config/i386/tm-i386.h7
2 files changed, 11 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 1bb70e9..612c26c 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2000-07-21 Michael Snyder <msnyder@cleaver.cygnus.com>
+
+ * config/i386/tm-i386.h: treat PC and FP as unsigned.
+ (SAVED_PC_AFTER_CALL): Use read_memory_unsigned_integer.
+ (FRAME_SAVED_PC): Ditto.
+ (FRAME_CHAIN): Ditto.
+
2000-07-20 Michael Snyder <msnyder@cleaver.cygnus.com>
* valarith.c (value_sub): Call check_typedef.
diff --git a/gdb/config/i386/tm-i386.h b/gdb/config/i386/tm-i386.h
index 3507d82..2f18086 100644
--- a/gdb/config/i386/tm-i386.h
+++ b/gdb/config/i386/tm-i386.h
@@ -69,7 +69,8 @@ extern int i386_skip_prologue (int);
through the frames for this because on some machines the new frame is not
set up until the new function executes some instructions. */
-#define SAVED_PC_AFTER_CALL(frame) (read_memory_integer (read_register (SP_REGNUM), 4))
+#define SAVED_PC_AFTER_CALL(frame) \
+ (read_memory_unsigned_integer (read_register (SP_REGNUM), 4))
/* Stack grows downward. */
@@ -327,7 +328,7 @@ extern void i386_extract_return_value (struct type *type, char *regbuf,
((thisframe)->signal_handler_caller \
? (thisframe)->frame \
: (!inside_entry_file ((thisframe)->pc) \
- ? read_memory_integer ((thisframe)->frame, 4) \
+ ? read_memory_unsigned_integer ((thisframe)->frame, 4) \
: 0))
/* A macro that tells us whether the function invocation represented
@@ -342,7 +343,7 @@ extern void i386_extract_return_value (struct type *type, char *regbuf,
#define FRAME_SAVED_PC(FRAME) \
(((FRAME)->signal_handler_caller \
? sigtramp_saved_pc (FRAME) \
- : read_memory_integer ((FRAME)->frame + 4, 4)) \
+ : read_memory_unsigned_integer ((FRAME)->frame + 4, 4)) \
)
extern CORE_ADDR sigtramp_saved_pc (struct frame_info *);