(get_script_cache): Return NULL if caching is disabled. If
HAVE_ATOMIC_OPS_H is defined, set the busy flag and if
the script cache is busy already, return NULL.
(put_script_cache): Don't allow it to be called for UNW_CACHE_NONE case.
If HAVE_ATOMIC_OPS_H is defined, clear the "busy" flag via
AO_CLEAR.
(ia64_get_cached_proc_info): If we're unable to acquire the cache,
return -UNW_ENOINFO.
(script_init): New function.
(script_new): Replace open code with call to script_init().
(uncached_find_save_locs): New function.
(ia64_find_save_locs): Move code for uncached case to
uncached_find_save_locs(). If get_script_cache() is unable to
lock the script-cache, fall back to uncached_find_save_locs().
(ia64_script_cache_init): Delete.
(Logical change 1.124)
early. Always flush cache after changing the policy.
This is to ensure that the per-thread cache gets initialized
and no stale info remains.
(Logical change 1.118)
(ia64_init): Use unw.lock to protect against races during
initialization. Disable signal delivery during initialization
to ensure thread-safety (e.g., unw_init_local() may call
ia64_init() and the former must be thread-safe).
(Logical change 1.111)
personality-routine and LSDA address and dont' forget to
dereference the personality-routine function-pointer, so we
really get the address of the function-descriptor of the
personality routine.
(callback): Set the segment-base based on the segment that contains
the unwind-table. Normally, that the text segment but in
special cases, such as the kernel's gate DSO, it will be
in a different segment.
(Logical change 1.108)
hash-table, collision-chains, and hash-table in addition
to clearing the script's IP value. The latter wasn't nearly
sufficient because it could cause loops on the collision
chain...
(get_script_cache): Also lock the cache if global caching is in
effect. Take additional "saved_sigmaskp" argument.
After flushing the cache, update the cache generation
here.
(put_script_cache): New function.
(ia64_get_cached_proc_info): Adjust for get_script_cache() and
put_script_cache() changes.
(ia64_find_save_locs): Ditto.
(ia64_script_cache_init): Call flush_script_cache() instead of
opening-coding the equivalent code.
(Logical change 1.96)
state-record.
(ia64_fetch_proc_info): Rename from get_proc_info().
(create_state_record_for): Assert that c->pi_valid is TRUE at the
time of entry. Remove call to get_proc_info().
(Logical change 1.95)
a value that is potentially > 31. Casting it to (unsigned long)
is not enough on 32-bit platforms.
(create_state_record_for): Cast 0xf to (unw_word_t) instead of
(unsigned long) to avoid losing bits on 32-bit platforms.
(Logical change 1.92)
Linux kernel "struct pt_regs" layout.
(update_frame_state): Handle ABI_MARKER_OLD_LINUX_SIGTRAMP and
ABI_MARKRE_OLD_LINUX_INTERRUPT. Cast values of type unw_word_t
to (unsigned long) before printing them.
(Logical change 1.91)
(linux_scratch_loc): Add support for new pt_regs layout.
(access_nat): Check last_abi_marker instead of sigcontext_addr and
address-space ABI.
(Logical change 1.91)
(update_frame_state): Handle ABI_MARKER_LINUX_INTERRUPT by calling linux_interrupt().
If c->abi_marker is non-zero, copy it to c->last_abi_marker.
(Logical change 1.89)
(access_reg) [HAVE_SYS_UC_ACCESS_H]: Sanitize and simplify this routine. Turns out
uc_access(3) works pretty much the way we need it, the only problem is that
the unwind info for getcontext() seems to be missing as of HP-UX 11.22.
(ia64_uc_access_reg): New function.
(ia64_uc_access_fpreg): Ditto.
(ia64_local_addr_space_init): Initialize "abi" member of local address space based
on the platform we're compiling on.
(Logical change 1.87)
have an empty file here, as otherwise we won't get a valid program.
2003/04/24 12:58:16-07:00 mostang.com!davidm
Rename: src/ia64/Lmk_cursor_i-ia64.c -> src/ia64/mk_Lcursor_i-ia64.c
(Logical change 1.87)