Use ia64_get_abi_marker() instead of directly referencing c->last_abi_marker.
(linux_scratch_loc): When accessing an fp-reg, default to IA64_FPREG_LOC.
Handle more registers for the Linux interrupt-frame case.
(tdep_access_reg): Use ia64_get_abi() instead of c->as->abi.
Use ia64_is_big_endian() instead of c->as->big_endian.
(Logical change 1.294)
2005/05/17 14:14:23-07:00 hp.com!davidm
(linux_sigtramp): Add "prev_cfm_loc" argument. Use it to set c->ec_loc.
(linux_interrupt): Likewise.
(hpux_sigtramp): Likewise.
(update_frame_state): Copy old cfm_loc to prev_cfm_loc and pass it to
ABI-specific handlers. Initialize c->ec_loc to c->cfm_loc by default.
(Logical change 1.293)
Abstract ia64-specific code into bsp_match() routine.
Support any platform with at least 2 EH argument registers.
2004/12/06 01:33:16-08:00 mostang.com!davidm
Rename: src/longjmp.c -> src/setjmp/longjmp.c
(Logical change 1.290)
2004/11/17 02:43:39-08:00 mostang.com!davidm
(struct callback_data): New structure.
(linear_search): New function.
(callback): Convert to getting auxiliary info passed via a pointer to
a callback_data structure, rather than an unw_dyn_info_t
structure.
Keep track of the maximum load address in max_load_addr.
If an object doesn't have a binary search-table, fall back
on a linear search.
(dwarf_find_proc_info): Fill in callback-data structure before calling
dl_iterate_phdr(). Upon returning, check whether
cb_data.single_fde is set and, if so, return directly, without
searching the DWARF unwind-table.
(dwarf_search_unwind_table): Adjust for renaming of
dwarf_parse_fde() to dwarf_extract_proc_info_from_fde().
If IP doesn't fall into the IP-range of the FDE-entry found
by the search, return UNW_ENOINFO.
(Logical change 1.290)
2004/12/15 15:40:09-08:00 hp.com!davidm
Include "tdep.h" on ia64 (we need the cursor).
(bsp_match): Fix it so it compiles again.
(resume_restore_sigmask): Likewise.
2004/12/06 10:40:49-08:00 mostang.com!davidm
(Logical change 1.290)
2004/11/23 16:59:56-08:00 mostang.com!davidm
(_UPT_access_reg): If the register is out of range, set errno
to EINVAL.
When encountering an error while accessing a register,
print the corresponding error string.
(Logical change 1.290)
a signal-trampoline, assume that it's a PLT stub.
If non-DWARF stepping fails to change IP and CFA, declare
it a bad frame.
2004/11/23 16:59:56-08:00 mostang.com!davidm
(unw_step): Also print IP as part of the function-trace.
2004/11/23 16:17:37-08:00 mostang.com!davidm
(unw_step): When dwarf_step() fails on a signal-frame, fill in all
the known locations because dwarf_step() fails on older
kernels which don't export the kernel vDSO even though every-
thing else may be providing proper DWARF unwind-info.
2004/10/25 17:43:57+02:00 homeip.net!davidm
Add Debug statement for return-value.
(Logical change 1.290)
2004/11/23 12:49:54-08:00 mostang.com!davidm
(unw_step): If dwarf_step() fails on a signal-frame, fill in the
save-locations for everything that gets saved in the
sigcontext structure.
2004/10/25 17:43:57+02:00 homeip.net!davidm
Add Debug statement for return-value.
(Logical change 1.290)
(parse_cie): Adjust for moving DWARF2 extra-info from
unw_dyn_dwarf_fde_info_t to dwarf_cie_info.
Add support for `S' augmentation ("special frames").
(dwarf_extract_proc_info_from_fde): Rename frm dwarf_parse_fde().
Convert to returning data via dwarf_cie_info rather than
unw_dyn-dwarf_fde_info_t. Allow 0-length FDE since those
can be used to indicate the end of the FDE-table. Return
the end of the FDE via *ADDRP. Ignore CIEs (we may pick them
up during linear searches through the FDE-table).
Fill in the unwind-info only if really needed. When needed,
return the info via a dynamically allocated dwarf_cie_info
structure. Add support for `S' augmentation (ABI/tag pairs).
(Logical change 1.290)