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

1237 commits

Author SHA1 Message Date
hp.com!davidm
b85ca59440 Auto merged
2004/12/02 18:37:47-08:00 hp.com!davidm
(get_list_addr): Even the "it's missing" version of this routine
	must clear *countp to avoid spurious failures.

2004/11/03 11:45:24-08:00 hp.com!davidm
Auto merged

2004/10/21 16:06:28+02:00 homeip.net!davidm
(get_list_addr): Don't fail with -UNW_ENOINFO just because something
	in /proc/maps isn't mappable.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
a04f52279d Add include of "offsets.h".
(unw_step): Improve debug output.  Implement signal-frame fall-back
	code.

2004/12/02 00:40:45-08:00 mostang.com!davidm
(update_frame_state): Remove.
(unw_step): Implement it based on DWARF unwinder.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
a9cad72ed4 (x86_64_local_resume): Fix missing "H" typo.
2004/11/30 22:44:47-08:00 mostang.com!davidm
(my_rt_sigreturn): New function.
(x86_64_local_resume): Use my_rt_sigreturn().  The normal sigreturn()
	does nothing (returns with an error).

2004/11/23 18:01:09-08:00 mostang.com!davidm
(x86_64_local_resume): Provide a minimal implementation (a la x86).
(establish_machine_state): Fix off-by-one error.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
5d8b2e3415 (valid_object): Declare as HIDDEN instead of PROTECTED.
(get_proc_name): Likewise.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
6fc50d4ed6 (unw_search_ia64_unwind_table): Always return unwind_info in the
local case since it's trivial to do so and saves us time if
	later on we need to build a script for that procedure.

2005/02/23 14:40:44-08:00 mostang.com!davidm
Adjust for sigset_t to intrmask_t renaming.

2004/10/25 05:21:51-07:00 hp.com!davidm
(unw_search_ia64_unwind_table): Clarify comment and add a Debug() statement
	for the case where we find a bad unwind-header version.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
f9b8ba0d47 (unw_resume): Reject attempts to resume execution at IP 0.
2004/12/02 18:37:47-08:00 hp.com!davidm
(my_rt_sigreturn): New function.

2004/12/02 00:40:45-08:00 mostang.com!davidm

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
39ec1bd6dc (unw_is_signal_frame): Always return 0 for NULL IP.
2004/12/02 18:37:47-08:00 hp.com!davidm
(unw_is_signal_frame): Implement it.

2004/12/02 00:40:45-08:00 mostang.com!davidm

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
6ed360df7e (unw_is_signal_frame): Add a Debug statement.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
68edb681d8 (uc_addr): Adjust for Debian/sarge header-file changes.
(access_reg): Adjust & enable sanity-check.
(acces_fpreg): Provide minimal implementation.

2004/12/02 00:40:45-08:00 mostang.com!davidm
(uc_addr): Implement it so it starts to be useful.
(_Uhppa_uc_addr): Rename from _Ux86_uc_addr.
(get_static_proc_name): New function.
(hppa_local_addr_space_init): Rename from x86_local_addr_space_init().
	Use dwarf_find_proc_info, hppa_local_resume, and
	get_static_proc_name callbacks.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
555bae8aa3 (tdep_access_reg): When writing RAX/RDX, update eh_args[] and
eh_valid_mask instead.  When reading and the corresponding
	eh_valid_mask bit is set, read from eh_args[] instead.

2004/11/17 02:43:39-08:00 mostang.com!davidm
(tdep_access_reg): Treat UNW_X86_64_RSP exactly like UNW_X86_64_CFA.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
5b0507c432 (tdep_access_reg): Handle UNW_HPPA_IP, UNW_HPPA_CFA, UNW_HPPA_SP,
and UNW_HPPA_EH{0,1,2,3} correctly.
(tdep_access_fpreg): Implement.

2004/12/02 00:40:45-08:00 mostang.com!davidm
(tdep_access_reg): Provide a minimally working implementation.
(tdep_access_fpreg): New (unimplemented) function.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
b38691980f (sos_alloc): Fix soslock vs. sos_lock typo.
2005/02/23 14:40:44-08:00 mostang.com!davidm
Adjust for sigset_t to intrmask_t renaming.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
7e0192f53a (setcontext): Declare.
2004/12/02 00:40:45-08:00 mostang.com!davidm
Delete accessor macros which have been replaced by their DWARF
equivalent.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
16af7ae96e (libunwind_setjmp_la_SOURCES_x86_64): Mention longjmp.S.
(libunwind_la_SOURCES_x86_64_common): Mention x86_64/setcontext.S.

2004/12/15 15:36:36-08:00 hp.com!davidm
(libunwind_ptrace_a_SOURCES): Mention _UPT_elf.c.
(libunwind_la_SOURCES_ia64_common): Move ELF files to here
	from libunwind_la_SOURCES_ia64.
(libunwind_la_SOURCES_hppa_common): Likewise.
(libunwind_la_SOURCES_x86_common): Likewise.
(libunwind_la_SOURCES_x86_64_common): Likewise.

2004/12/06 10:40:49-08:00 mostang.com!davidm
(libunwind_setjmp_la_SOURCES_common): Move files into
	setjmp subdirectory.
(libunwind_setjmp_la_SOURCES_hppa): Don't bother mentioning
	common files again.
(libunwind_setjmp_la_SOURCES_x86): Likewise.
(libunwind_setjmp_la_SOURCES_x86_64): Likewise.

2004/12/04 17:00:04-08:00 hp.com!davidm
(libunwind_la_SOURCES_hppa): Mention hppa/setcontext.S.

2004/12/02 00:40:45-08:00 mostang.com!davidm
(COMMON_SO_LDFLAGS): Drop -XCClinker -nostdlib and
	$(LDFLAGS_STATIC_LIBCXA) and move them...
(libunwind_la_LDFLAGS): ...to here instead.  We only want the
	local unwind-library built that way.
(libunwind_la_SOURCES_hppa_common): New macro.
(libunwind_la_SOURCES_hppa): Update.
(libunwind_hppa_la_SOURCES_hppa): New macro.

2004/11/23 16:59:56-08:00 mostang.com!davidm
(dwarf_SOURCES_common): Remove dwarf/dwarf-eh.h.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
23405d02ec (get_script_cache): Fix typo in Debug() statement (missing argument).
(put_script_cache): Fix typo in argument name.

2005/04/07 12:19:38-07:00 hp.com!davidm
(ia64_get_cache_proc_info): Move it to near the end of the file.
(script_init): Also call ia64_fetch_proc_info() if the script was
	found in the cache but it's empty (count == 0 and NULL
	unwind_info pointer).  Also invoke build_script() if
	script has no instructions yet (count==0).  Add assertion
	to ensure that build_script() never returns an empty
	script.
(ia64_cache_proc_info): New function to cache the proc_info only.

2005/02/23 14:40:44-08:00 mostang.com!davidm
Adjust for sigset_t to intrmask_t renaming.

2005/02/23 13:10:05-08:00 mostang.com!davidm
Adjust for "ia64_rse" to "rse" prefix change.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
e8b25005e7 (common_init): Initialize UNW_HPPA_IP based on save-location for
UNW_HPPA_RP.

2004/12/02 00:40:45-08:00 mostang.com!davidm
(common_init): Provide a minimally working implementation.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
081c41d8a6 (common_init): Don't forget to initialize sigcontext_format and
sigcontext_addr.

2004/11/17 02:43:39-08:00 mostang.com!davidm
(common_init): Don't forget to clear c->dwarf members args_size,
	ret_addr_column, pi_valid, and pi_is_dynamic.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
828d48662d (UNW_HPPA_IP): New entry.
2004/12/02 00:40:45-08:00 mostang.com!davidm
(_UPT_reg_offset): Add minimal set of definitions for HPPA.

2004/11/23 16:59:56-08:00 mostang.com!davidm
Fix offset for UNW_X86_64_RBP.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
75fb20d67d (SPILL): Adjust for Debian/sarge changes in the ucontext_t structure.
2004/12/02 00:40:45-08:00 mostang.com!davidm

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
5b20c6e082 (Logical change 1.290) 2005-05-03 09:13:17 +00:00
homeip.net!davidm
bb03dca33e Add Debug statement for return-value.
2004/10/19 23:15:02-07:00 mostang.com!davidm
(update_frame_state): Take additional argument "prev_cfa".
	When we detect a NULL-frame, debug-print the IP and the CFA
	so we know where things went wrong.
(dwarf_step): Get "prev_cfa" before we call dwarf_find_save_locs(),
	since update_frame_state() doesn't actually update
	the CFA.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
homeip.net!davidm
670399d357 (pop): Returning the right element does help...
(pick): Likewise.
(dwarf_eval_expr): Fix "while" conditional so we see all operators.
	Fix DW_OP_litN typo: "opcode = DW_OP_lit0" to
	"opcode - DW_OP_lit0".
	Add lots of Debug() statements so we can see what's going
	on.  Debug level 15 will show just entry/return values.
	Debug level 16 shows all operators.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
8efd6d24da (desc_alias): Fix off-by-one bug.
(Logical change 1.287)
2005-04-20 21:01:22 +00:00
hp.com!davidm
ea7155ebfd (get_list_addr): Clear ui->ei.image/ui->ei.size after unmapping the
image.

(Logical change 1.286)
2005-03-31 21:18:27 +00:00
hp.com!davidm
15df8b804c (_ReadSLEB): Fix typo: shift needs to be increment before checking
for loop-exit.  Otherwise, sign-extension may clobber the
	most recently read 7 bits.

(Logical change 1.284)
2005-02-19 06:15:20 +00:00
hp.com!davidm
272caabbfa Regenerate.
(Logical change 1.283)
2004-11-16 22:03:04 +00:00
hp.com!davidm
d15f52662a (local_find_proc_info): When compiling for libunwind-ia64, declare
_U_dyn_info_list_addr as weak and if it remained undefined,
	return -UNW_ENOINFO.

(Logical change 1.282)
2004-11-16 18:47:39 +00:00
hp.com!davidm
4e731a5572 (get_dyn_info_list_addr): When compiling into libunwind-ia64, declare
_U_dyn_info_list_addr as weak and fail if the symbol remained
	undefined.
(get_static_proc_name): Likewise for _Uelf64_get_proc_name().

(Logical change 1.282)
2004-11-16 18:47:39 +00:00
hp.com!davidm
0f9f815cf1 Regenerate.
(Logical change 1.280)
2004-11-03 21:50:24 +00:00
hp.com!davidm
27a9067229 (libunwind_la_LIBADD): Append $(LIBCRTS).
(Logical change 1.280)
2004-11-03 21:50:24 +00:00
hp.com!davidm
346b85ec54 (get_list_addr): Don't fail with -UNW_ENOINFO just because something
in /proc/maps isn't mappable.

(Logical change 1.279)
2004-11-03 19:44:44 +00:00
hp.com!davidm
e8518b85c5 Ignore NULL stack-frames---they can't possibly be the correct target of
a longjmp() because the caller of setjmp() must have a non-NULL frame.

(Logical change 1.273)
2004-10-13 14:14:09 +00:00
hp.com!davidm
22ac4c078f (__sigsetjmp): Start updating jmp_buf only after sigprocmask() returned
successfully.  This avoids a failure in ia64-test-setjmp which
	was due to the fact that sigprocmask() caused a segfault (due to
	overflowing the stack) and at that point we had a partially updated
	jmp_buf.

(Logical change 1.272)
2004-10-13 14:08:02 +00:00
homeip.net!davidm
b62e5e37b3 Regenerate.
(Logical change 1.271)
2004-10-05 16:28:06 +00:00
mostang.com!davidm
caa528e1e8 Add dummy implementation of _UI_longjmp_cont().
(Logical change 1.268)
2004-09-09 16:26:15 +00:00
mostang.com!davidm
81f4953a1f Fix typo: REMOTE_ONLY -> UNW_REMOTE_ONLY.
(Logical change 1.266)
2004-09-09 13:06:01 +00:00
mostang.com!davidm
cb4fda9750 (setjmp): Fix cast: unw_word_t should be "void *".
(Logical change 1.266)
2004-09-09 13:06:01 +00:00
mostang.com!davidm
21dd6ad5cb (x86_local_resume): Tweak debug-level code to match ia64-version.
(Logical change 1.265)
2004-09-09 10:51:29 +00:00
mostang.com!davidm
f226ffec68 (common_init): Don't forget to initialize cursors sigcontext_format
and sigcontext_addr members.

(Logical change 1.263)
2004-09-09 10:47:55 +00:00
mostang.com!davidm
112fcdd172 Regenerate.
(Logical change 1.261)
2004-09-08 17:36:28 +00:00
com[davidm]!masbock
e09e6ce1ad x86-64: fix unw_get_proc_info()
(Logical change 1.260)
2004-08-31 13:59:37 +00:00
hp.com!davidm
7ccee42004 bsig
(Logical change 1.259)
2004-08-31 13:59:10 +00:00
hp.com!davidm
f7671b5cf7 Regenerate.
(Logical change 1.259)
2004-08-31 13:59:10 +00:00
hp.com!davidm
352642247a Move JB_* macros to jmpbuf.h.
(_longjmp): Simplify by taking advantage of new _UI_longjmp_cont.

(Logical change 1.259)
2004-08-31 13:59:10 +00:00
hp.com!davidm
197c9d517b Initial revision 2004-08-31 13:59:10 +00:00
hp.com!davidm
c961dc646e (sigsetjmp): Use macros from jmpbuf.h instead of hardcoded values.
(Logical change 1.259)
2004-08-31 13:59:10 +00:00
hp.com!davidm
e1e7db0e9b (siglongjmp): Use macros from jmpbuf.h instead of hardcoded values.
For ia64, if the longjmp is crossing a signal-frame, install
	the new signal mask by updating the sc_mask member in the
	oldest signal-frame.

(Logical change 1.259)
2004-08-31 13:59:10 +00:00
hp.com!davidm
14abd25ff5 (setjmp): Use macros from jmpbuf.h instead of hardcoded values.
(Logical change 1.259)
2004-08-31 13:59:10 +00:00
hp.com!davidm
9645369110 (local_resume): Adjust for expanded interface of rbs_cover_and_flush() and
ia64_install_cursor().

(Logical change 1.259)
2004-08-31 13:59:10 +00:00
hp.com!davidm
f4c8d534bc (libunwind_setjmp_la_SOURCES_ia64): Mention ia64/longjmp.S.
(Logical change 1.259)
2004-08-31 13:59:10 +00:00