2002-11-09 Klee Dienes <kdienes@apple.com>

* blockframe.c (sigtramp_saved_pc): Use
        builtin_type_void_code_ptr, not builtin_type_void_data_ptr (we are
        extracting the PC).  Use TYPE_LENGTH (builtin_type_void_code_ptr)
        instead of (TARGET_PTR_BIT / TARGET_CHAR_BIT).
This commit is contained in:
Klee Dienes
2002-11-09 19:28:22 +00:00
parent 82661bd0df
commit ebe68b2757
2 changed files with 9 additions and 2 deletions

View File

@@ -668,7 +668,7 @@ sigtramp_saved_pc (struct frame_info *frame)
{
CORE_ADDR sigcontext_addr;
char *buf;
int ptrbytes = TARGET_PTR_BIT / TARGET_CHAR_BIT;
int ptrbytes = TYPE_LENGTH (builtin_type_void_code_ptr);
int sigcontext_offs = (2 * TARGET_INT_BIT) / TARGET_CHAR_BIT;
buf = alloca (ptrbytes);
@@ -684,7 +684,7 @@ sigtramp_saved_pc (struct frame_info *frame)
/* Don't cause a memory_error when accessing sigcontext in case the stack
layout has changed or the stack is corrupt. */
target_read_memory (sigcontext_addr + SIGCONTEXT_PC_OFFSET, buf, ptrbytes);
return extract_typed_address (buf, builtin_type_void_data_ptr);
return extract_typed_address (buf, builtin_type_void_code_ptr);
}
#endif /* SIGCONTEXT_PC_OFFSET */