1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-11-27 09:37:38 +01:00
Commit graph

771 commits

Author SHA1 Message Date
mostang.com!davidm
aef3ad9d8d (_U_dyn_info_list_lock): Mark as HIDDEN.
(Logical change 1.149)
2003-12-21 07:44:16 +00:00
mostang.com!davidm
c008232bae (unw_decode_r1): "inline" it.
(unw_decode_r2): Likewise.
(unw_decode_r3): Likewise.
(unw_decode_p1): Likewise.
(unw_decode_p2_p5): Likewise.
(unw_decode_p6): Likewise.
(unw_decode_p7_p10): Likewise.
(unw_decode_b1): Likewise.
(unw_decode_b3_x4): Likewise.
(unw_decode_table): Remove.
(unw_decode): Do the first-level of decoding inline, rather than
	through the unw_decode_table.

(Logical change 1.148)
2003-12-21 07:21:28 +00:00
mostang.com!davidm
aa800d423d (unw): Mark it as HIDDEN.
(Logical change 1.148)
2003-12-21 07:21:28 +00:00
mostang.com!davidm
3596fa99b6 (regname): Delete.
(regname_len): New macro.
(regname_str): New macro.
(NREGS): New macro.
(unw_regname): Change it from using a regname[] array to using
	a single string.

(Logical change 1.148)
2003-12-21 07:21:28 +00:00
hp.com!davidm
468aaccf17 Switch over to DWARF-based unwinder.
(Logical change 1.146)
2003-12-20 11:50:00 +00:00
hp.com!davidm
9fdd520e59 Regenerate.
(Logical change 1.146)
2003-12-20 11:50:00 +00:00
hp.com!davidm
23760816b3 (libunwind_la_SOURCES_common): Replace dyn-extract.c and dyn-remote.c
with generic and local-only versions.
(dwarf_sources): New macro.
(libbunwind_la_SOURCES_x86): Add $(dwarf_sources).
	Drop tables-x86.c it's not needed anymore.
(AM_CPPFLAGSG): Add architecture-specific include file.

(Logical change 1.146)
2003-12-20 11:50:00 +00:00
hp.com!davidm
eb51b4294a (Logical change 1.145) 2003-12-20 11:43:08 +00:00
hp.com!davidm
c7312eceb2 Define UNW_LOCAL_ONLY before including <libunwind.h> so we get the
optimized version for unwind-table-searching.

(Logical change 1.144)
2003-12-20 11:38:49 +00:00
hp.com!davidm
a114b907b1 (_Unwind_GetTextRelBase): Drop comment. Returning 0 seems to be
OK for most existing platforms (both ia64 and DWARF-based).

(Logical change 1.144)
2003-12-20 11:38:49 +00:00
hp.com!davidm
9239758529 (_Unwind_GetDataRelBase): Implement it by returning the "gp" value
of the proc-info.

(Logical change 1.144)
2003-12-20 11:38:49 +00:00
hp.com!davidm
2afc5f7ddb (Logical change 1.144) 2003-12-20 11:38:49 +00:00
hp.com!davidm
0bbb2fab68 Initial revision 2003-12-20 11:38:49 +00:00
hp.com!davidm
b6adfb75c4 Declare mempool-routines as HIDDEN.
(Logical change 1.143)
2003-12-20 11:35:09 +00:00
hp.com!davidm
7b76187fc8 (remote_find_proc_info): Update the comment so it reflects reality.
(Logical change 1.142)
2003-12-20 11:32:43 +00:00
hp.com!davidm
4fafd8cbf7 Use Elf_W() instead of ElfW() etc. to avoid clash with <linker.h>.
(Logical change 1.141)
2003-12-20 11:23:44 +00:00
hp.com!davidm
5e48061ba6 Update copyright header.
(Logical change 1.140)
2003-12-20 11:20:42 +00:00
hp.com!davidm
ff78bcde0d Rename: src/dyn-remote.c -> src/Gdyn-remote.c
}(Logical change 1.140)
2003-12-20 11:20:42 +00:00
hp.com!davidm
1cfcd061e9 Rename: src/dyn-remote.c -> src/Gdyn-remote.c
(Logical change 1.140)
2003-12-20 11:20:42 +00:00
hp.com!davidm
94903d3c12 Rename: src/dyn-extract.c -> src/Gdyn-extract.c
}(Logical change 1.140)
2003-12-20 11:20:42 +00:00
hp.com!davidm
058325fc41 Rename: src/dyn-extract.c -> src/Gdyn-extract.c
(Logical change 1.140)
2003-12-20 11:20:42 +00:00
hp.com!davidm
9b52308ae2 Minor whitespace fixes.
(Logical change 1.140)
2003-12-20 11:20:42 +00:00
hp.com!davidm
b25fd18403 Initial revision 2003-12-20 11:20:42 +00:00
hp.com!davidm
64c0ad5876 Delete: src/x86/tables-x86.c
}(Logical change 1.140)
2003-12-20 11:20:42 +00:00
mostang.com!davidm
2c1bae7798 Add copyright header.
(Logical change 1.139)
2003-12-10 07:14:38 +00:00
mostang.com!davidm
9765f67c9d A
(Logical change 1.139)
2003-12-10 07:14:38 +00:00
mostang.com!davidm
4d40b374b9 Lookup static proc-info via accessor's callback, not by directly
calling tdep_find_proc_info().  The latter doesn't works in the
REMOTE_ONLY case.

(Logical change 1.138)
2003-12-05 06:42:28 +00:00
mostang.com!davidm
98f95e6ee4 (sos_alloc): Drop type-cast-avoiding union. If we really need it,
it should be done by cmpxchg_ptr().

(Logical change 1.138)
2003-12-05 06:42:28 +00:00
mostang.com!davidm
47c25b753c (run_script): Drop left-over __builtin_expect() call.
(Logical change 1.138)
2003-12-05 06:42:28 +00:00
hp.com!davidm
ac224b48bb (sos_alloc): Fix call to cmpxchg_ptr().
(Logical change 1.136)
2003-12-04 23:29:32 +00:00
hp.com!davidm
3b54f2a48d R
(Logical change 1.135)
2003-12-04 07:44:21 +00:00
hp.com!davidm
ab0fdbbb4c (Logical change 1.135) 2003-12-04 07:44:21 +00:00
hp.com!davidm
1a7d4ee7ed Initial revision 2003-12-04 07:44:21 +00:00
hp.com!davidm
0240946f92 (SOVERSION): Bump it.
(libunwind_la_SOURCES_local): Mention all the new _Unwind_* files.
(EXTRA_DIST): Mention unwind-internal.h.

(Logical change 1.135)
2003-12-04 07:44:21 +00:00
hp.com!davidm
63a8bec6f6 Don't include "config.h" here. Include it via "unwind_i.h" instead.
(Logical change 1.134)
2003-12-04 07:38:25 +00:00
hp.com!davidm
6498cdf4d9 Don't include "config.h" here.
(Logical change 1.134)
2003-12-04 07:38:25 +00:00
hp.com!davidm
e6f6a92db1 (Logical change 1.133) 2003-12-04 07:34:21 +00:00
hp.com!davidm
96d608b2cc Initial revision 2003-12-04 07:34:21 +00:00
hp.com!davidm
2dcaa68adb Regenerate.
(Logical change 1.131)
2003-11-27 07:17:47 +00:00
hp.com!davidm
bd54a900bc (libunwind_la_SOURCES_x86): Mention x86/offsets.h.
(Logical change 1.131)
2003-11-27 07:17:47 +00:00
hp.com!davidm
35300d0616 Replace #ifdef UNW_DEBUG with #if UNW_DEBUG.
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
cda74fe038 Replace #if DEBUG with #if UNW_DEBUG.
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
c974464933 Delete include of elf64.h. The "tdep.h" header-file is responsible
for including the appropriate file.

(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
1150a638d6 Delete extraneous .previous directive (reported by
Laurent Morichetti).

(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
6c2e6e7f72 (update_frame_state): Delete unnecessary "pr" variable.
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
fa7a796b37 (unw_is_signal_frame): Add parens to avoid compiler warnings.
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
cbe3ca13f5 (unw_get_save_loc): Delete extra "break".
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
612917dce0 (tab): Declare as "static".
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
7291d0217c (rcsid): New variable.
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
a024a719e1 (rbs_get_rnat_loc): Declare "inline".
(rbs_loc): Ditto.

(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
c7d965a9dc (put_script_cache): Replace "caching" with "as->caching" and delete
the former to avoid compiler-warnings.
(run_script): Before doing the big switch, check for most common
	case (IA64_INSN_MOVE_STACKED).

(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
dee53d7800 (lookup_symbol): Delete unused variable "str_size".
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
3e1200c200 (linux_scratch_loc): Delete unnecessary variable "ret".
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
cd2d75786a (current_gp): Don't use inline-asm for Intel compiler.
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
74ed7ea40d (_UPT_reg_offset): Declare as "extern".
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
7eaa3cea76 (TARGET_ELF64): Delete.
(TARGET_ELF32): Likewise.
(_UPT_get_proc_name): Use ELF_CLASS instead of TARGET_ELFxx.

(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
85bf403eab (_UPT_get_dyn_info_list_addr): Fix typo.
(Logical change 1.128)
2003-11-27 06:13:02 +00:00
hp.com!davidm
72d091c1d6 (unwi_put_dynamic_unwind_info): Handle UNW_INFO_FORMAT_REMOTE_TABLE.
(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
fb7578ac55 (unwi_get_proc_name): Handle UNW_INFO_FORMAT_REMOTE_TABLE.
(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
02d88bcf13 (unwi_extract_dynamic_info): Handle UNW_INFO_FORMAT_REMOTE_TABLE.
(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
7cec620ea8 (remote_read): New macro.
(remote_lookup): New function.
(_Uia64_search_unwind_table): Handle UNW_INFO_FORMAT_REMOTE_TABLE.
(_Uia64_find_dyn_list): Take unw_dyn_info_t pointer argument instead of its
	members and handle UNW_INFO_FORMAT_REMOTE_TABLE.

(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
13147e5e9c (free_dyn_info): Handle UNW_INFO_FORMAT_REMOTE_TABLE.
(intern_dyn_info): Likewise.

(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
0976af5f9f (create_state_record_for): Handle UNW_INFO_FORMAT_REMOTE_TABLE.
(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
04a99eaa5c (_UPT_get_dyn_info_list_addr): Pass unw_dyn_info_t pointer instead of its
members.

(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
e433ec3820 (unw_create_addr_space): Drop call to ia64_script_cache_init(). It's
not needed because we default to "no caching" and if the application
	turns on caching via unw_set_caching_policy(), the cache will get
	initialized at that time.

(Logical change 1.124)
2003-11-24 23:53:25 +00:00
hp.com!davidm
6ed5d0264f (ia64_script_cache_init): Delete.
(Logical change 1.124)
2003-11-24 23:53:25 +00:00
hp.com!davidm
629d7d3263 (ia64_per_thread_cache): Initialize busy/lock member.
(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)
2003-11-24 23:53:25 +00:00
hp.com!davidm
e939f42941 (ia64_local_addr_space_init): Instead of calling ia64_script_cache_init(),
force a flush via unw_flush_cache().

(Logical change 1.124)
2003-11-24 23:53:25 +00:00
hp.com!davidm
a0b454581a Drop include of <ia64intrin.h>.
(unw_flush_cache): Replace __sync_fetch_and_add() with fetch_and_add1().

(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
92b48f5fe8 (sos_alloc): cmpxchg_ptr() now returns a boolean value (TRUE on success).
(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
ffb9c88e0a (ia64_find_save_locs): Separate out the no-cache case so we don't
acquire the script-cache lock needlessly.

(Logical change 1.122)
2003-11-24 18:35:43 +00:00
hp.com!davidm
22ca263109 (ia64_init): To prevent a race, unw.needs_initialization must be cleared
_after_ everything is initialized.

(Logical change 1.121)
2003-11-24 18:33:44 +00:00
hp.com!davidm
ca11999d9d (UPTi_find_unwind_table): Drop bogus range-check.
(Logical change 1.120)
2003-11-22 06:29:32 +00:00
hp.com!davidm
40e929815c (unw.pre_name): Add missing register names.
(Logical change 1.119)
2003-11-22 06:25:00 +00:00
hp.com!davidm
8b3248c32e (unw_set_caching_policy): If caching-policy didn't change, return
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)
2003-11-22 06:21:26 +00:00
hp.com!davidm
2245be9d9b (get_script_cache): Need to disable signal-delivery even for per-thread
caching.
(put_script_cache): Need to re-enable signal-delivery even for
	per-thread caching.

(Logical change 1.118)
2003-11-22 06:21:26 +00:00
hp.com!davidm
8d7426fe0a (linux_scratch_loc): Add a default-case which simply returns the
register-location.  This is so that special-cases such
	as r0 are handled properly.

(Logical change 1.117)
2003-11-22 06:16:20 +00:00
hp.com!davidm
2c9be974dc Regenerate.
(Logical change 1.115)
2003-11-22 06:08:20 +00:00
mostang.com!davidm
e83a184218 Regenerate.
(Logical change 1.114)
2003-11-20 01:10:03 +00:00
hp.com!davidm
c3328ce150 Delete: src/ia64/TODO
}(Logical change 1.113)
2003-11-19 23:15:58 +00:00
mostang.com!davidm
e5cf56ec1c (mi_init): Initializing unwi_full_sigmask is too late here, it needs to be done in the
arch-specific initialization, so that thread-safety can be guaranteed.

(Logical change 1.112)
2003-11-19 06:18:27 +00:00
mostang.com!davidm
6b2855500a (ia64_init): Move initialization of unwi_full_sigmask to here, from mi_init().
(Logical change 1.112)
2003-11-19 06:18:27 +00:00
hp.com!davidm
add6b939a0 (unw_set_caching_policy): Let ia64_init() clear unw.needs_initialization.
(Logical change 1.111)
2003-11-19 03:11:25 +00:00
hp.com!davidm
f5f706c35e (unw_init_remote): Let ia64_init() clear unw.needs_initialization.
(Logical change 1.111)
2003-11-19 03:11:25 +00:00
hp.com!davidm
3551d42d45 (unw_init_local): Let ia64_init() clear unw.needs_initialization.
(Logical change 1.111)
2003-11-19 03:11:25 +00:00
hp.com!davidm
9b47e7723f (unw_get_accessors): Let ia64_init() clear unw.needs_initialization.
(Logical change 1.111)
2003-11-19 03:11:25 +00:00
hp.com!davidm
8e71bb0ab2 (unw): Initialize "lock" member. Switch to ANSI99-style initializers.
(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)
2003-11-19 03:11:25 +00:00
hp.com!davidm
6b6a0079e6 Update copyright year.
Minor formatting changes.

(Logical change 1.110)
2003-11-18 21:47:51 +00:00
hp.com!davidm
c55348de6e Update copyright year.
(Logical change 1.110)
2003-11-18 21:47:51 +00:00
com[davidm]!hans_boehm
434b9ffcfe x86: fix unw_is_signal_frame() and unwinding across signal handlers
(Logical change 1.109)
2003-11-18 21:29:40 +00:00
com[davidm]!hans_boehm
864270533f Initial revision 2003-11-18 21:29:40 +00:00
hp.com!davidm
e70d39ae8e (create_state_record_for): Drop extraneous clearing of
sr->return_link_reg.  The entire structure is getting
	cleared via memset() already!

(Logical change 1.108)
2003-11-15 09:46:17 +00:00
hp.com!davidm
656e9d6e7d (_Uia64_search_unwind_table): Correct off-by-8 error in calculating
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)
2003-11-15 09:46:17 +00:00
hp.com!davidm
233952e855 (unw_get_save_loc): Handle floating-point registers as well.
(Logical change 1.107)
2003-10-11 01:06:49 +00:00
hp.com!davidm
bcbdc591be (unw_get_save_loc): Fix double negation.
(Logical change 1.105)
2003-10-11 00:59:02 +00:00
hp.com!davidm
8aff3354e2 Mention x86/set_caching_policy-x86.c.
(Logical change 1.104)
2003-09-25 05:29:14 +00:00
hp.com!davidm
b3c9ffcf39 Initial revision 2003-09-25 05:29:14 +00:00
hp.com!davidm
87e2dfb9af (unw_regname): Fix signed/unsigned comparison.
(Logical change 1.104)
2003-09-25 05:29:14 +00:00
hp.com!davidm
522e2ccbe0 (sos_alloc): Do type-punning through a union to be ANSI-9x compliant
and avoid a warning from gcc.

(Logical change 1.104)
2003-09-25 05:29:14 +00:00
hp.com!davidm
71650257d7 (lookup_symbol): Cast arguments to debug printf() so they compile
without warning on both 32- and 64-bit platforms.

(Logical change 1.104)
2003-09-25 05:29:14 +00:00
hp.com!davidm
2f3b37da51 (_UPT_access_reg): Cast arguments to debug printf so they compile
without warning on both 32- and 64-bit platforms.

(Logical change 1.104)
2003-09-25 05:29:14 +00:00
hp.com!davidm
a99bac423b (_UPT_access_mem): Cast arguments to debug printf so that it
compiles without worning both on 64-bit and 32-bit platforms.

(Logical change 1.104)
2003-09-25 05:29:14 +00:00
hp.com!davidm
e4be4f9dc5 (Logical change 1.104) 2003-09-25 05:29:14 +00:00
hp.com!davidm
350ae98340 (local_resume): Clear IA64_SC_FLAG_IN_SYSCALL before resuming via
sigreturn().  This is needed to ensure that all scratch-regs
	get restored.  Also add some more debug statements.

(Logical change 1.103)
2003-09-25 05:08:18 +00:00
hp.com!davidm
d0fddf5de8 (ia64_find_save_locs): Only call ia64_fetch_proc_info() when we really
have to (i.e., if we don't have cached info).  Otherwise,
	the unnecessary calls cause a performance regression.

(Logical change 1.102)
2003-09-24 21:56:42 +00:00
mostang.com!davidm
b3c1bf3f75 (flush_script_cache): Drop addr_space_t argument. Initialize
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)
2003-09-19 06:56:12 +00:00
mostang.com!davidm
510a7c82f7 (unw_is_signal_frame): Call ia64_fetch_proc_info() before creating
the state-record.

(Logical change 1.95)
2003-09-18 06:09:22 +00:00
mostang.com!davidm
cbf1d7d56b (parse_dynamic): Call ia64_fetch_proc_info() before creating the
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)
2003-09-18 06:09:22 +00:00
mostang.com!davidm
46f5783f5d (ia64_find_save_locs): Call ia64_fetch_proc_info() early on and
bug out if it fails (before creating a new script).

(Logical change 1.95)
2003-09-18 06:09:22 +00:00
mostang.com!davidm
d6946f580b (ia64_fetch_proc_info): New procedure.
(Logical change 1.95)
2003-09-18 06:09:22 +00:00
mostang.com!davidm
117b21a1cf (unw_create_addr_space): Initialize global script-cache here (while
there are no other threads using the cache).

(Logical change 1.94)
2003-09-18 06:01:09 +00:00
mostang.com!davidm
4d40a1cfc8 (rotate_gr): Fix off-by-1 bug and simplify the function.
(Logical change 1.93)
2003-08-20 18:02:30 +00:00
mostang.com!davidm
0b65016a37 (ia64_find_save_locs): Fix typo: check for -UNW_ESTOPUNWIND.
(Logical change 1.93)
2003-08-20 18:02:30 +00:00
hp.com!davidm
a157d632f7 (desc_is_active): Need to cast 1 to (unw_word_t) before shifting it by
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)
2003-07-08 22:32:44 +00:00
hp.com!davidm
09aa4183f6 (unw_get_save_loc): Also check for ABI_MARKER_OLD_LINUX_SIGTRAMP.
Check against UNW_IA64_AR_SSD instead of UNW_IA64_AR_26.

(Logical change 1.91)
2003-07-08 22:29:34 +00:00
hp.com!davidm
666c61846c (rbs_cover_and_flush): Cast unw_word_t values to (unsigned long) before
printing them.

(Logical change 1.91)
2003-07-08 22:29:34 +00:00
hp.com!davidm
f3b8566331 (linux_interrupt): Add "marker" argument. Support both old and new
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)
2003-07-08 22:29:34 +00:00
hp.com!davidm
3053ee9de1 (ia64_scratch_loc): Split up into linux_scratch_loc() and hpux_scratch_loc().
(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)
2003-07-08 22:29:34 +00:00
hp.com!davidm
6536dbab47 (LINUX_SC_AR_SSD_OFF): Rename from LINUX_SC_AR_26_OFF.
(LINUX_OLD_PT_*): Rename from LINUX_PT_*.
(LINUX_PT_*): Add definitions for new pt_regs layout.

(Logical change 1.91)
2003-07-08 22:29:34 +00:00
mostang.com!davidm
0d37a4a620 (ia64_init): Initialize reg_state_pool instead of state_record_pool.
(Logical change 1.90)
2003-06-03 21:36:03 +00:00
mostang.com!davidm
a9236a84ea (alloc_reg_state): Use reg_state_pool instead of state_record_pool.
(free_reg_state): Ditto.

(Logical change 1.90)
2003-06-03 21:36:03 +00:00
hp.com!davidm
0cc1fcb76a Add definitions for Linux interrupt frame layout (struct pt_regs).
(Logical change 1.89)
2003-04-25 07:44:23 +00:00
hp.com!davidm
1045cb2cc0 (unw_get_save_loc): Check c->last_abi_marker == ABI_MARKER_LINUX_SIGTRAMP instead
of for a non-NULL sigcontext_addr.

(Logical change 1.89)
2003-04-25 07:44:23 +00:00
hp.com!davidm
dc34eda2fc (remote_install_cursor): Do Linux-shortcut only if UNW_REMOTE_ONLY is not defined.
(Logical change 1.89)
2003-04-25 07:44:23 +00:00
hp.com!davidm
e0160b16b7 (linux_interrupt): New function.
(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)
2003-04-25 07:44:23 +00:00
hp.com!davidm
43786a3f2d (ia64_uc_access_reg): Move outside of !UNW_REMOTE_ONLY bracket.
(ia64_uc_access_fpreg): Ditto.

(Logical change 1.89)
2003-04-25 07:44:23 +00:00
hp.com!davidm
d92ddf8128 (common_init): Clear c->last_abi_marker.
(Logical change 1.89)
2003-04-25 07:44:23 +00:00
mostang.com!davidm
cb926c8da8 Rename: src/ia64/Gmk_cursor_i-ia64.c -> src/ia64/mk_Gcursor_i-ia64.c
}(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
cdff3028d3 Rename: src/ia64/Gmk_cursor_i-ia64.c -> src/ia64/mk_Gcursor_i-ia64.c
(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
c784d06c85 Regenerate.
(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
b39b434660 (Logical change 1.87) 2003-04-24 20:45:07 +00:00
mostang.com!davidm
424ffd0db8 Initial revision 2003-04-24 20:45:07 +00:00
mostang.com!davidm
fe2dfccdf9 Include <alloca.h>.
(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)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
c8d1774e07 Always include "mk_Gcursor_i-ia64.c" even if we don't really need it. We can't
have an empty file here, as otherwise we won't get a valid program.

}(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
2b8dd64bd9 Always include "mk_Gcursor_i-ia64.c" even if we don't really need it. We can't
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)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
0561cd32b3 (unw_init_local): On HP-UX, step over the initial (getcontext()) frame.
(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
344768e1d6 (unw_get_save_loc): Handle "saved-in-sigcontext" case only for Linux.
(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
a38d3f6275 (mi_init): Turn off buffering for stdout and stderr when debugging is enabled.
(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
2404a17c82 (lookup_preg): Remove useless "unwind." prefix in debug output.
(parse_dynamic): Ditto.

(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
3d3510c047 (local_resume): Support HP-UX via setcontext() (doesn't actually work yet).
(remote_install_cursor): Enable the short-cut for Linux only.  Since HP-UX uses
	an opaque data-structure for ucontext_t, we can't play the same trick
	there.  Fix two typos: "> 0" -> ">= 0".
(unw_resume): Handle non-UNW_LOCAL_ONLY case simp;u bu calling
	remote_install_cursor().

(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
4bc8b02277 (linux_sigtramp): New function.
(hpux_sigtramp): Ditto.
(update_frame_state): Use abi_marker to decide how to handle a special frame.

(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
bd28baa280 (ia64_scratch_loc): Use c->as->abi to select appropriate behavior. Implement
support for HP-UX.
(access_nat): Check for uc-location and pass it on to ia64_put()/ia64_get() if
	it is.  Handle NaT-bit-saved-in-scratch-register only for Linux.
(ia64_access_reg): Change dprintf() into debug() statement.
(ia64_access_fpreg): Move fph-partition initialization code to ia64_scratch_loc().
	Change dprintf() into debug() statement.

(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
a88af79c95 (_ULia64_local_addr_space): Move to global scope so GCC doesn't whine if we
end up not using it.
(UNWIND_TBL_32BIT): New macro.
(struct unwind_header): Rename "unknown1" member to "header_version".
(tdep_find_proc_info) [HAVE_DLMODINFO]: Don't forget to initialize di.gp.
	Check unwind-header version and format.

(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
3e4f08bbf0 (SOVERSION): Change to 1:1:0.
Rename Gmk_cursor to mk_Gcursor, Lmk_cursor to mk_Lcursor so to avoid
scripts/make-L-files overwriting the (handcrafted) local version.
(EXTRA_DIST): Mention libunwind_la_SOURCES_os_hpux.

(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
8fee91bd13 (MIN): If it's defined already, #undef it first.
(IA64_LOC_UC_REG): New macro.
(IA64_GET_AUX_ADDR): New macro.
(ia64_uc_access_reg): New function.
(ia64_uc_access_fpreg): Ditto.
(ia64_getfp): Forward uc-locations to ia64_uc_access_fpreg().
(ia64_putfp): Ditto.
(ia64_get): Ditto.
(ia64_put): Ditto.
(rbs_on_uc): New function.

(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
747b961d31 Initial revision 2003-04-23 19:22:42 +00:00
mostang.com!davidm
1fe8bc11d4 If UNW_LOCAL_ONLY is defined, include Lcursor_i.h instead of Gcursor_i.h.
Update code to work both for UNW_LOCAL_ONLY-version of the cursor and the
generic version of the cursor.
(ia64_install_cursor): New macro.

}(Logical change 1.85)
2003-04-23 19:22:42 +00:00
mostang.com!davidm
630b01488a If UNW_LOCAL_ONLY is defined, include Lcursor_i.h instead of Gcursor_i.h.
Update code to work both for UNW_LOCAL_ONLY-version of the cursor and the
generic version of the cursor.
(ia64_install_cursor): New macro.

2003/04/23 11:25:31-07:00 mostang.com!davidm
Rename: src/ia64/_Uia64_install_cursor.S -> src/ia64/Ginstall_cursor.S

(Logical change 1.85)
2003-04-23 19:22:42 +00:00
mostang.com!davidm
6c584b7b68 (local_resume): Call ia64_install_cursor() instead of _Uia64_install_cursor().
(ia64_local_resume): Call local_resume().
(remote_install_cursor): Reenable old code.  Update MEMIFY for loc array changes.

(Logical change 1.85)
2003-04-23 19:22:42 +00:00
mostang.com!davidm
8e85e811c0 (libunwind_la_SOURCES_ia64): Replace _Uia64_install_cursor.S with Ginstall_cursor.S
and Linstall_cursor.S.
(Gmk_cursor_i_ia64_SOURCES): Rename from mk_cursor_i_ia64_SOURCES.
(Lmk_cursor_i_ia64_SOURCES): New mcro.
(Gcursor_i.h): Rename rule from cursor_i.h.
(Lcursor_i.h): New rule.
(noinst_PROGRAMS): Rename mk_cursor_i-ia64 to Gmk_cursor_i-ia64 and add
	Lmk_cursor_i-ia64.
(BUILT_SOURCES): Ditto.

(Logical change 1.85)
2003-04-23 19:22:42 +00:00