Arun Sharma
4312719cbc
[dwarf] Need to guard against multiple threads accessing the rs cache.
...
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2006-07-26 21:44:38 -06:00
Arun Sharma
c5dc3c150a
[dwarf] Allow return address column to differ from function to function.
...
Signed-off-by: Andrey Veskov <Andrey.Veskov@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2006-07-26 21:29:50 -06:00
Arun Sharma
60b7af702a
(dwarf_find_save_locs): Add a comment.
...
Now that dwarf_find_save_locs() not just finds the save-locations but
also updates the cursor-state, document this fact (the function really
is misnamed now).
2006-07-26 21:25:37 -06:00
Arun Sharma
3dfde7a3f0
(dwarf_find_save_locs): put_unwind_info() is not needed in the cached case.
2006-07-26 21:23:30 -06:00
Arun Sharma
00db7f752a
Implement a ip -> dwarf_reg_state cache.
...
Signed-off-by: Arun Sharma <arun.sharma@google.com>
2006-07-26 21:18:49 -06:00
David Mosberger-Tang
1a0af36731
Fix forgotten copyright year update.
2006-07-26 15:48:48 -06:00
David Mosberger-Tang
6a89d40236
Fix missed "tdep.h" -> "libunwind_i.h" conversions.
2006-07-26 15:44:23 -06:00
David Mosberger-Tang
8c94e12429
(_UPT_find_proc_info): Fix potential crash due to uninitialized pointer.
...
Be sure to clear pi->unwind_info when looking up the kernel table and
not needing the unwind-info. Otherwise, _UPT_put_unwind_info() may
erroneously call free() on the pointer, even though that space wasn't
malloc'd, leading to crashes..
2006-07-26 15:43:23 -06:00
David Mosberger-Tang
fd2fa63a6c
Fix missed merge on setjmp_i.h and siglongjmp.c.
2006-07-26 15:21:52 -06:00
David Mosberger-Tang
69d85f7c14
Restore mi/Ldyn-remote.c.
2006-07-26 15:10:48 -06:00
David Mosberger-Tang
236e370dc5
Remove three Emacs backup-files which accidentially got checked into git.
2006-07-26 14:54:50 -06:00
David Mosberger-Tang
6daeeac60a
Revert "Initial revision"
...
This reverts e6446885f4
commit.
2006-07-26 14:53:49 -06:00
David Mosberger-Tang
a369768c27
Revert "Initial revision"
...
This reverts 06d223e924
commit.
2006-07-26 14:47:44 -06:00
David Mosberger-Tang
ca69fee8bb
Merge ../libunwind-v0.98
...
Conflicts:
include/dwarf_i.h
include/x86/jmpbuf.h
include/x86_64/jmpbuf.h
src/hppa/init.h
src/mi/Gget_fpreg.c
src/mi/Gset_fpreg.c
src/mi/strerror.c
2006-07-25 21:41:43 -06:00
David Mosberger-Tang
af2503e223
Fix bug in libunwind-ptrace which can cause reading of random data.
...
(maps_next): After reading less than a full buffer of data, copy
remaining data to the top of the buffer so as to maintain the
invariant that all data between mi->buf and mi->buf_end is valid.
This avoids maps_next() parsing uninitialized data.
2006-07-25 21:35:30 -06:00
David Mosberger-Tang
f176ad6fc6
Bring git v0.98.5 tree in sync with released v0.98.5.
...
Sadly, the conversion from Bitkeeper -> CVS -> git wasn't perfect. Or
so it seems.
2006-07-25 21:32:28 -06:00
hp.com!davidm
36a0275014
Allow write-access to UNW_IA64_BSP and UNW_REG_SP.
...
(Logical change 1.303)
2005-05-20 15:32:18 +00:00
hp.com!davidm
cf2a44ca49
Use update_nat() instead of equivalent open code.
...
(Logical change 1.301)
2005-05-20 14:58:46 +00:00
hp.com!davidm
f5de64f9f7
If r1 has been saved in an ABI-specific frame
...
(such as an interrupt frame), access the saved
value. Otherwise, pick it up from the unwind-info
for the matching IP.
(Logical change 1.300)
2005-05-20 14:50:54 +00:00
hp.com!davidm
399f120c96
Drop unused readonly variable.
...
(Logical change 1.299)
2005-05-20 14:13:01 +00:00
hp.com!davidm
3fa950e818
Remove early-out test when IP is zero.
...
(Logical change 1.298)
2005-05-20 13:35:32 +00:00
hp.com!davidm
19e3bf3ea6
(rbs_switch): Use rbs_get_base() to determine the size of the register
...
backing store.
(Logical change 1.297)
2005-05-20 13:13:07 +00:00
hp.com!davidm
9724ac492c
(common_init): Use rbs_get_base() to determine size of register-backing store.
...
(Logical change 1.297)
2005-05-20 13:13:07 +00:00
hp.com!davidm
080f8423d9
Read sp and bsp via ia64_get() and then pass them to common_init().
...
(Logical change 1.296)
2005-05-20 12:47:59 +00:00
hp.com!davidm
50bbc1fe3d
(set_as_arg): New function.
...
(get_initial_stack_pointers): Likewise.
(unw_init_local): Use new functions to make code more readable and add
Linux kernel support.
(Logical change 1.296)
2005-05-20 12:47:59 +00:00
hp.com!davidm
84bd124a24
(inlined_uc_addr): Remove UNW_IA64_AR_BSP. We no longer need this ugly hack
...
since the initial BSP is now passed directly into common_init().
(Logical change 1.296)
2005-05-20 12:47:59 +00:00
hp.com!davidm
4992f1c936
(common_init): Take initial sp and bsp values as arguments instead of
...
reading them via ia64_get().
(Logical change 1.296)
2005-05-20 12:47:59 +00:00
hp.com!davidm
97b483dcaa
Drop include of "mempool.h", which causes problems in the kernel, due to
...
a conflicting <linux/mempool.h>.
(SOS_MEMORY_SIZE): Move to libunwind_i.h.
(Logical change 1.295)
2005-05-20 11:28:16 +00:00
hp.com!davidm
1b63be3f89
(parse_dynamic): Make it a dummy-function of _U_dyn_op isn't defined, i.e.,
...
if libunwind-dynamic.h isn't in use (as is the case for the kernel at
the moment).
(Logical change 1.295)
2005-05-20 11:28:16 +00:00
hp.com!davidm
7894f0edc0
(ia64_strloc): Move to Grbs.c.
...
(Logical change 1.295)
2005-05-20 11:28:16 +00:00
hp.com!davidm
96407911ee
(ia64_strloc): Move here from Ginit.c so it can be shared with the kernel.
...
(Logical change 1.295)
2005-05-20 11:28:16 +00:00
hp.com!davidm
2e35dd035c
Regenerate.
...
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
3e8a50255c
Include from tdep-$(arch) directory after the normal incliude directory.
...
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
32385d36fd
Include "tdep-ia64/rse.h" instead of "ia64/rse.h".
...
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
1228462adc
Include "rse.h" instead of "ia64/rse.h".
...
Include "libunwind_i.h" instead of "internal.h" and "tdep.h".
Define rbs_cover_and_flush() only for the !UNW_REMOTE_ONLY case.
(ia64_is_big_endian): New macro.
(ia64_get_abi): Likewise.
(ia64_set_abi): Likewise.
(ia64_get_abi_marker): Likewise.
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
8e6f3c8485
Include "rse.h" instead of "ia64/rse.h".
...
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
83820a78d1
Include "libunwind_i.h" instead of "tdep.h".
...
Include "tdep-ia64/rse.h" instead of "ia64/rse.h".
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
67f90c24be
Include "libunwind_i.h" instead of "tdep.h".
...
Include "elfxx.c" instead of "elf64.c".
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
d9e100753f
Include "libunwind_i.h" instead of "tdep.h".
...
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
07b01ad205
Include "libunwind_i.h" instead of "tdep.h" and "internal.h".
...
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
670dd57e82
Include "libunwind_i.h" instead of "libunwind.h" and a whole bunch of standard
...
header files.
Use lock_release instead of mutex_unlock/sigprocmask calls.
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
5724bee8c2
Include "libunwind_i.h" instead of "internal.h".
...
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
19df6612fa
Include "libunwind_i.h" instead of "internal.h" and "tdep.h".
...
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
b7adf160ee
Include "dwarf_i.h" instead of "dwarf.h".
...
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
c027d98386
Don't include headers already included via unwind_i.h.
...
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
df3d6af467
Don't include <string.h>.
...
Include "libunwind_i.h" instead of "tdep.h".
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
dda1a6d625
Don't include <string.h>.
...
Include "libunwind_i.h" instead of "internal.h" and "tdep.h".
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
379fb069d2
Don't include <string.h>, <unistd.h>, <sys/types.h>.
...
Include "libunwind_i.h" instead of "tdep.h".
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
9e8ba174e6
Don't include <string.h> and <stdlib.h>.
...
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
9fac7579ee
Don't include <string.h> and "tdep.h".
...
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
71acf1d00e
Don't include <stdlib.h>.
...
Include "libunwind_i.h" instead of "tdep.h".
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
03ba50ccaa
Don't include <stdlib.h> and <string.h>.
...
Include "libunwind_i.h" instead of "tdep.h".
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
fa2871946a
Don't include <assert.h> and <stddef.h>.
...
Use ia64_get_abi_marker() instead of directly referencing c->last_abi_marker.
(linux_scratch_loc): When accessing an fp-reg, default to IA64_FPREG_LOC.
Handle more registers for the Linux interrupt-frame case.
(tdep_access_reg): Use ia64_get_abi() instead of c->as->abi.
Use ia64_is_big_endian() instead of c->as->big_endian.
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
8bb167d4c1
Don't include <alloca.h> and <stdlib.h>.
...
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
6675be4926
(linux_interrupt): Enable this code for the kernel, too.
...
Use ia64_get_abi_marker() instead of c->abi_marker.
Use ia64_set_abi() instead of storing directly to c->as->abi.
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
ee6eeb4f7d
(get_script_cache): Use HAVE_ATOMIC_H instead of __linux && __KERNEL__.
...
(Logical change 1.294)
2005-05-20 09:48:08 +00:00
hp.com!davidm
8a1e0a2bcd
Auto merged
...
2005/05/17 14:14:23-07:00 hp.com!davidm
(tdep_access_reg): Access AR.EC via ec_loc instead of cfm_loc.
(Logical change 1.293)
2005-05-17 21:28:19 +00:00
hp.com!davidm
26fdb45d76
Auto merged
...
2005/05/17 14:14:23-07:00 hp.com!davidm
(linux_sigtramp): Add "prev_cfm_loc" argument. Use it to set c->ec_loc.
(linux_interrupt): Likewise.
(hpux_sigtramp): Likewise.
(update_frame_state): Copy old cfm_loc to prev_cfm_loc and pass it to
ABI-specific handlers. Initialize c->ec_loc to c->cfm_loc by default.
(Logical change 1.293)
2005-05-17 21:28:19 +00:00
hp.com!davidm
a6ba57d556
Auto merged
...
2005/05/17 06:10:13-07:00 hp.com!davidm
(tdep_access_reg): Don't rotate contents of UNW_IA64_PR.
(Logical change 1.292)
2005-05-17 13:24:49 +00:00
hp.com!davidm
8462f1f87d
(pr_ltop): Remove.
...
(pr_ptol): Remove.
(Logical change 1.292)
2005-05-17 13:24:49 +00:00
mostang.com!davidm
23884c98cb
Rename: src/sigsetjmp.c -> src/setjmp/sigsetjmp.c
...
}(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
4d7f2a5be7
Rename: src/sigsetjmp.c -> src/setjmp/sigsetjmp.c
...
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
5ac5853589
Rename: src/setjmp.c -> src/setjmp/setjmp.c
...
}(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
8e06df0e52
Rename: src/setjmp.c -> src/setjmp/setjmp.c
...
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
9bc79a618b
Rename: src/dwarf/dwarf-eh.h -> include/dwarf-eh.h
...
}(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
06d223e924
Initial revision
2005-05-03 09:13:17 +00:00
mostang.com!davidm
4e833d43fc
Include "setjmp_i.h".
...
Abstract ia64-specific code into bsp_match() routine.
Support any platform with at least 2 EH argument registers.
}(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
4f16756123
Include "setjmp_i.h".
...
Abstract ia64-specific code into bsp_match() routine.
Support any platform with at least 2 EH argument registers.
2004/12/06 01:33:16-08:00 mostang.com!davidm
Rename: src/longjmp.c -> src/setjmp/longjmp.c
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
203c0a5363
Include "setjmp_i.h".
...
Abstract ia64-specific code into bsp_match() and
resume_restores_sigmask() routines.
}(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
acf90b1f82
Include "setjmp_i.h".
...
Abstract ia64-specific code into bsp_match() and
resume_restores_sigmask() routines.
2004/12/06 01:33:01-08:00 mostang.com!davidm
Rename: src/siglongjmp.c -> src/setjmp/siglongjmp.c
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
239ea4e7ea
Implement for real. Note: this version is currently broken.
...
We don't pass sigmask the way this routine expects because it
can't work.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
7a5549f2d8
Drop "inline" since it's now part of ALWAYS_INLINE.
...
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
411331eecb
Delete: src/hppa/Lget_reg.c
...
}(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
ca02ad1708
Delete: src/hppa/Lget_proc_name.c
...
}(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
181bddfba0
Delete: src/hppa/Gget_reg.c
...
}(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
f45210852c
Delete: src/hppa/Gget_proc_name.c
...
}(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
10a269d6d0
Also enable DWARF code for UNW_TARGET_HPPA.
...
2004/11/23 16:59:56-08:00 mostang.com!davidm
(_UPTi_find_unwind_table): Implement first draft for x86/-64.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
b267dfc8c9
Adjust for sigset_t to intrmask_t renaming.
...
}(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
dc89a17613
Adjust for sigset_t to intrmask_t renaming.
...
2004/12/02 00:40:45-08:00 mostang.com!davidm
Add copyright notice.
Provide canonical DWARF-based implementation.
2004/11/30 23:38:42-08:00 mostang.com!davidm
Rename: src/hppa/global.c -> src/hppa/Gglobal.c
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
1f5ac0f5bd
Adjust for sigset_t to intrmask_t renaming.
...
2004/11/17 02:43:39-08:00 mostang.com!davidm
(struct callback_data): New structure.
(linear_search): New function.
(callback): Convert to getting auxiliary info passed via a pointer to
a callback_data structure, rather than an unw_dyn_info_t
structure.
Keep track of the maximum load address in max_load_addr.
If an object doesn't have a binary search-table, fall back
on a linear search.
(dwarf_find_proc_info): Fill in callback-data structure before calling
dl_iterate_phdr(). Upon returning, check whether
cb_data.single_fde is set and, if so, return directly, without
searching the DWARF unwind-table.
(dwarf_search_unwind_table): Adjust for renaming of
dwarf_parse_fde() to dwarf_extract_proc_info_from_fde().
If IP doesn't fall into the IP-range of the FDE-entry found
by the search, return UNW_ENOINFO.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
7fbb8a9593
Adjust for sigset_t to intrmask_t renaming.
...
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
9f3360a546
Adjust for "ia64_rse" to "rse" prefix change.
...
2005/02/23 12:55:45-08:00 mostang.com!davidm
(inlined_uc_addr): Adjust for ALWAYS_INLINE change.
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
mostang.com!davidm
7f8b54ae5c
Adjust for "ia64_rse" to "rse" prefix change.
...
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
mostang.com!davidm
3f73836b87
Adjust for "ia64_rse" to "rse" prefix change.
...
2004/12/15 15:40:09-08:00 hp.com!davidm
Include "tdep.h" on ia64 (we need the cursor).
(bsp_match): Fix it so it compiles again.
(resume_restore_sigmask): Likewise.
2004/12/06 10:40:49-08:00 mostang.com!davidm
(Logical change 1.290)
2005-05-03 09:13:17 +00:00
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
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
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
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
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
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
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
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
04fde4a63b
(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
e6446885f4
Initial revision
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
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
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
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
hp.com!davidm
0aa29032f6
(ia64_install_cursor): Take additional arguments "bspstore", "dirty_size",
...
"dirty_partition", and "dirty_nat". If size of dirty partition
is non-zero, load it up via "loadrs" before resuming execution.
(Logical change 1.259)
2004-08-31 13:59:10 +00:00
hp.com!davidm
3386d284fa
(ia64_install_cursor): Adjust declaration for expanded interface.
...
(rbs_cover_and_flush): Likewise.
(Logical change 1.259)
2004-08-31 13:59:10 +00:00
hp.com!davidm
cd69bfec0c
(get_rnat): Simplify to return only the RNaT value itself.
...
(rbs_cover_and_flush): Take additional arguments "dirty_partition",
"dirty_rnat", and "bspstore". When it is necessary to copy
backing-store words, copy them to "dirty_partition" instead of
the target rbs, which may be full already.
(Logical change 1.259)
2004-08-31 13:59:10 +00:00
hp.com!davidm
3dd5ca6713
(_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
d7418c600f
(__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
e29611e7d3
(Logical change 1.259)
2004-08-31 13:59:10 +00:00
hp.com!davidm
18b501de4c
Store rp and bsp in the same location as libc's setjmp().
...
(Logical change 1.258)
2004-08-26 11:07:05 +00:00
hp.com!davidm
ff2dcb9897
Pick up rp and bsp from locations compatible with libc's setjmp().
...
(Logical change 1.258)
2004-08-26 11:07:05 +00:00
hp.com!davidm
23366e72e5
Rename: src/unwind-internal.h -> src/unwind/unwind-internal.h
...
}(Logical change 1.257)
2004-08-26 10:02:46 +00:00
hp.com!davidm
17c2244f91
Rename: src/unwind-internal.h -> src/unwind/unwind-internal.h
...
(Logical change 1.257)
2004-08-26 10:02:46 +00:00
hp.com!davidm
e965c295cf
Regenerate.
...
(Logical change 1.257)
2004-08-26 10:02:46 +00:00
hp.com!davidm
e75a89cd6c
Initial revision
2004-08-26 10:02:46 +00:00
hp.com!davidm
746fbe08e7
Increase debug-level of state-record printing to 2.
...
(Logical change 1.257)
2004-08-26 10:02:46 +00:00
hp.com!davidm
f576cce748
Drop debug-level for function-trace to 1.
...
(Logical change 1.257)
2004-08-26 10:02:46 +00:00
hp.com!davidm
f20eb7ea72
Add missing newlines in Debug statements.
...
(Logical change 1.257)
2004-08-26 10:02:46 +00:00
hp.com!davidm
22d6f35cda
(EXTRA_DIST): unwind-internal.h is now in unwind subdirectory.
...
(Logical change 1.257)
2004-08-26 10:02:46 +00:00
com[davidm]!marky
271f706944
dwarf: fix local & remote table lookup
...
(Logical change 1.256)
2004-08-24 08:19:00 +00:00
homeip.net!davidm
0dfc1c87ed
Regenerate.
...
(Logical change 1.254)
2004-08-20 11:26:49 +00:00
homeip.net!davidm
f028c7db74
(lib_LTLIBRARIES_cdep_setjmp): New macro. Move libunwind-setjmp.la
...
from lib_LTLIBRARIES_cdep to here.
(libunwind_la_SOURCES_x86_64_common): Mention x86_64/ucontext_i.h so
it gets included in the tar-ball, too.
(lib_LTLIBRARIES): List $(lib_LTLIBRARIES_cdep_setjmp) after the
other libraries.
(Logical change 1.254)
2004-08-20 11:26:49 +00:00
homeip.net!davidm
642607dbaa
Cast register indices of type unw_word_t to (unsigned int) before
...
printing them. Avoids compiler-warning for 64-bit targets.
(apply_reg_state): Handle the special case where the stack-pointer
plays the role of the CFA and the stack-pointer hasn't
been saved. This is based on a patch by Max Asbock.
(Logical change 1.253)
2004-08-20 11:23:15 +00:00
homeip.net!davidm
6058013abe
(unw_step): If dwarf_step() fails, fall back on using the frame-chain.
...
In theory, this may not be needed. In practice, I find that
Red Hat Enterprise Linux AS release 3, the _start() routine has
no unwind-info, but we need to be able to unwind into this
routine to find the end-of-frame-chain marker (RBP == 0).
(Logical change 1.253)
2004-08-20 11:23:15 +00:00
homeip.net!davidm
be2bed2712
(tdep_access_reg): If c->dwarf.cfa_is_sp is set, treat UNW_X86_64_RSP
...
as a read-only alias of CFA.
(Logical change 1.253)
2004-08-20 11:23:15 +00:00
homeip.net!davidm
9ac7a860d1
(parse_cie): Clarify the comment about the default FDE-encoding a bit.
...
(Logical change 1.253)
2004-08-20 11:23:15 +00:00
homeip.net!davidm
99784e02d3
(_UPTi_find_unwind_table): Provide dummy x86-64 implementation so
...
"make check" can be run.
(Logical change 1.253)
2004-08-20 11:23:15 +00:00
homeip.net!davidm
d8c89b8a01
(_UPT_reg_offset): Provide x86-64 register offsts (untested).
...
(Logical change 1.253)
2004-08-20 11:23:15 +00:00
homeip.net!davidm
51ef1210e8
Include ucontext_i.h.
...
(unw_step): Fixup signal-frame-skipping code so it can be cross-compiled.
(Logical change 1.251)
2004-08-19 14:00:14 +00:00
homeip.net!davidm
43425a9beb
(Logical change 1.251)
2004-08-19 14:00:14 +00:00
homeip.net!davidm
c0603a8ebc
Initial revision
2004-08-19 14:00:14 +00:00
ibm.com!masbock
e407f9a720
Regenerate.
...
(Logical change 1.249)
2004-08-19 13:39:10 +00:00
ibm.com!masbock
aa9a917cb4
Add x86_64 support.
...
(Logical change 1.249)
2004-08-19 13:39:10 +00:00
ibm.com!masbock
a766efd844
(Logical change 1.249)
2004-08-19 13:39:10 +00:00
ibm.com!masbock
58e37267be
Initial revision
2004-08-19 13:39:10 +00:00
homeip.net!davidm
077322d414
Drop DWARF-parsing debug prints from level 16 to 15.
...
(parse_cie): Pick correct default for FDE-encoding, not just DW_EH_PE_omit.
(Logical change 1.248)
2004-08-19 12:26:11 +00:00
homeip.net!davidm
aae368ace2
Drop DWARF-parsing debug prints from level 16 to 15.
...
(Logical change 1.248)
2004-08-19 12:26:11 +00:00
homeip.net!davidm
e9045e3cca
Add include of dwarf_i.h now that we need dwarf_reads32().
...
Drop DWARF-parsing debug prints from level 16 to 15.
(struct table_entry): Change member types from unw_word_t to int32_t. The members
need to be of a signed type and forcing them to 32 bits makes the type
work for both 32-bit and 64-bit executables (up to 4GB of text-size).
(callback): Only allow search tables which have 32-bit members.
Fix initialization of di->u.rti.table_len to express table-length as a count
of unw_word_t, as it's defined to be (we get lucky here: even with 32-bit
members, each table-entry contains two members so we're guaranteed that the
table has a size that is an integer-multiple of unw_word_t even on 64-bit
platforms).
(lookup): Change type of "rel_ip" from unw_word_t to int32_t. Simplify the
code a bit.
(remote_read): Delete.
(remote_lookup): Use dwarf_reads32() instead of remote_read() to read out table
members. Simplify code a bit.
(Logical change 1.248)
2004-08-19 12:26:11 +00:00
homeip.net!davidm
5742642c24
(unw_step): Drop extra 'x' from Debug statement.
...
(Logical change 1.248)
2004-08-19 12:26:11 +00:00
homeip.net!davidm
1ba865a631
Regenerate.
...
(Logical change 1.246)
2004-08-19 10:45:23 +00:00
homeip.net!davidm
66100609bb
Add alias required by ia64 unwind specification.
...
(Logical change 1.246)
2004-08-19 10:45:23 +00:00
homeip.net!davidm
ccdd644cf2
(SOVERSION): Change from 3:0:2 to 0:0:0 for ia64 unwind-specification compliance.
...
(Logical change 1.246)
2004-08-19 10:45:23 +00:00
bea.com!thallgre
779632ee82
Regenerate.
...
(Logical change 1.245)
2004-08-18 15:16:46 +00:00
bea.com!thallgre
0f818455ce
Initial revision
2004-08-18 15:16:46 +00:00
bea.com!thallgre
cb503ba4e5
(libunwind_la_SOURCES_common): Mention mi/strerror.c.
...
(Logical change 1.245)
2004-08-18 15:16:46 +00:00
bea.com!thallgre
48cc8c5712
(Logical change 1.245)
2004-08-18 15:16:46 +00:00
hp.com!davidm
54b9ba95f9
Drop include of <libunwind.h> and #ifdef checks.
...
(Logical change 1.244)
2004-08-18 10:57:18 +00:00
hp.com!davidm
2f6b56efda
(unw_init_remote): Redirect to unw_init_local() if we're initializing for
...
the local address-space. This makes test-init-remote.c work.
(Logical change 1.243)
2004-08-18 10:50:12 +00:00
hp.com!davidm
f9c59cd814
Rename mk_Gcursor_i_ia64_SOURCES to ia64_mk_Gcursor_i_SOURCES.
...
Likewise for mk_Lcursor_i_ia64_SOURCES.
(Logical change 1.242)
2004-08-18 10:43:50 +00:00
hp.com!davidm
fb83398cec
Regenerate.
...
(Logical change 1.242)
2004-08-18 10:43:50 +00:00
homeip.net!davidm
8f4a9df420
Rename: src/x86/siglongjmp-x86.S -> src/x86/siglongjmp.S
...
}(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
b8f4069f9f
Rename: src/x86/siglongjmp-x86.S -> src/x86/siglongjmp.S
...
(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
c298861c67
Rename: src/x86/regname-x86.c -> src/x86/regname.c
...
}(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
85b14bb7f6
Rename: src/x86/regname-x86.c -> src/x86/regname.c
...
(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
0219cd0e73
Rename: src/x86/is_fpreg-x86.c -> src/x86/is_fpreg.c
...
}(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
188032186b
Rename: src/x86/is_fpreg-x86.c -> src/x86/is_fpreg.c
...
(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
2e94aaed46
Rename: src/x86/Gstep-x86.c -> src/x86/Gstep.c
...
}(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
3dab98edbc
Rename: src/x86/Gstep-x86.c -> src/x86/Gstep.c
...
(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
fe971b1989
Rename: src/x86/Gresume-x86.c -> src/x86/Gresume.c
...
}(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
bcd0aff352
Rename: src/x86/Gresume-x86.c -> src/x86/Gresume.c
...
(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
e7671cd144
Rename: src/x86/Gregs-x86.c -> src/x86/Gregs.c
...
}(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
6607424863
Rename: src/x86/Gregs-x86.c -> src/x86/Gregs.c
...
(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
8652314904
Rename: src/x86/Gis_signal_frame-x86.c -> src/x86/Gis_signal_frame.c
...
}(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
e1eb2d4656
Rename: src/x86/Gis_signal_frame-x86.c -> src/x86/Gis_signal_frame.c
...
(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
475062bfda
Rename: src/x86/Ginit_remote-x86.c -> src/x86/Ginit_remote.c
...
}(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
9f2cd2318d
Rename: src/x86/Ginit_remote-x86.c -> src/x86/Ginit_remote.c
...
(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
66fe735a7d
Rename: src/x86/Ginit_local-x86.c -> src/x86/Ginit_local.c
...
}(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
db8a0c4373
Rename: src/x86/Ginit_local-x86.c -> src/x86/Ginit_local.c
...
(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
5bb574d178
Rename: src/x86/Ginit-x86.c -> src/x86/Ginit.c
...
}(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
588192d301
Rename: src/x86/Ginit-x86.c -> src/x86/Ginit.c
...
(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
a2bd90a8ed
Rename: src/x86/Gglobal-x86.c -> src/x86/Gglobal.c
...
}(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
ab6b58eae7
Rename: src/x86/Gglobal-x86.c -> src/x86/Gglobal.c
...
(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
9f6b814a25
Rename: src/x86/Gget_save_loc-x86.c -> src/x86/Gget_save_loc.c
...
}(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
cf0945223e
Rename: src/x86/Gget_save_loc-x86.c -> src/x86/Gget_save_loc.c
...
(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
387d1d739b
Rename: src/x86/Gget_proc_info-x86.c -> src/x86/Gget_proc_info.c
...
}(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
a4279b3808
Rename: src/x86/Gget_proc_info-x86.c -> src/x86/Gget_proc_info.c
...
(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
499307bf0f
Rename: src/x86/Gcreate_addr_space-x86.c -> src/x86/Gcreate_addr_space.c
...
}(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
1682f9745e
Rename: src/x86/Gcreate_addr_space-x86.c -> src/x86/Gcreate_addr_space.c
...
(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
75edef8597
Rename: src/ia64/sigsetjmp-ia64.S.S -> src/ia64/sigsetjmp.S
...
}(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
c38b083433
Rename: src/ia64/sigsetjmp-ia64.S.S -> src/ia64/sigsetjmp.S
...
(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
9c5fe5391f
Rename: src/ia64/siglongjmp-ia64.S.S -> src/ia64/siglongjmp.S
...
}(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
b54bec50af
Rename: src/ia64/siglongjmp-ia64.S.S -> src/ia64/siglongjmp.S
...
(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
963baf6f1e
Rename: src/ia64/setjmp-ia64.S.S -> src/ia64/setjmp.S
...
}(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
1f694b02c7
Rename: src/ia64/setjmp-ia64.S.S -> src/ia64/setjmp.S
...
(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
f62002fe2b
Rename: src/ia64/regname-ia64.c -> src/ia64/regname.c
...
}(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
5710ea37cc
Rename: src/ia64/regname-ia64.c -> src/ia64/regname.c
...
(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
34d88fc6b5
Rename: src/ia64/mk_Gcursor_i-ia64.c -> src/ia64/mk_Gcursor_i.c
...
}(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
8bc587f1a4
Rename: src/ia64/mk_Gcursor_i-ia64.c -> src/ia64/mk_Gcursor_i.c
...
(Logical change 1.241)
2004-08-17 15:34:28 +00:00
homeip.net!davidm
82b4b77ce2
Rename: src/ia64/getcontext-ia64.S.S -> src/ia64/getcontext.S
...
}(Logical change 1.241)
2004-08-17 15:34:28 +00:00