* 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.
This commit is contained in:
Mark Kettenis 2003-04-19 14:26:15 +00:00
parent 94ba74a9fa
commit f9d3c2a8ad
2 changed files with 10 additions and 3 deletions

View File

@ -1,3 +1,10 @@
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

View File

@ -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;
}