+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
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. */
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;
}
\f