(build_script): For signal-frames, generate an instruction that will set
is_signal_frame to TRUE.
2002/12/11 12:27:36-08:00 mostang.com!davidm
Rename: src/ia64/script.c -> src/ia64/Gscript.c
(Logical change 1.30)
(tdep_search_unwind_table): Rename from _Uia64_search_unwind_table() and declare as
HIDDEN. Allocate (if needed) and fill in unwind_info only if requested.
(tdep_put_unwind_info): New function.
(_Uia64_find_proc_info): Add "need_unwind_info" argument and declare as HIDDEN.
(Logical change 1.30)
and pi_is_dynamic flags in the cursor structure.
(put_unwind_info): New function.
(create_state_record_for): Release unwind-info via a call to put_unwind_info() after
we're done parsing it.
}(Logical change 1.30)
and pi_is_dynamic flags in the cursor structure.
(put_unwind_info): New function.
(create_state_record_for): Release unwind-info via a call to put_unwind_info() after
we're done parsing it.
2002/12/11 12:27:25-08:00 mostang.com!davidm
Rename: src/ia64/parser.c -> src/ia64/Gparser.c
(Logical change 1.30)
(lookup): New function (moved from parser.c).
(_Uia64_search_unwind_table): New function (based on code in parser.c).
(kernel_table): New variable.
(get_kernel_table): Relocate the kernel table's "info_offset" values as we
count it. Adjust for new callback-interface.
(callback): Adjust for new interface.
(_Uia64_find_proc_info): Rename from _Uia64_glibc_acquire_unwind_info).
}(Logical change 1.29)
(lookup): New function (moved from parser.c).
(_Uia64_search_unwind_table): New function (based on code in parser.c).
(kernel_table): New variable.
(get_kernel_table): Relocate the kernel table's "info_offset" values as we
count it. Adjust for new callback-interface.
(callback): Adjust for new interface.
(_Uia64_find_proc_info): Rename from _Uia64_glibc_acquire_unwind_info).
2002/11/27 16:44:37-08:00 mostang.com!davidm
Rename: src/ia64/tables-glibc.c -> src/ia64/tables.c
(Logical change 1.29)
(struct ia64_cursor): Change type of "pi" member from struct ia64_proc_info to
unw_proc_info_t.
(struct unw_addr_space): Declare "acc" member even for UNW_LOCAL_ONLY case.
(ia64_acquire_unwind_info): Delete
(ia64_relesae_unwind_info): Ditto.
(ia64_find_proc_info): New routine.
(struct ia64_unwind_table_entry): Delete.
(struct ia64_unwind_talbe): Ditto.
(struct ia64_global_unwind_state): Remove "unwind_table_pool" member.
(ia64_get_proc_info): Rename to ia64_make_proc_info().
(Logical change 1.29)
(lookup_preg): New function.
(parse_dynamic): Ditto.
(get_proc_info): Take explicit IP argument.
(create_state_record_for): New function, containing most of the code originally
in ia64_create_state_record(). Don't forget to initialize
sr->first_region. Check c->pi.format and parse unwind descriptors or
dynamically registered unwind info accordingly.
(ia64_get_proc_info): Adjust for extra argument expected by get_proc_info().
(ia64_create_state_record): Do interesting work by calling create_state_record_for().
(Logical change 1.29)
(get_script_cache): Ditto.
(script_lookup): Renamed from ia64_script_lookup() and add "address-space" argument.
(ia64_script_lookup): New function.
(build_script): Get script from the caller instead of via script_new().
(ia64_find_save_locs): If caching is disabled, create a temporary script and
do not update the script cache.
(Logical change 1.27)
(struct ia64_reg_state): Moved here from parser.c.
(struct ia64_global_unwind_state): Add unwind_table_pool, state_record_pool,
and labeled_state_pool.
(Logical change 1.19)
(alloc_reg_state): Use mempool interface.
(free_reg_state): Ditto.
(alloc_labeled_state): Ditto.
(free_labeled_state): Ditto.
(alloc_spill_area): Fix spill-area allocation (fix by Richard Henderson).
(desc_frgr_mem): Fix case for f16-f31 (fix by Richard Henderson).
(get_proc_info): Use mempool_alloc() instead of malloc().
(Logical change 1.19)
pointing at the signal trampoline frame. Otherwise, raising an exception from within
a signal handler will fail to pass the exception arguments to the exception handler.
(Logical change 1.19)
(unw_regname): First register number now starts with zero.
2002/04/11 21:43:00-07:00 mostang.com!davidm
Rename: src/ia64/shared.c -> src/ia64/unw_regname.c
(Logical change 1.16)
that in the UNW_LOCAL_ONLY-case, bit 2 in register save locations is unused. If
UNW_LOCAL_ONLY is defined, define stream-lined versions of IA64_REG_LOC(),
IA64_FPREG_LOC(), ia64_acquire_unwind_info(), ia64_release_unwind_info(), ia64_get(),
ia64_put(), ia64_getfp(), and ia64_putfp(). Drop convenience macros and declarations for
ia64_glibc_{acquire,release}_unwind_info(). Add convenience macro and declaration for
ia64_local_resume().
(Logical change 1.8)
(_U_ia64_uc_addr): New function.
(access_reg): Use uc_addr() to calculate ucontext address. Use uc->sc_rbs_base
when accessing ar.bsp or ar.bspstore (see comments for unw_init_local()).
(access_fpreg): Ditto.
(ia64_local_resume): Renamed from resume(). Read NaT bits via ia64_access_reg().
Call abort() instead of fprintf() when encountering a signal trampoline.
(unw_init_local): Initialize uc->sc_rbs_base to the bsp value of the current function.
For UNW_LOCAL_ONLY case, just initialize c->uc and then call
common_init() to do the remaining initialization. For the general case,
just initialize the accessor and then also call common_init().
(Logical change 1.8)