aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2003-04-19 14:26:15 +0000
committerMark Kettenis <kettenis@gnu.org>2003-04-19 14:26:15 +0000
commitf9d3c2a8add970641c8c508ab8cd71b433f8ee93 (patch)
tree05518ea694acd12bad4879ff8d00bf166dd1e678 /gdb
parent94ba74a9fa6ebe547ec15e8c5cf41a69878aeb80 (diff)
downloadgdb-f9d3c2a8add970641c8c508ab8cd71b433f8ee93.zip
gdb-f9d3c2a8add970641c8c508ab8cd71b433f8ee93.tar.gz
gdb-f9d3c2a8add970641c8c508ab8cd71b433f8ee93.tar.bz2
* i386-tdep.c (i386_get_longjmp_target): Use
TYPE_LENGTH(builtin_type_void_func_ptr) instead of TARGET_PTR_BIT and TARGET_CHAR_BIT. Use extract_typed_address instead of extract_address.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/i386-tdep.c6
2 files changed, 10 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index e59cf05..700bdba 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,12 @@
2003-04-19 Mark Kettenis <kettenis@gnu.org>
+ * i386-tdep.c (i386_get_longjmp_target): Use
+ TYPE_LENGTH(builtin_type_void_func_ptr) instead of TARGET_PTR_BIT
+ and TARGET_CHAR_BIT. Use extract_typed_address instead of
+ extract_address.
+
+2003-04-19 Mark Kettenis <kettenis@gnu.org>
+
* core-regset.c: Update comments to reflect reality. Re-order
includes.
(fetch_core_registers): Use switch instead of if. Remove
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index 475f89c..dde3b25 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -901,7 +901,7 @@ i386_get_longjmp_target (CORE_ADDR *pc)
char buf[8];
CORE_ADDR sp, jb_addr;
int jb_pc_offset = gdbarch_tdep (current_gdbarch)->jb_pc_offset;
- int len = TARGET_PTR_BIT / TARGET_CHAR_BIT;
+ int len = TYPE_LENGTH (builtin_type_void_func_ptr);
/* If JB_PC_OFFSET is -1, we have no way to find out where the
longjmp will land. */
@@ -912,11 +912,11 @@ i386_get_longjmp_target (CORE_ADDR *pc)
if (target_read_memory (sp + len, buf, len))
return 0;
- jb_addr = extract_address (buf, len);
+ jb_addr = extract_typed_address (buf, builtin_type_void_func_ptr);
if (target_read_memory (jb_addr + jb_pc_offset, buf, len))
return 0;
- *pc = extract_address (buf, len);
+ *pc = extract_typed_address (buf, builtin_type_void_func_ptr);
return 1;
}