1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-12-11 23:17:39 +01:00
Commit graph

2998 commits

Author SHA1 Message Date
mostang.com!davidm
4f6610b497 Add proper locking to ia64-implementation.
Implement _UPT_resume().
Lots of small fixes to make tar-based distribution work, make x86 target compile
again, etc.

BKrev: 3e66e74czhAdPIrEkhQdwJEf8gQVng
2003-03-06 06:14:36 +00:00
mostang.com!davidm
6a01dbb8df Add copyright message.
(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)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
2853523b39 (unwind_and_resume): Rename UNW_REG_EH_ARG0 to UNW_REG_EH+0 and UNW_REG_EH_ARG1 to
UNW_REG_EH+1.

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
45ce48f2e4 (unw_tdep_fpreg_t): Declare as "long double".
(UNW_TDEP_EH): Declare.
(UNW_TDEP_NUM_EH_REGS): New macro.

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
90c6107cae (unw_get_proc_name): Declare "offp" argument and pass it to unwi_get_proc_name().
(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
3532dd4a4c (main): Add some explicit casts to avoid "unsigned/signed comparison" warnings.
(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
51f58db9b4 (libunwind_la_SOURCES_cdep): Mention _UPT_resume.c.
Delete obsolete comment.

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
43cc4c9e59 (ia64_make_proc_info): If caching is enabled, call ia64_get_cached_proc_info()
to pick up cached proc-info (if available).

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
fe0ed7dd41 (ia64_getfp): Print debug message when accessing an unsaved register.
(ia64_putfp): Ditto.
(ia64_get): Ditto.
(ia64_put): Ditto.
(ia64_local_addr_space_init): Add missing declaration.

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
d3ec5e94aa (cache_match): Remove locking comments.
(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)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
a6e367131b (UNW_TDEP_EH): Rename from UNW_TDEP_EH_ARG0.
(UNW_TDEP_EH_ARG1): Delete.
(UNW_TDEP_EH_ARG2): Ditto.
(UNW_TDEP_EH_ARG3): Ditto.
(UNT_TDEP_NUM_EH_REGS): New macro.

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
c670abba8f (UNW_REG_EH): Rename from UNW_REG_EH_ARG0.
(UNW_REG_EH_ARG1): Delete.
(UNW_REG_EH_ARG2): Ditto.
(UNW_REG_EH_ARG3): Ditto.
(UNW_NUM_EH_REGS): New macro.
(_UPT_resume): Declare.

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
515fd742bd (Logical change 1.59) 2003-03-06 06:14:36 +00:00
mostang.com!davidm
623c4cb79a (EXTRA_DIST): New macro. Mention run-ia64-test-dyn1.
(Lia64_test_stack_SOURCES): Mention ia64-test-stack.h.
(Gia64_test_stack_SOURCES): Ditto.
(Lia64_test_rbs_SOURCES): Mention ia64-test-rbs.h.
(Gia64_test_rbs_SOURCES): Ditto.

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
hp.com!davidm
33182308c6 Merge bk://unwind@bkbits.net/libunwind
into wailua.hpl.hp.com:/home/davidm/src/unwind/libunwind

2003/03/04 16:13:44-08:00 hp.com!davidm
Make sure elfxx.h and elfxx.c get distributed.  Reported by Arun
Sharma.

BKrev: 3e654146-959Szs5FKTAqJu9pNq4KQ
2003-03-05 00:13:58 +00:00
hp.com!davidm
57f0163a91 Auto merged
2003/03/04 16:13:44-08:00 hp.com!davidm
(EXTRA_DIST): New macro.  Mention elfxx.h and elfxx.c.  Reported by
	Arun Sharma.

(Logical change 1.58)
2003-03-05 00:13:58 +00:00
mostang.com!davidm
9d61294fde Include <assert.h>.
(main): Clean up region->op_count handling: op_count specifies the length of
	the array, not the number of valid op-entries.

(Logical change 1.57)
2003-02-27 17:33:20 +00:00
mostang.com!davidm
c302a346bb Clean up ia64-test-dyn1.c with respect to region->op_count.
BKrev: 3e5e4be0LeBIVPR63yfKpjYmBPQhig
2003-02-27 17:33:20 +00:00
mostang.com!davidm
64b4ac37da Use SIGUSR1/SIGUSR2 to start/stop backtrace() verification for trace_mode == TRIGGER.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
d6a0aa7059 Rename "epilogue_start" to "when_sp_restored".
(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)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
26f95915e4 Regenerate.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
62491cc719 Many fixes to get (remote) dynamic unwind info working for real.
Add get_proc_name() callback to accessors so things like the ptrace-support
routines can also print static procedure names.
Try running "tests/test-ptrace -v -t tests/ia64-test-dyn1" for fun.

BKrev: 3e5de161FPiuBUYgFoJGdYn3fGlUUQ
2003-02-27 09:58:57 +00:00
mostang.com!davidm
e31015f67f (Logical change 1.56) 2003-02-27 09:58:57 +00:00
mostang.com!davidm
1de6745d5b Initial revision 2003-02-27 09:58:57 +00:00
mostang.com!davidm
4577631094 Don't be verbose by default.
(main): Send SIGUSR1 before dynamic testing starts, SIGUSR2 afterwards (makes it
	easy for test-ptrace to catch when verification should begin).
	Add test case for func_vframe().

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
404230b56a Document _UPT_get_proc_name().
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
4001ce198a (unwi_get_proc_name): For static procedures, use get_proc_name() callback if it's
non-NULL.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
6a9c819f7f (unwi_extract_dynamic_proc_info): Clear lsda and unwind_info_size for
dynamic-info format.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
7343841308 (unw_accessors_t): Add optional get_proc_name() callback.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
5428fc6295 (unw): Move "psp" member before "bsp_loc".
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
03950aaf01 (lookup_symbol): Print debug output only at very high debug-level.
(get_proc_name): Take "pid" argument.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
68c970298d (libunwind_la_SOURCES_cdep): Mention _UPT_get_proc_name.c.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
4c09dd6429 (intern_regions): Allow for empty region-list.
(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)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
77ccc28ad9 (ia64_state_record): Rename epilogue_start to when_sp_restored.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
5939c41c09 (get_static_proc_name): New function.
(ia64_local_addr_space_init): Initialize get_proc_name callback.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
a3806e7c16 (get_proc_name): Add "pid" argument.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
0d7396a027 (func_add3): Various small fixes.
(func_vframe): New function.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
405a7d8adf (check_SCRIPTS_cdep): New macro
(check_PROGRAMS_cdep): Ditto
(check_SCRIPTS_arch): Ditto.
(check_PROGRAMS_arch): Ditto.
(check_SCRIPTS): Ditto.
(check_PROGRAMS): Ditto.
(TESTS): Define in terms of check_PROGRAMS and check_SCRIPTS.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
8bd0572f34 (build_script): Document the fact that we need IA64_REG_PSP to get compiled first.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
9430d35c9b (_U_dyn_region_info_size): Define it in a more straight-forward manner.
(_U_dyn_op_label_state): Drop "qp" and "when" arguments.
(_U_dyn_op_copy_state): Ditto.
(_U_dyn_op_stop): Define qp to _U_QP_TRUE and when to -1.
(_U_QP_TRUE): New macro.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
9df94711bf (_U_TDEP_QP_TRUE): New macro.
(UNW_IA64_RP): New register-name.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
153f625eed (_UPTi_find_unwind_table): Double-check that punw is inside ptxt segment.
(get_unwind_info): Double-check to verify that returned dynamic-info is indeed
	for the procedure that we requested.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
cb2620b0fd (_UPT_accessors): Initialize get_proc_name callback.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
6863c4aaf5 (IA64_REG_PSP): Move it ino front of IA64_REG_BSP.
(tdep_get_proc_name): Delete.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
hp.com!davidm
ea8a74ba29 Rewrite it.
(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
818d0241f2 Initial revision 2003-02-26 08:33:57 +00:00
hp.com!davidm
b97fa14ca5 Include <asm/ptrace_offsets.h> if host is IA-64.
(trace_mode): New variable.
(main): Support options -i (instruction-by-instruction backtracing), -s
	(syscall-level backtracing), -t (triggered instruction-level backtracing).

(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
d7903bb9a2 Debug remote dynamic unwind info code some more.
Minor build-fixes (e.g., so that libunwind builds with Intel ECC compiler again).

BKrev: 3e5c7bf55VuVnZW_HViwnoR8zoTCag
2003-02-26 08:33:57 +00:00
hp.com!davidm
bd93c64f01 (update_frame_state): Update the IP-cache before doing anything else.
If we reached the en of the frame-chain, then the remaining
	registers may not be valid/accessible anymore.

(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
1fc6f4e6b3 (unwi_dyn_remote_find_proc_info): If anything goes wrong, return -UNW_ENOINFO.
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)
2003-02-26 08:33:57 +00:00