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

2605 commits

Author SHA1 Message Date
mostang.com!davidm
fc116ff852 Replace malloc()/free() with private memory allocator to avoid deadlock issues
and problems under low-memory conditions.  This is accomplished via the mempool
interface (see mempool.h).

BKrev: 3d363ceagprsu6_TUZv4rJkQui-iSg
2002-07-18 03:58:34 +00:00
mostang.com!davidm
3fbd1a1d68 Minor formatting fixes.
(struct ia64_reg_state): Moved here from parser.c.
(struct ia64_global_unwind_state): Add unwind_table_pool, state_record_pool,
	and labeled_state_pool.

(Logical change 1.19)
2002-07-18 03:58:34 +00:00
mostang.com!davidm
b4d191544a Keep list of things to test.
(Logical change 1.19)
2002-07-18 03:58:34 +00:00
mostang.com!davidm
dd3c681c6a (Logical change 1.19) 2002-07-18 03:58:34 +00:00
mostang.com!davidm
5b6078357d Initial revision 2002-07-18 03:58:34 +00:00
mostang.com!davidm
7e8c5066e8 Include <unistd.h>.
(sighandler): Correct return type to "void".  Delete unused variables buffer[] and n.
(main): Cast sighandler to (sighandler_t).

(Logical change 1.19)
2002-07-18 03:58:34 +00:00
mostang.com!davidm
21647f4830 Include <stdlib.h>.
(sighandler): Parenthesize IP check.

(Logical change 1.19)
2002-07-18 03:58:34 +00:00
mostang.com!davidm
0938b03201 Added doc/Dwarf3-draft7-011029-dif-draft6.pdf doc/dwarf-2.0.0.pdf src/mempool.c~ src/mempool.h~ to the ignore list
(Logical change 1.19)
2002-07-18 03:58:34 +00:00
mostang.com!davidm
b04ff63c65 (update_frame_state): Print debug output when catching sigcontext location.
(Logical change 1.19)
2002-07-18 03:58:34 +00:00
mostang.com!davidm
a2284ed1f3 (unw_get_save_loc): Remove unused variables sc_addr and ret.
(Logical change 1.19)
2002-07-18 03:58:34 +00:00
mostang.com!davidm
76a2d6a18b (struct ia64_labeled_state): Move to unwind_i.h.
(alloc_reg_state): Use mempool interface.
(free_reg_state): Ditto.
(alloc_labeled_state): Ditto.
(free_labeled_state): Ditto.
(alloc_spill_area): Fix spill-area allocation (fix by Richard Henderson).
(desc_frgr_mem): Fix case for f16-f31 (fix by Richard Henderson).
(get_proc_info): Use mempool_alloc() instead of malloc().

(Logical change 1.19)
2002-07-18 03:58:34 +00:00
mostang.com!davidm
641d801905 (libunwind_la_SOURCES_common): Mention mempool.h and mempool.c.
(Logical change 1.19)
2002-07-18 03:58:34 +00:00
mostang.com!davidm
ce831876f2 (ia64_init): Initialize mempools.
(Logical change 1.19)
2002-07-18 03:58:34 +00:00
mostang.com!davidm
d603a5b4bb (ia64_access_reg): r15-r18 should refer to sigcontext IFF the cursor is currently
pointing at the signal trampoline frame.  Otherwise, raising an exception from within
a signal handler will fail to pass the exception arguments to the exception handler.

(Logical change 1.19)
2002-07-18 03:58:34 +00:00
mostang.com!davidm
e3cb03d7b6 (get_kernel_table): Use sos_alloc()/sos_free() instead of malloc()/free().
(Logical change 1.19)
2002-07-18 03:58:34 +00:00
mostang.com!davidm
9ac7c9cda2 (common_int): Explicitly declare return type as "int".
(Logical change 1.19)
2002-07-18 03:58:34 +00:00
mostang.com!davidm
5a9743cd77 (b): Add a printf() after raise_exception() to avoid triggering the sibcall
optimization for this call.

(Logical change 1.19)
2002-07-18 03:58:34 +00:00
mostang.com!davidm
cfe616f0f6 Undefine HAVE_GETUNWIND by default.
(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
1c0d73e27d Replace uses of IA64_FLAG_SIGTRAMP flag by checks against sigcontext_loc.
(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
c0a60b6f82 (Logical change 1.18) 2002-04-25 06:47:29 +00:00
mostang.com!davidm
f7381ce536 Initial revision 2002-04-25 06:47:29 +00:00
mostang.com!davidm
af6fe37119 Include <stdlib.h>.
(ia64_init): Initialize debug level from UNW_DEBUG_LEVEL environment variable.

(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
e324c4c115 Include <libunwind-ia64.h> instead of <libunwind.h> (this program is slightly
ia64-specific).
(sighandler): Rename rp to ip.
(doit): Declare argument as volatile pointer.

(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
934d3b52b0 Fix up things so that unwinding across signal handlers starts to work.
BKrev: 3cc7a681Zo3mtY13CWzcMbI5J8kSKw
2002-04-25 06:47:29 +00:00
mostang.com!davidm
b847840474 Check for getunwind() system call.
(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
83ca335b08 Added src/Makefile.in~ to the ignore list
(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
039f99fef0 (update_frame_state): Fix handling of sigtramp frames. Also work around bugs
in kernel unwind info.

(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
118746f9e5 (unw_is_signal_frame): Need to (re-)create state record before we can check
IA64_FLAG_SIGTRAMP.

(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
83da1e6ac1 (unw_get_save_loc): Replace check for IA64_FLAG_SIGTRAMP with check against
c->sigcontext_loc.

(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
563bccbf75 (struct ia64_cursor): Add sigcontext_loc.
(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
72e98c4610 (sighandler): New function.
(main): Install SIGTERM handler and send SIGTERM to self to test backtracing through
	signal handler.

(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
4d37950b2c (rotate_gr): If the register is outside the current stacked frame, return -1.
(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
053cda26f2 (noinst_PROGRAMS_arch): New macro to get "sig" built when the target is ia64.
(noinst_PROGRAMS): Mention $(noinst_PROGRAMS_arch).
(LDADD): Link against architecture-specific name, because symlinks don't exist yet
	when this directory gets built.

(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
2294fb8aa2 (ia64_create_state_record) [IA_UNW_DEBUG]: Display state record for default
frame state as well.

(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
c845317889 (getunwind): Define only if HAVE_GETUNWIND is not defined.
(_Uia64_glibc_acquire_unwind_info): Correct typo: dl_iterate_phdr() is successful
	only if it returns a positive value.

(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
c56126ea7b (common_init): Initialize c->sigcontext_loc to zero.
(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
a6d51ee1a6 (SOVERSION): New macro.
(install-exec-hook): Use this hook to create symlinks from architecture-specific
	library name to default name (libunwind.a/libunwind.so).
(libunwind_la_SOURCES_ia64): Mention unw_is_signal_frame.c and Lunw_is_signal_frame.c.
(libunwind_la_SOURCES): Drop.
(libunwind_ia64_la_LDFLAGS): New macro.
(libunwind_ia32_la_LDFLAGS): New macro.
(libunwind_la_LDFLAGS): Drop.

(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
c528adf7c7 Fix typo which caused register names to be off by 7.
(Logical change 1.17)
2002-04-19 05:35:46 +00:00
mostang.com!davidm
21c000c080 Fix typo in unw_regname(). Fix libunwind installation.
BKrev: 3cbfacb2IfwMFqgjDA8Kwewh48wPCg
2002-04-19 05:35:46 +00:00
mostang.com!davidm
00abcc6dc3 Always install library as libunwind-$(ARCH).a. Need to find a way to create
an alias, though.

(Logical change 1.17)
2002-04-19 05:35:46 +00:00
mostang.com!davidm
52b352dcc9 Sync up ia64 implementation with new naming scheme. Make unw_regname() and official
API routine.

BKrev: 3cb66a70N-NqhfYmHK4cszu1aDrZgQ
2002-04-12 05:02:40 +00:00
mostang.com!davidm
5a6e6f89d8 SP is now read via UNW_IA64_GR + 12.
Change prefix from _U_ia64 to _Uia64.
Rename _U_ia64_regname() to unw_regname().

(Logical change 1.16)
2002-04-12 05:02:40 +00:00
mostang.com!davidm
e5a2726686 Rename shared.c to unw_regname.c.
(Logical change 1.16)
2002-04-12 05:02:40 +00:00
mostang.com!davidm
50b1a123c0 (regname): Update with current register names.
(unw_regname): First register number now starts with zero.

2002/04/11 21:43:00-07:00 mostang.com!davidm
Rename: src/ia64/shared.c -> src/ia64/unw_regname.c

(Logical change 1.16)
2002-04-12 05:02:40 +00:00
mostang.com!davidm
27cb8c2844 Initial revision 2002-04-12 05:02:40 +00:00
mostang.com!davidm
82248d8a12 Change prefix from _U_ia64 to _Uia64.
(Logical change 1.16)
2002-04-12 05:02:40 +00:00
mostang.com!davidm
74775e31d9 (unw_tdep_getcontext): Make it an expression returning zero (no error).
(Logical change 1.16)
2002-04-12 05:02:40 +00:00
mostang.com!davidm
58142c0a21 (unw_regname): New routine to obtain canonical name of a register.
(Logical change 1.16)
2002-04-12 05:02:40 +00:00
mostang.com!davidm
9d5e392426 (regname): Update with current register names.
(unw_regname): First register number now starts with zero.

}(Logical change 1.16)
2002-04-12 05:02:40 +00:00
mostang.com!davidm
bd228fb16a (_U_ia64_regname): Delete declaration.
Change prefix from _U_ia64 to _Uia64.
Drop extraneous ia64_ prefix from ia64-specific routines.

(Logical change 1.16)
2002-04-12 05:02:40 +00:00