1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-06-26 11:21:44 +02:00
Commit graph

2417 commits

Author SHA1 Message Date
mostang.com!davidm 3e00b79170 Adjust for "ia64_rse" to "rse" prefix change.
2004/12/06 10:40:49-08:00 mostang.com!davidm
(tdep_access_reg): Fix typo in code to read EH argument registers.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm 4849af2d09 Adjust for "ia64_rse" to "rse" prefix change.
2004/11/23 16:59:56-08:00 mostang.com!davidm
(_UPT_access_reg): If the register is out of range, set errno
	to EINVAL.
	When encountering an error while accessing a register,
	print the corresponding error string.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm 87081cebab Adjust for "ia64_rse" to "rse" prefix change.
2004/10/25 07:52:30-07:00 hp.com!davidm
(unw_step): Add Debug statement to print return-value.

2004/10/25 05:21:51-07:00 hp.com!davidm
(unw_step): Print IP along with cursor address.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm bf832fc29e Adjust for "ia64_rse" to "rse" prefix change.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm 3f16641760 (x86_local_resume): Delete unused code.
(establish_machine_state): Fix off-by-one error.
	Fix Debug-statement formatting & debug-level.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm 27f7d7d720 (unw_tdep_proc_info_t): Drop dwarf_info member.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm 17bf4d0af8 (unw_step): If dwarf_step() fails and the frame doesn't look like
a signal-trampoline, assume that it's a PLT stub.
	If non-DWARF stepping fails to change IP and CFA, declare
	it a bad frame.

2004/11/23 16:59:56-08:00 mostang.com!davidm
(unw_step): Also print IP as part of the function-trace.

2004/11/23 16:17:37-08:00 mostang.com!davidm
(unw_step): When dwarf_step() fails on a signal-frame, fill in all
	the known locations because dwarf_step() fails on older
	kernels which don't export the kernel vDSO even though every-
	thing else may be providing proper DWARF unwind-info.

2004/10/25 17:43:57+02:00 homeip.net!davidm
Add Debug statement for return-value.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm fa0828ac7d (unw_step): Also print IP as part of the function-trace.
2004/11/23 12:49:54-08:00 mostang.com!davidm
(unw_step): If dwarf_step() fails on a signal-frame, fill in the
	save-locations for everything that gets saved in the
	sigcontext structure.

2004/10/25 17:43:57+02:00 homeip.net!davidm
Add Debug statement for return-value.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm 93599dc278 (unw_init_local): Implement it based on the DWARF unwinder.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm 0f27732d35 (unw_get_proc_info): Implement it based on dwarf_make_proc_info().
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm 7ac9665fd3 (unw_get_proc_info): Don't freak out if dwarf_make_proc_info() fails.
Unfortunately, it must fail for current versions of libc
	since they fail to provide unwind-info for _start() and
	_dl_start().

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm e7fba77e9d (unw_dyn_info_format_t): Remove UNW_INFO_FORMAT_DWARF_FDE.
(UNW_DYN_DFI_FLAG_FDE_PE_MASK): Remove.
(UNW_DYN_DFI_FLAG_AUGMENTATION_HAS_SIZE): Remove.
(unw_dyn_dwarf_fde_info_t): Remove.
(unw_dyn_info_t): Remove dfi member.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm 66ecac1b5f (unw_addr_space): If we have atomic_ops.h, declare cache_generation
to be of type AO_t.

2004/10/25 17:43:57+02:00 homeip.net!davidm
(DWARF_IS_REG_LOC): Define as 0 for the local-only case.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm b1b84400b9 (tdep_uc_addr): Define as HIDDEN.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm db1517609c (tdep_access_reg): Buffer writes to EH argument registers (EAX
and EDX) in dwarf.eh_args[].


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

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm adeb9b5984 (struct dwarf_cursor): Add members eh_args and eh_valid_mask so
we can track writes to exception-handling argument regs.

2004/11/17 02:43:39-08:00 mostang.com!davidm
(dwarf_cie_info_pool): New declaration.
(dwarf_cie_info_t): New type.
(dwarf_state_record): Drop cfa_is_sp member.
(dwarf_extract_proc_info_from_fde): Rename from dwarf_parse_fde.

2004/10/25 17:38:51+02:00 homeip.net!davidm
Fix typo: DW_CFA_CFA_expression -> DW_CFA_expression.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm caa61dfec1 (remote_install_cursor): Fix off-by-one error.
2004/10/25 05:21:51-07:00 hp.com!davidm
(unw_resume): Print IP along with cursor-address.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm 6ef1640a5f (main): Fix a typo in the argument-checking code.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm 46b7b8196c (is_cie_id): New function.
(parse_cie): Adjust for moving DWARF2 extra-info from
	unw_dyn_dwarf_fde_info_t to dwarf_cie_info.
	Add support for `S' augmentation ("special frames").
(dwarf_extract_proc_info_from_fde): Rename frm dwarf_parse_fde().
	Convert to returning data via dwarf_cie_info rather than
	unw_dyn-dwarf_fde_info_t.  Allow 0-length FDE since those
	can be used to indicate the end of the FDE-table.  Return
	the end of the FDE via *ADDRP.  Ignore CIEs (we may pick them
	up during linear searches through the FDE-table).
	Fill in the unwind-info only if really needed.  When needed,
	return the info via a dynamically allocated dwarf_cie_info
	structure.  Add support for `S' augmentation (ABI/tag pairs).

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm d9445c1f46 (handler): get_bsp() returns an integer, not a pointer.
(main): Do some silly FP computations.  On x86-64, this ensures
	that the signal handler invocations will always be called
	with the FPU-state saved as well.  Without this, the first
	signal was invoked without FPU-state, the second with, causing
	a spurious failure.

2004/11/17 02:06:25-08:00 mostang.com!davidm
(get_bsp): New function.
(handler): Clean up & check for error returns.
(main): Also fail if we didn't get SIGUSR2.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm 3ff39e9fc9 (flush_cache): Provide dummy implementation for HPPA.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm c14371409a (fetch_proc_info): Decrement IP before searching for dynamic/static
unwind-info, since DWARF expects us to do so (unlikey for ia64,
	where we are guaranteed that the (return) IP points to the
	correct unwind-info).

2004/11/17 02:43:39-08:00 mostang.com!davidm
(run_cfi_program): Switch over to using dwarf_cie_info instead of
	unw_dyn_dwarf_fde_info_t.
(fetch_proc_info): Clear c->pi before filling it in.
(put_unwind_info): If we got non-dynamic unwind-info, free it
	via a call to mempool_free().
(parse_fde): Switch over to using dwarf_cie_info instead of
	unw_dyn_dwarf_fde_info_t.
(apply_reg_state): Drop accessees to c->cfa_is_sp.

2004/10/25 17:38:51+02:00 homeip.net!davidm
Fix typo: DW_CFA_CFA_expression -> DW_CFA_expression.

2004/10/21 11:15:44+02:00 homeip.net!davidm
Auto merged

2004/10/21 11:15:12+02:00 homeip.net!davidm
(run_cfi_program): Add missing newline in Debug statement.
(apply_reg_state): It was wrong to do a dwarf_get() on the CFA-location
	returned by eval_location_expr().  Instead, we must make sure
	we're dealing with a memory-location and, if so, just extract
	the memory address as the CFA.
	Also, update c->cfa only _after_ the other frame-state has
	been updated.  This seems to be necessary for correct parsing
	of the sigtramp unwind info.  Not sure yet this is 100% correct,
	but it gets us through Gtest-resume-sig.

2004/10/19 23:24:56-07:00 mostang.com!davidm
(run_cfi_program): Fix typos in Debug statements.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm 4502aa0ff2 (dwarf_read_encoded_pointer): Implement simply by calling
dwarf_read_encoded_pointer_inlined().

2004/11/17 02:43:39-08:00 mostang.com!davidm
(dwarf_read_encoded_pointer): Declare proc-info-pointer argument
	as "const".

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm 3239e7db60 (dwarf_cie_info_pool): New variable.
(dwarf_init): Initialize dwarf_cie_info_pool.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm bbe87ea403 (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
mostang.com!davidm 7fcb8006a9 (common_init): Adjust for ALWAYS_INLINE change.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm 229d2c4a62 (atomic_read): New macro to read the value of a variable
that can be updated atomically (for Linux kernel compat.).
(unwi_full_mask): Rename from unwi_full_sigmask and change type to
	intrmask_t.
(intrmask_t): New type.
(define_lock): New macro.
(lock_init): Likewise.
(lock_acquire): Likewise.
(lock_release): Likewise.
(GET_MEMORY): Likewise.

2005/02/20 21:42:54-08:00 mostang.com!davidm
(ALWAYS_INLINE): Include "inline" keyword for compatibility with
	Linux kernel.
(ARRAY_SIZE): Rename from NELEMS for improved Linux-kernel
	compatibility.

2004/10/25 05:21:51-07:00 hp.com!davidm
(Debug): Make a debug level of N imply that we're printing when
	UNW_DEBUG_LEVEL=N since that's more intuitive.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm 8a66c9c635 (access_reg): Delete left-over Debug statement.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm 9c025efac2 (_UI_siglongjmp_cont): Provide dummy implementation.
(_UI_longjmp_cont): Likewise.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm 6dcb17c553 (UNW_X86_ECX): ecx apparently is a scratch-register (at least
under Linux).

2004/11/17 02:43:39-08:00 mostang.com!davidm
(unw_tdep_proc_info_t): Remove dwarf_info member.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm e3180d47a0 (UC_MCONTEXT_{R8-R15,RDI,RSI,RBX,RDX,RAX,RCX}: New macros.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm 1ee6b0ac74 (STACK_SIZE): SIGSTKSZ is also ridiculously small on x86-64 (at least
for SuSE LES 9) so use 128KB instead.
(do_backtrace): Also print backtrace obtained via backtrace().
(foo): Remove backtrace() call---now done in do_backtrace().

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm 04fde4a63b (Logical change 1.290) 2005-05-03 09:13:17 +00:00
mostang.com!davidm a0a5f89645 (EXTRA_DIST): Mention include/hppa/jmpbuf.h and
include/hppa/dwarf-config.h.

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

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm def37e7cb0 Update expected results for x86-64.
2004/12/04 17:00:04-08:00 hp.com!davidm
Gtest-exc is now working on PA Linux.

2004/12/02 18:37:47-08:00 hp.com!davidm
Update introduction.
Add PARISC Linux "expected results" section.

2004/11/30 22:44:47-08:00 mostang.com!davidm
Updated expected results for x86 and x86-64.

2004/11/17 02:43:39-08:00 mostang.com!davidm
Update x86 Linux test-suite status.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm 02c9034eb2 Tweak such that GCC v4 doesn't optimize it to the point where the
test fails (it managed to unravel the recursion in f1).

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm 2f63c6c54e Regenerate.
2004/12/15 15:38:34-08:00 hp.com!davidm
Regenerate.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm 981ff25f70 Regenerate.
2004/12/15 15:36:36-08:00 hp.com!davidm
Regenerate.

2004/12/06 10:40:49-08:00 mostang.com!davidm
Regenerate.

2004/12/04 17:03:36-08:00 mostang.com!davidm
Regenerate.

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

2004/11/23 16:59:56-08:00 mostang.com!davidm
Regenerate.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm 67acfdaa6c Regenerate.
2004/12/02 00:40:45-08:00 mostang.com!davidm
Regenerate.

2004/11/23 16:59:56-08:00 mostang.com!davidm
Regenerate.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm e65e1fcd8b Regenerate.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm b09eae1203 On PA-Linux, allow for _Uhppa_setcontext symbol.
2004/12/02 18:37:47-08:00 hp.com!davidm
Allow _U${plat}_get_elf_image symbol on HPPA, too.

2004/12/02 00:40:45-08:00 mostang.com!davidm
Add support for hppa.

2004/11/30 22:44:47-08:00 mostang.com!davidm
Add rules for x86-64.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm 9fea3da388 Merge with v0.98.5.
2005/05/03 02:08:34-07:00 hp.com!davidm
(tests/Gtest-concurrent): Fail gracefully if we're unable to create the
	desired number of threads.  Note: unless strict accounting is
	enabled (/proc/sys/vm/overcommit_memory == 2), the program may fail
	with a SIGSEGV if it runs out of (stack) memory.

2005/04/07 19:22:33-07:00 hp.com!davidm
Make libunwind more friendly to GCC v4.

2005/04/07 19:20:22-07:00 hp.com!davidm
ia64: Fix two typos in Gscript.c which showed when compiling
	without atomic-ops support.

2005/04/07 12:19:38-07:00 hp.com!davidm
ia64: cache proc-info even for procedures which are never stepped over

This was an oversight that caused exception-handling to run a bit
slower than possible.  Specifically, the last procedure in an
exception-handling chain never got cached because it has only it's
proc-info inspected (to find the personality routine); the frame
was never stepped over (i.e., no script was ever built) and the info
never got into the cache.  This patch fixes the problem.

2005/03/31 14:45:30-08:00 hp.com!davidm
(tests/Gtest-exc): Make it buildable with the Intel compiler.

2005/03/31 13:29:44-08:00 hp.com!davidm
Merge wailua.hpl.hp.com:/home/davidm/src/unwind/libunwind-v0.98
into wailua.hpl.hp.com:/home/davidm/src/unwind/libunwind

2005/03/07 10:13:14-08:00 hp.com!davidm
Merge bk://unwind@bkbits.net/libunwind
into wailua.hpl.hp.com:/home/davidm/src/unwind/libunwind

2005/03/07 10:08:26-08:00 hp.com!davidm
x86-64: Make it work better.

2005/03/07 10:02:17-08:00 hp.com!davidm
Fix a couple of missed NELEMS -> ARRAY_SIZE renames.

2005/03/07 10:00:19-08:00 hp.com!davidm
Fix a warning that shows with GCC v3.4.

2005/02/25 15:47:17-08:00 mostang.com!davidm
Fix forgotten ALWAYS_INLINE adjustment.

2005/02/24 23:39:35-08:00 hp.com!davidm
Fix missing NELEMS -> ARRAY_SIZE rename.

2005/02/24 23:32:42-08:00 mostang.com!davidm
Merge bk://unwind@bkbits.net/libunwind
into kangaroo.mostang.com:/home/davidm/src/unwind/libunwind

2005/02/24 23:28:02-08:00 hp.com!davidm
Fix merge-conflict.

2005/02/23 14:40:45-08:00 mostang.com!davidm
Abstract locking primitives some more to enable use of libunwind
inside the Linux kernel.

2005/02/23 13:10:06-08:00 mostang.com!davidm
ia64: Change "ia64_rse" prefix to "rse" in order to stay clear
	of Linux kernel conflict.

2005/02/23 12:55:46-08:00 mostang.com!davidm
Fix a few missed ALWAYS_INLINE adjustments.

2005/02/20 21:42:55-08:00 mostang.com!davidm
Make it easier to use libunwind inside Linux-kernel: rename
NELEMS to ARRAY_SIZE and make ALWAYS_INLINE include the "inline"
keyword.

2005/02/18 22:20:58-08:00 hp.com!davidm
Merge wailua.hpl.hp.com:/home/davidm/src/unwind/libunwind-v0.98
into wailua.hpl.hp.com:/home/davidm/src/unwind/libunwind

2004/12/15 15:40:09-08:00 hp.com!davidm
ia64: Make ia64 build again.

2004/12/15 15:38:34-08:00 hp.com!davidm
Fix library dependencies so it's possible to do a successful "make
check" even when the GCC-based libunwind.so is installed in /lib.

2004/12/15 15:36:37-08:00 hp.com!davidm
Put separate copies of the ELF-reading code into each library that
needs it.  Anything else if fragile or inefficient.

2004/12/08 17:27:12-08:00 hp.com!davidm
Merge bk://unwind@bkbits.net/libunwind
into wailua.hpl.hp.com:/home/davidm/src/unwind/libunwind

2004/12/06 10:40:50-08:00 mostang.com!davidm
x86: Make longjmp() work.  Unfortunately, siglongjmp() doesn't
	work yet since there aren't enough exception-handling
	argument registers available to make that work easily.
	Will need to come up with something clever to make that
	work.  Perhaps we can always use sigreturn() to atomically
	do a setcontext() with signal-mask restoration.

2004/12/04 17:03:37-08:00 mostang.com!davidm
Regenerate src/Makefile.in.

2004/12/04 17:00:06-08:00 hp.com!davidm
hppa: Implement a useful setcontext() (but call it _Uhppa_setcontext())
	and use it to make Gtest-exc work.

2004/12/02 23:56:58-08:00 hp.com!davidm
Fix merge conflict.

2004/12/02 23:51:02-08:00 hp.com!davidm
test-ptrace: Improve label-printing and allow nesting up to 64 deep.

2004/12/02 18:37:48-08:00 hp.com!davidm
hppa: Fix it enough so it actually starts to be useful.

2004/12/02 00:40:46-08:00 mostang.com!davidm
hppa: Initial support for (32-bit) PA-RISC Linux.  It should be good
	enough to get tests/Gtest-bt working.

2004/11/30 22:53:53-08:00 mostang.com!davidm
Regenerate "configure".

2004/11/30 22:44:48-08:00 mostang.com!davidm
x86-64: Fix it up some more.  Make check has no unexplained failures
	anymore (see README for details).

2004/11/30 21:47:49-08:00 mostang.com!davidm
x86: Fix comment-typo.

2004/11/23 16:59:58-08:00 mostang.com!davidm
x86/-64: First cut at supporting libunwind-ptrace for x86 and
	x86-64.

2004/11/23 12:49:55-08:00 mostang.com!davidm
x86: Fill in save-locations by hand if DWARF-info is unavailable for
     a signal-frame.  This should help when running on old Linux
     kernels which do not provide the vDSO.

2004/11/23 18:01:10-08:00 mostang.com!davidm
x86-64: Provide a minimal unw_resume() implementation and fix
	an off-by-one error that was present in x86 and ia64
	forever (at least on ia64 the error was harmless, but it's
	still a bug...).

2004/11/23 16:17:37-08:00 mostang.com!davidm
x86-64: Fix unwinding across signal-frames on platforms that fail to
	provide unwind-info for the signal trampoline.  This makes
	Gtest-bt work on SuSE LES 9.

2004/11/22 10:22:37-08:00 mostang.com!davidm
x86-64: Make it build again.

2004/11/17 02:43:40-08:00 mostang.com!davidm
Fairly major overhaul of DWARF2 unwinder.  The major change is that
the auxiliary DWARF-info is maintained in a separate structure
(dwarf_cie_info, I may rename this to dwarf_aux_info) rather than
in an unw_dyn_info_t.  The latter seemed promising at the beginning,
but it's become clear that it was a bad idea so it's time to remove
it.

2004/11/17 02:06:25-08:00 mostang.com!davidm
tests/Gtest-resume-sig: Clean it up some more and make it more robust.

2004/11/16 15:14:56-08:00 hp.com!davidm
Merge bk://unwind@bkbits.net/libunwind
into wailua.hpl.hp.com:/home/davidm/src/unwind/libunwind

2004/11/16 14:09:02-08:00 hp.com!davidm
Manual merge with v0.98.3.

2004/11/05 00:14:10-08:00 hp.com!davidm
Fix merge conflict with v0.98.2.

2004/11/03 13:57:00-08:00 hp.com!davidm
Manual merge with v0.98.2.

2004/11/03 11:45:24-08:00 hp.com!davidm
Merge wailua.hpl.hp.com:/home/davidm/src/unwind/libunwind-v0.98
into wailua.hpl.hp.com:/home/davidm/src/unwind/libunwind

2004/10/25 17:43:58+02:00 homeip.net!davidm
x86: Add Debug statement for return-value.
     Define DWARF_IS_REG_LOC for the local-only case.

2004/10/25 17:38:51+02:00 homeip.net!davidm
Fix typo: DW_CFA_CFA_expression -> DW_CFA_expression.

2004/10/25 07:52:30-07:00 hp.com!davidm
ia64: Add Debug() statement to print unw_step() return value at debug level 2.

2004/10/25 05:21:53-07:00 hp.com!davidm
Improve Debug() support for ia64 a bit and make Debug (N, ...) get printed when
UNW_DEBUG_LEVEL==N.

2004/10/21 16:06:28+02:00 homeip.net!davidm
Fix _UPT_get_dyn_info_list_addr() so it doesn't fail just because
a /proc/PID/maps file contains a mapping of something other than
a regular file.  Reported and fix proposed by Todd L. Miller.

2004/10/21 11:15:44+02:00 homeip.net!davidm
Merge bk://unwind@bkbits.net/libunwind
into mosberger.homeip.net:/home/davidm/src/unwind/libunwind

2004/10/21 11:15:12+02:00 homeip.net!davidm
dwarf: Fix some rather serious bugs in the DWARF expression evaluator.

2004/10/19 23:24:57-07:00 mostang.com!davidm
Fix some minor typos.

2004/10/19 23:15:02-07:00 mostang.com!davidm
dwarf: Fix Gstep() so it doesn't fail just because the IP didn't
	change.  This makes tests/{G,L}test-exc work on x86.

2004/10/19 23:11:08-07:00 mostang.com!davidm
tests/Gtest-exc.c: Fix test-case so it works as was intended.

2004/10/19 23:06:24-07:00 mostang.com!davidm
Use -fexceptions when compiling libunwind with GCC.
Switch version to 0.99-alpha.

BKrev: 427740adF-X3amNLHAfKa4B063DYxQ
2005-05-03 09:13:17 +00:00
hp.com!davidm e6446885f4 Initial revision 2005-05-03 09:13:17 +00:00
hp.com!davidm 30dec34c3a Include "config.h" and <ia64intrin.h> if we have them.
2004/10/19 23:11:07-07:00 mostang.com!davidm
(got_here): New global variable.
(raise_exception): Fix off-by-2 error so that we _really_ step
	to the outermost a() frame.
(get_bsp): New function.
(__builtin_ia64_bsp): Remove.
(a): Print stack and bsp addresses as we recurse.
     When resuming execution in outermost a() frame (n==depth),
     clear "result" and set "got_here" so we know we landed in
     the right place.
(main): Don't accept arguments that cause "depth" to be < 1.
	When returning from a(), also check "got_here".  If
	the check failed, print result, got_here, and nerrors
	for diagnostic purposes.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm 516f759229 Fix two typos which kept things from building on x86-64 and other
platforms.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm 05246dbab7 Fix missing NELEMS -> ARRAY_SIZE rename.
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 0dec41725c Fix missing NELEMS -> ARRAY_SIZE adjustment.
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 df5acdd24a Fix missing NELEMS -> ARRAY_SIZE adjustment.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm 09c959ad30 Fix merge conflict.
2005/02/24 23:28:02-08:00 hp.com!davidm
Fix merge-conflict.

2004/11/16 14:09:01-08:00 hp.com!davidm
Manual merge.

2004/11/05 00:14:10-08:00 hp.com!davidm
Fix merge conflict.

2004/11/03 13:57:00-08:00 hp.com!davidm
Merge.

2004/10/19 23:06:23-07:00 mostang.com!davidm
(pkg_minor): Switch to 99.
(pkg_extra): Switch to -alpha.
(CFLAGS): Add -fexceptions if we're compiling with GCC.  It's
	needed to get the proper unwind tables on platforms
	with DWARF unwind info (well, at least on x86 it's needed).

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm 95c9a4a21e Fix merge conflict.
2004/12/02 23:51:00-08:00 hp.com!davidm
(do_backtrace): Also print the symbol offset.  Increase nesting-level
	tolerance to 64 so we can test programs with deeply nested
	call-chains without triggering spurious warnings.


2004/11/30 22:44:47-08:00 mostang.com!davidm
(do_backtrace): Print IP if unw_get_proc_info() fails.

2004/11/23 18:01:09-08:00 mostang.com!davidm
(do_backtrace): Fix "start_ip might be used uninitialized" warning.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00