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

2202 commits

Author SHA1 Message Date
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
hp.com!davidm
e02ef902df Fix merge conflict.
2004/11/30 22:53:53-08:00 mostang.com!davidm
Regenerate.

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:56:59-08:00 hp.com!davidm
Merge.

2004/10/19 23:06:23-07:00 mostang.com!davidm
Regenerate.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
hp.com!davidm
7b17187a39 Define ucontext_t, sigcontext_t, and strct rt_sigframe offsets and
pray they never change.

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
7c4be6f9bc Auto merged
2005/04/07 12:19:38-07:00 hp.com!davidm
(ia64_make_proc_info): After looking up proc-info, cache it if
	caching is enabled.

2005/02/20 21:42:55-08:00 mostang.com!davidm
Adjust for NELEMS to ARRAY_SIZE renaming.

(Logical change 1.290)
2005-05-03 09:13:17 +00:00
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
83b02fa05b Add missing include of <string.h> to get strerror() declared.
(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