(SOSLOCK): Remove
(SOSUNLOCK): Ditto.
(LOCK): Ditto
(UNLOCK): Ditto.
(sos_alloc): If HAVE_CMPXCHG is defined, use cmpxchg_ptr() to atomically allocate
memory in a lock-free manner. Otherwise, fall back on disabling signal
delivery and holding the sos_lock during memory allocation.
(sos_free): Remove.
(mempool_init): Initialize pool lock. Replace LOCK/UNLOCK with appropriate
signal-masking & mutex_lock/unlock calls.
(mempool_free): Replace LOCK/UNLOC with appropriate signal-masking & mutex_lock/unlock
calls.
(Logical change 1.59)
(ia64_get_cached_proc_info): Rename from ia64_script_lookup() and modify it so
it directly updates the proc-info if the necessary script is in the cache.
(script_new): Remove locking comments and adjust formatting.
(ia64_find_save_locs): If global caching is enabled, mask signal delivery and
hold the cache lock while accessing the cache.
(ia64_script_cache_init): Initialize the cache lock.
(Logical change 1.59)
(parse_dynamic): Fix it so it actually works.
(create_state_record_for): Initialize return_link_reg to zero.
Don't print "no unwind info" unconditionally when UNW_DEBUG is
in effect.
(Logical change 1.56)
(intern_dyn_info): Skip over padding rather than fetching it.
Start intern_regions() at address of first region, not just at the next
sequential address.
(unwi_dyn_remote_find_proc_info): Allocate "di" dynamically (it needs to persist
until put_unwind_info() is called).
(Logical change 1.56)
Skip over "prev_addr". Read start/end-IP directly into the "di" structure,
not into temporary variables. Skip padding by directly adjusting the
address (don't bother fetching padding values; that only slows things down).
Return 0 only if we really did find dynamic unwind info.
(Logical change 1.55)
(.info): Use @gprel() reloc instead of @segrel() reloc for _U_dyn_info_list.
The latter doesn't work because the unwind-info is in a different segment.
(ia64_init): Clear unw.r0.
(Logical change 1.55)
(desc_prologue): Fix handling of region_start so it doesn't get corrupted by
state-record pushing/popping.
(parse_dynamic): Allow the last region to contain a negative insn_count, indicating
that the region covers the last portion of a procedure.
(Logical change 1.54)
we now switch to the new backing-store immediately.
(rbs_underflow): Remove.
(rbs_find_stacked): No longer assume that c->bsp is contained in the current
rbs. If it is not, first find the backing-store that's backing c->bsp.
(rbs_cover_and_flush): Use rbs_contains() instead of (broken) open code.
Handle the case where the initial bsp points to an RNaT slot.
(Logical change 1.52)