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

660 commits

Author SHA1 Message Date
mostang.com!davidm
4d40a1cfc8 (rotate_gr): Fix off-by-1 bug and simplify the function.
(Logical change 1.93)
2003-08-20 18:02:30 +00:00
mostang.com!davidm
0b65016a37 (ia64_find_save_locs): Fix typo: check for -UNW_ESTOPUNWIND.
(Logical change 1.93)
2003-08-20 18:02:30 +00:00
hp.com!davidm
a157d632f7 (desc_is_active): Need to cast 1 to (unw_word_t) before shifting it by
a value that is potentially > 31.  Casting it to (unsigned long)
	is not enough on 32-bit platforms.
(create_state_record_for): Cast 0xf to (unw_word_t) instead of
	(unsigned long) to avoid losing bits on 32-bit platforms.

(Logical change 1.92)
2003-07-08 22:32:44 +00:00
hp.com!davidm
09aa4183f6 (unw_get_save_loc): Also check for ABI_MARKER_OLD_LINUX_SIGTRAMP.
Check against UNW_IA64_AR_SSD instead of UNW_IA64_AR_26.

(Logical change 1.91)
2003-07-08 22:29:34 +00:00
hp.com!davidm
666c61846c (rbs_cover_and_flush): Cast unw_word_t values to (unsigned long) before
printing them.

(Logical change 1.91)
2003-07-08 22:29:34 +00:00
hp.com!davidm
f3b8566331 (linux_interrupt): Add "marker" argument. Support both old and new
Linux kernel "struct pt_regs" layout.
(update_frame_state): Handle ABI_MARKER_OLD_LINUX_SIGTRAMP and
	ABI_MARKRE_OLD_LINUX_INTERRUPT.  Cast values of type unw_word_t
	to (unsigned long) before printing them.

(Logical change 1.91)
2003-07-08 22:29:34 +00:00
hp.com!davidm
3053ee9de1 (ia64_scratch_loc): Split up into linux_scratch_loc() and hpux_scratch_loc().
(linux_scratch_loc): Add support for new pt_regs layout.
(access_nat): Check last_abi_marker instead of sigcontext_addr and
	address-space ABI.

(Logical change 1.91)
2003-07-08 22:29:34 +00:00
hp.com!davidm
6536dbab47 (LINUX_SC_AR_SSD_OFF): Rename from LINUX_SC_AR_26_OFF.
(LINUX_OLD_PT_*): Rename from LINUX_PT_*.
(LINUX_PT_*): Add definitions for new pt_regs layout.

(Logical change 1.91)
2003-07-08 22:29:34 +00:00
mostang.com!davidm
0d37a4a620 (ia64_init): Initialize reg_state_pool instead of state_record_pool.
(Logical change 1.90)
2003-06-03 21:36:03 +00:00
mostang.com!davidm
a9236a84ea (alloc_reg_state): Use reg_state_pool instead of state_record_pool.
(free_reg_state): Ditto.

(Logical change 1.90)
2003-06-03 21:36:03 +00:00
hp.com!davidm
0cc1fcb76a Add definitions for Linux interrupt frame layout (struct pt_regs).
(Logical change 1.89)
2003-04-25 07:44:23 +00:00
hp.com!davidm
1045cb2cc0 (unw_get_save_loc): Check c->last_abi_marker == ABI_MARKER_LINUX_SIGTRAMP instead
of for a non-NULL sigcontext_addr.

(Logical change 1.89)
2003-04-25 07:44:23 +00:00
hp.com!davidm
dc34eda2fc (remote_install_cursor): Do Linux-shortcut only if UNW_REMOTE_ONLY is not defined.
(Logical change 1.89)
2003-04-25 07:44:23 +00:00
hp.com!davidm
e0160b16b7 (linux_interrupt): New function.
(update_frame_state): Handle ABI_MARKER_LINUX_INTERRUPT by calling linux_interrupt().
	If c->abi_marker is non-zero, copy it to c->last_abi_marker.

(Logical change 1.89)
2003-04-25 07:44:23 +00:00
hp.com!davidm
43786a3f2d (ia64_uc_access_reg): Move outside of !UNW_REMOTE_ONLY bracket.
(ia64_uc_access_fpreg): Ditto.

(Logical change 1.89)
2003-04-25 07:44:23 +00:00
hp.com!davidm
d92ddf8128 (common_init): Clear c->last_abi_marker.
(Logical change 1.89)
2003-04-25 07:44:23 +00:00
mostang.com!davidm
cb926c8da8 Rename: src/ia64/Gmk_cursor_i-ia64.c -> src/ia64/mk_Gcursor_i-ia64.c
}(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
cdff3028d3 Rename: src/ia64/Gmk_cursor_i-ia64.c -> src/ia64/mk_Gcursor_i-ia64.c
(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
c784d06c85 Regenerate.
(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
b39b434660 (Logical change 1.87) 2003-04-24 20:45:07 +00:00
mostang.com!davidm
424ffd0db8 Initial revision 2003-04-24 20:45:07 +00:00
mostang.com!davidm
fe2dfccdf9 Include <alloca.h>.
(access_reg) [HAVE_SYS_UC_ACCESS_H]: Sanitize and simplify this routine.  Turns out
	uc_access(3) works pretty much the way we need it, the only problem is that
	the unwind info for getcontext() seems to be missing as of HP-UX 11.22.
(ia64_uc_access_reg): New function.
(ia64_uc_access_fpreg): Ditto.
(ia64_local_addr_space_init): Initialize "abi" member of local address space based
	on the platform we're compiling on.

(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
c8d1774e07 Always include "mk_Gcursor_i-ia64.c" even if we don't really need it. We can't
have an empty file here, as otherwise we won't get a valid program.

}(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
2b8dd64bd9 Always include "mk_Gcursor_i-ia64.c" even if we don't really need it. We can't
have an empty file here, as otherwise we won't get a valid program.

2003/04/24 12:58:16-07:00 mostang.com!davidm
Rename: src/ia64/Lmk_cursor_i-ia64.c -> src/ia64/mk_Lcursor_i-ia64.c

(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
0561cd32b3 (unw_init_local): On HP-UX, step over the initial (getcontext()) frame.
(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
344768e1d6 (unw_get_save_loc): Handle "saved-in-sigcontext" case only for Linux.
(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
a38d3f6275 (mi_init): Turn off buffering for stdout and stderr when debugging is enabled.
(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
2404a17c82 (lookup_preg): Remove useless "unwind." prefix in debug output.
(parse_dynamic): Ditto.

(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
3d3510c047 (local_resume): Support HP-UX via setcontext() (doesn't actually work yet).
(remote_install_cursor): Enable the short-cut for Linux only.  Since HP-UX uses
	an opaque data-structure for ucontext_t, we can't play the same trick
	there.  Fix two typos: "> 0" -> ">= 0".
(unw_resume): Handle non-UNW_LOCAL_ONLY case simp;u bu calling
	remote_install_cursor().

(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
4bc8b02277 (linux_sigtramp): New function.
(hpux_sigtramp): Ditto.
(update_frame_state): Use abi_marker to decide how to handle a special frame.

(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
bd28baa280 (ia64_scratch_loc): Use c->as->abi to select appropriate behavior. Implement
support for HP-UX.
(access_nat): Check for uc-location and pass it on to ia64_put()/ia64_get() if
	it is.  Handle NaT-bit-saved-in-scratch-register only for Linux.
(ia64_access_reg): Change dprintf() into debug() statement.
(ia64_access_fpreg): Move fph-partition initialization code to ia64_scratch_loc().
	Change dprintf() into debug() statement.

(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
a88af79c95 (_ULia64_local_addr_space): Move to global scope so GCC doesn't whine if we
end up not using it.
(UNWIND_TBL_32BIT): New macro.
(struct unwind_header): Rename "unknown1" member to "header_version".
(tdep_find_proc_info) [HAVE_DLMODINFO]: Don't forget to initialize di.gp.
	Check unwind-header version and format.

(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
3e4f08bbf0 (SOVERSION): Change to 1:1:0.
Rename Gmk_cursor to mk_Gcursor, Lmk_cursor to mk_Lcursor so to avoid
scripts/make-L-files overwriting the (handcrafted) local version.
(EXTRA_DIST): Mention libunwind_la_SOURCES_os_hpux.

(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
8fee91bd13 (MIN): If it's defined already, #undef it first.
(IA64_LOC_UC_REG): New macro.
(IA64_GET_AUX_ADDR): New macro.
(ia64_uc_access_reg): New function.
(ia64_uc_access_fpreg): Ditto.
(ia64_getfp): Forward uc-locations to ia64_uc_access_fpreg().
(ia64_putfp): Ditto.
(ia64_get): Ditto.
(ia64_put): Ditto.
(rbs_on_uc): New function.

(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
747b961d31 Initial revision 2003-04-23 19:22:42 +00:00
mostang.com!davidm
1fe8bc11d4 If UNW_LOCAL_ONLY is defined, include Lcursor_i.h instead of Gcursor_i.h.
Update code to work both for UNW_LOCAL_ONLY-version of the cursor and the
generic version of the cursor.
(ia64_install_cursor): New macro.

}(Logical change 1.85)
2003-04-23 19:22:42 +00:00
mostang.com!davidm
630b01488a If UNW_LOCAL_ONLY is defined, include Lcursor_i.h instead of Gcursor_i.h.
Update code to work both for UNW_LOCAL_ONLY-version of the cursor and the
generic version of the cursor.
(ia64_install_cursor): New macro.

2003/04/23 11:25:31-07:00 mostang.com!davidm
Rename: src/ia64/_Uia64_install_cursor.S -> src/ia64/Ginstall_cursor.S

(Logical change 1.85)
2003-04-23 19:22:42 +00:00
mostang.com!davidm
6c584b7b68 (local_resume): Call ia64_install_cursor() instead of _Uia64_install_cursor().
(ia64_local_resume): Call local_resume().
(remote_install_cursor): Reenable old code.  Update MEMIFY for loc array changes.

(Logical change 1.85)
2003-04-23 19:22:42 +00:00
mostang.com!davidm
8e85e811c0 (libunwind_la_SOURCES_ia64): Replace _Uia64_install_cursor.S with Ginstall_cursor.S
and Linstall_cursor.S.
(Gmk_cursor_i_ia64_SOURCES): Rename from mk_cursor_i_ia64_SOURCES.
(Lmk_cursor_i_ia64_SOURCES): New mcro.
(Gcursor_i.h): Rename rule from cursor_i.h.
(Lcursor_i.h): New rule.
(noinst_PROGRAMS): Rename mk_cursor_i-ia64 to Gmk_cursor_i-ia64 and add
	Lmk_cursor_i-ia64.
(BUILT_SOURCES): Ditto.

(Logical change 1.85)
2003-04-23 19:22:42 +00:00
mostang.com!davidm
8da298f14f (ia64_install_cursor): Rename from _Uia64_install_cursor() and make it an UNW_OBJ().
(Logical change 1.85)
2003-04-23 19:22:42 +00:00
mostang.com!davidm
5b3b6f0565 (UNW_LOCAL_ONLY): Remove this macro.
(tab): Add etnry LOC_SIZE.
(main): Fix the "generated by ..." string.

}(Logical change 1.85)
2003-04-23 19:22:42 +00:00
mostang.com!davidm
da6690ecf2 (UNW_LOCAL_ONLY): Remove this macro.
(tab): Add etnry LOC_SIZE.
(main): Fix the "generated by ..." string.

2003/04/23 11:22:47-07:00 mostang.com!davidm
Rename: src/ia64/mk_cursor_i-ia64.c -> src/ia64/Gmk_cursor_i-ia64.c

(Logical change 1.85)
2003-04-23 19:22:42 +00:00
mostang.com!davidm
c56b0d6b05 (Logical change 1.85) 2003-04-23 19:22:42 +00:00
mostang.com!davidm
ee54f6cbbd Remove preg_index[] initializer.
(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
6aa6f29375 Regenerate.
(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
6e5840f132 Initial revision 2003-04-23 05:56:59 +00:00
mostang.com!davidm
d412b24291 Adjust for unw_word_t -> ia64_loc_t changes.
(struct_offset): Delete.
(IA64_LOC_REG): New macro (replaces IA64_LOC() for registers).
(IA64_LOC_ADDR): New macro (replaces IA64_LOC() for addresses).
(IA64_LOC_UC_ADDR): New macro.
(IA64_NULL_LOC): Ditto.
(IA64_IS_NULL_LOC): Ditto.
(IA64_IS_UC_LOC): Ditto.
(struct ia64_state_record): Replace is_signal_frame bit with abi_marker.
(ia64_strloc): New declaration.
(rbs_switch): Change from UNW_ARCH_OBJ() to UNW_OBJ().
(rbs_find_stacked): Ditto.
(rbs_cover_and_flush): Ditto.
(rbs_get_rnat_loc): New inline function.
(rbs_loc): Ditto.

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
4d4f47cfe6 Adjust for unw_word_t -> ia64_loc_t changes.
(rbs_find_stacked): Detect rbs-area underflow and complain when detected.

}(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
fdd93a262e Adjust for unw_word_t -> ia64_loc_t changes.
(rbs_find_stacked): Detect rbs-area underflow and complain when detected.

2003/04/22 22:16:35-07:00 mostang.com!davidm
Rename: src/ia64/rbs-ia64.c -> src/ia64/Grbs-ia64.c

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
c1d2557a31 Adjust for unw_word_t -> ia64_loc_t changes.
(ia64_local_resume): Disable for now (it's presently broken).
(remote_install_cursor): Ditto.

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
83ec749aaf Adjust for unw_word_t -> ia64_loc_t changes.
(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
72199b31ff Adjust for save-loc renaming.
Adjust for unw_word_t -> ia64_loc_t changes.

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
237a66bc21 Adjust for save-loc member renaming.
Adjust for renaming of Linux sigcontext offset macros.
(check_rbs_switch): Handle Linux-case only if abi_marker==ABI_MARKER_LINUX_SIGTRAMP.
(update_frame_state): For cursor's with a non-zero abi_marker, do special
	Linux or HP-UX sigtramp handling as appropriate.
	Clear abi_marker instead of is_signal_frame.

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
f24e3d70a0 (unw_is_signal_frame): Return true for any cursor with a non-zero abi_marker.
(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
5adda54e79 (unw_get_save_loc): Adjust for unw_word_t -> ia64_loc_t changes.
(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
8bf1568dbf (script_new): Clear abi_marker to 0.
(emit_nat_info): For registers saved in a general-register, use IA64_INSN_SET_REG
	instead of IA64_INSN_SET.
	Set insn.dst to register number, instead of unw.preg_index[i].
(compile_reg): Set val directly to register number, instead of unw.preg_index[i].
	Use IA64_INSN_INC_PSP instead of IA64_INSN_ADD to pop a fixed stack frame.
(build_script): Handle signal-frames by directly copying abi_marker, rather than
	emitting an IA64_INSN_SET instruction.
(run_script): Copy abi_marker into cursor.  Rather than updating a word, update
	a save-location.  Only exceptions are IA64_INSN_INC_PSP and
	IA64_INSN_LOAD_PSP.

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
693c4fa30c (libunwind_la_SOURCES_ia64): Rename _Uia64_install_context.S to
_Uia64_install_cursor.S.  Replace rbs-ia64.c with
	Grbs-ia64.c and Lrbs-ia64.c.

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
f8d5624ee9 (ia64_strloc): New function to stringify a location.
(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
69dc9063ae (decode_abreg): Rename IA64_REG_RP -> IA64_REG_IP.
(UNW_REG_RP): Ditto.
(lookup_preg): Ditto.
(create_state_record_for): Ditto.

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
f59f3d3569 (_Uia64_install_cursor): Rename from _Uia64_install_context().
Mask out only the least-significant 2 bits (rather than the least significant
	3 bits).

}(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
7ac1f4c998 (_Uia64_install_cursor): Rename from _Uia64_install_context().
Mask out only the least-significant 2 bits (rather than the least significant
	3 bits).

2003/04/22 22:15:48-07:00 mostang.com!davidm
Rename: src/ia64/_Uia64_install_context.S -> src/ia64/_Uia64_install_cursor.S

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
02920bf911 (UNW_LOCAL_ONLY): Define before including "internal.h".
Adjust for save-loc renaming.

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
18b186bf30 (Logical change 1.84) 2003-04-23 05:56:59 +00:00
mostang.com!davidm
6da53a7b66 (LINUX_SIGFRAME_ARG2_OFF): Rename from SIGFRAME_ARG2_OFF.
(LINUX_SC_*): Rename from SIGCONTEXT_*.

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
hp.com!davidm
307616bafb Regenerate.
(Logical change 1.83)
2003-04-21 23:37:15 +00:00
hp.com!davidm
5b90a927a1 (Logical change 1.81) 2003-04-21 23:14:14 +00:00
hp.com!davidm
eacc4f2073 Initial revision 2003-04-21 23:14:14 +00:00
hp.com!davidm
63a539999d (x86_access_reg): Add a debug statement so accesses to bad register numbers
can be seen with debugging enabled.

(Logical change 1.81)
2003-04-21 23:14:14 +00:00
hp.com!davidm
c91cfd2f5d (unw_is_signal_frame): On Linux, do code-reading to see if a given cursor
is a signal-frame.  This will break if the 8 bytes at EIP are not
	readable.


(Logical change 1.81)
2003-04-21 23:14:14 +00:00
hp.com!davidm
2c7e76f27a (unw_get_proc_info): Implement a minimalistic version for x86.
(Logical change 1.81)
2003-04-21 23:14:14 +00:00
hp.com!davidm
5c2c73523c (siglongjmp): If there aren't at least 4 eh-regs, abort() for now. In
the future, we may want to support this for real by putting the
	necessary info on the stack.

(Logical change 1.81)
2003-04-21 23:14:14 +00:00
hp.com!davidm
33e6e3fc1e (libunwind_la_SOURCES_x86): Mention regname-x86.c, Ginit_remote-x86.c,
Gis_signal_frame-x86.c, Gcreate_addr_space.c, Lcreate_addr_space.c,
	Linit_remote-x86,  and Lis_signal_frame-x86.c.

(Logical change 1.81)
2003-04-21 23:14:14 +00:00
hp.com!davidm
07721f3487 (get_static_proc_name): New function.
(x86_local_addr_space_init): Initialize get_proc_name() callback.

(Logical change 1.81)
2003-04-21 23:14:14 +00:00
hp.com!davidm
bbfe13cce0 (_UPT_reg_offset): Fix off-by-1 error.
(Logical change 1.81)
2003-04-21 23:14:14 +00:00
hp.com!davidm
060850b2c7 (_UPT_access_reg): When ptrace() returns an error, branch to common
"badreg" error handler.

(Logical change 1.81)
2003-04-21 23:14:14 +00:00
hp.com!davidm
de5b16e4a8 (_UI_siglongjmp_cont): Implement a dummy handler.
(Logical change 1.81)
2003-04-21 23:14:14 +00:00
hp.com!davidm
508f65f8b9 Regenerate.
(Logical change 1.80)
2003-04-21 18:56:16 +00:00
hp.com!davidm
ed625d646e (libunwind_la_SOURCES_x86): Mention Lset_reg-x86.c.
(Logical change 1.80)
2003-04-21 18:56:16 +00:00
hp.com!davidm
796bd962e3 Regenerate.
(Logical change 1.79)
2003-04-21 18:46:23 +00:00
hp.com!davidm
1b770df7ef (libunwind_la_SOURCES_x86): Mention Gset_reg-x86.c.
(Logical change 1.79)
2003-04-21 18:46:23 +00:00
mostang.com!davidm
60b8811527 (update_frame_state): On HP-UX, catch ucontext_t location from r32.
(Logical change 1.77)
2003-04-08 21:14:16 +00:00
mostang.com!davidm
fb293ae33d (struct unwind_header): Rename member "unknown1" to "format".
(Logical change 1.77)
2003-04-08 21:14:16 +00:00
mostang.com!davidm
d9ba5fb915 (desc_abi): Also recognize ".unwabi @hpux, 1" as a signal trampoline.
(Logical change 1.77)
2003-04-08 21:14:16 +00:00
mostang.com!davidm
b10a6c5b9f (SYSCALL_CFM_SAVE_REG): New macro.
(REASON_SYSCALL): Ditto.
(access_reg): Use __uc_get_reason() to determine how ucontext_t was created.
	Handle UNW_IA64_AR_BSP differently depending on whether or not
	ucontext_t was created by a syscall.  Ditto for UNW_IA64_IP and
	UNW_IA64_CFM.  Add debug statement.

(Logical change 1.77)
2003-04-08 21:14:16 +00:00
mostang.com!davidm
0802cd49ad (rbs_find_stacked): Allow NULL locp.
(Logical change 1.76)
2003-04-08 20:34:06 +00:00
mostang.com!davidm
7057901782 (ia64_get_stacked): Allow NULL "locp".
(Logical change 1.76)
2003-04-08 20:34:06 +00:00
mostang.com!davidm
bc41c6ad9f [HAVE_SYS_UC_ACCESS_H]: Add include of <sys/uc_access.h>.
(access_reg) [HAVE_SYS_UC_ACCESS_H]: New function.
(access_fpreg) [HAVE_SYS_UC_ACCESS_H]: New function.

(Logical change 1.75)
2003-04-03 07:59:15 +00:00
mostang.com!davidm
6ab15cdec4 Regenerate.
(Logical change 1.75)
2003-04-03 07:59:15 +00:00
mostang.com!davidm
e4ea1bcdb8 Drop include of <endian.h>.
(Logical change 1.75)
2003-04-03 07:59:15 +00:00
mostang.com!davidm
aa371f972e Don't include <endian.h>.
(Logical change 1.75)
2003-04-03 07:59:15 +00:00
mostang.com!davidm
b513773cb2 (unw_init_local): Do sc_rbs_base manipulation only if HAVE_SYS_UC_ACCES_H is not
defined.

(Logical change 1.75)
2003-04-03 07:59:15 +00:00
mostang.com!davidm
3b5cb41875 (local_resume): Unsupported on HP-UX for now.
(remote_install_cursor): Ditto.

(Logical change 1.75)
2003-04-03 07:59:15 +00:00
mostang.com!davidm
5929f8e02b (libunwind_la_SOURCES_os_hpux): New macro.
(libunwind_la_SOURCES_os): For HP-UX, use libunwind_la_SOURCES_os_hpux.

(Logical change 1.75)
2003-04-03 07:59:15 +00:00
mostang.com!davidm
ee12f505ed (is_local_addr_space): Test for _ULia64_local_addr_space only if UNW_GENERIC_ONLY
is not defined.
(tdep_find_proc_info) [HAVE_DLMODINFO): Declare new type "struct unwind_header"
	to accommodate HP-UX unwind header.  Fetch unwind table from this
	header.

(Logical change 1.75)
2003-04-03 07:59:15 +00:00
mostang.com!davidm
9abe0decf0 (ia64_init): Call _ULia64_local_addr_space_init() only if UNW_GENERIC_ONLY is
not defined.

(Logical change 1.75)
2003-04-03 07:59:15 +00:00
mostang.com!davidm
4ca42d4a0c (get_unwind_info): _Only call _Uia64_get_kernel_table() on Linux.
(Logical change 1.75)
2003-04-03 07:59:15 +00:00
mostang.com!davidm
9c23f9c408 (elf_map_image): Declare "path" argument as "const".
(Logical change 1.75)
2003-04-03 07:59:15 +00:00
hp.com!davidm
cfded02a05 (maps_close): Do nothing if mi->fp is already NULL.
(Logical change 1.71)
2003-03-29 07:32:50 +00:00
hp.com!davidm
3a27d1661c (_UPTi_find_unwind_table): Add dummy x86 implementation.
(_UPT_find_proc_info): On ia64, when returning info about the kernel's unwind
	table, copy the unwind info into a malloc'd buffer and use
	unw_local_addr_space to search the table, since the table is stored
	in local memory.

(Logical change 1.71)
2003-03-29 07:32:50 +00:00
hp.com!davidm
1acfcc74e5 (_UPT_reg_offset): Add definitions for x86.
(Logical change 1.71)
2003-03-29 07:32:50 +00:00
hp.com!davidm
e00aa27222 (_UPT_get_dyn_info_list_addr): Bracket ia64-specific variables in #if UNW_TARGET_IA64.
If ui->ei.image is non-NULL, close the old image and invalidate the
	cache before mapping the new image.

(Logical change 1.71)
2003-03-29 07:32:50 +00:00
hp.com!davidm
e21a83deb0 (_UPT_access_fpreg): Fix typo in cast.
(Logical change 1.71)
2003-03-29 07:32:50 +00:00
mostang.com!davidm
4f17bce117 Regenerate.
(Logical change 1.70)
2003-03-28 07:43:22 +00:00
mostang.com!davidm
b838c72f9a (lookup_symbol): Portability fix: avoid arithmetic on void *.
(Logical change 1.70)
2003-03-28 07:43:22 +00:00
mostang.com!davidm
e4f251b98a (local_resume): "static inline" version of what used to be ia64_local_resume().
(ia64_local_resume): Declare as "HIDDEN" (not "HIDDEN inline"), use local_resume().
(unw_resume): For UNW_LOCAL_ONLY case, call local_resume().

(Logical change 1.70)
2003-03-28 07:43:22 +00:00
mostang.com!davidm
81f4297d5a (intern_regions): Don't mix signed and unsigned types for 3rd argument to fetch32().
(intern_dyn_info): Ditto.

(Logical change 1.70)
2003-03-28 07:43:22 +00:00
mostang.com!davidm
2e65e639a5 (ia64_getfp): Return -UNW_EBADREG when trying to access unsaved register.
(ia64_putfp): Ditto.
(ia64_get): Ditto.
(ia64_put): Ditto.

(Logical change 1.70)
2003-03-28 07:43:22 +00:00
mostang.com!davidm
5b1f22a309 Regenerate.
(Logical change 1.69)
2003-03-27 04:34:23 +00:00
mostang.com!davidm
f168752fcf (Logical change 1.68) 2003-03-27 04:29:07 +00:00
mostang.com!davidm
58df2a4b8f Initial revision 2003-03-27 04:29:07 +00:00
mostang.com!davidm
bf2a805be2 If we have it, include <ia64intrin.h>.
(current_gp): New function.
(callback): Use current_gp() instead of open-coding it.

(Logical change 1.68)
2003-03-27 04:29:07 +00:00
mostang.com!davidm
26ad35667c Avoid GNU local labels for improved portability.
(Logical change 1.68)
2003-03-27 04:29:07 +00:00
mostang.com!davidm
6dbafde94b (sigprocmask): Declare as global (Intel assembler insists on this).
(Logical change 1.68)
2003-03-27 04:29:07 +00:00
mostang.com!davidm
4090e38376 (sigprocmask): Declare as "global" (Intel assembler insists on this).
(siglongjmp_continuation): Avoid GNU assembler local labels.

(Logical change 1.68)
2003-03-27 04:29:07 +00:00
mostang.com!davidm
7407caa8c3 (libunwind_la_SOURCES_ia64): Add global-asm-ia64.S.
(libunwind_la_SOURCES_x86): Mention elf32.c, elf32.h, Gresume-x86.c, and
	Lresume-x86.c.

(Logical change 1.68)
2003-03-27 04:29:07 +00:00
mostang.com!davidm
753601f8b0 (_U_dyn_info_list): Declare.
Move generation of dyn-list unwind entry into global-asm-ia64.S.

(Logical change 1.68)
2003-03-27 04:29:07 +00:00
mostang.com!davidm
9eafc2ae86 (_UPT_get_dyn_info_list_addr): Downgrade #error to #warning.
(Logical change 1.68)
2003-03-27 04:29:07 +00:00
mostang.com!davidm
4409fc61d8 Patch by Matthieu Delahaye:
(lookup_symbol): Fix typo: Elf64_Shdr -> ElfW (Shdr).
(get_proc_name): Ditto.

(Logical change 1.67)
2003-03-27 00:44:39 +00:00
mostang.com!davidm
1c9ce0d96c Regenerate.
(Logical change 1.66)
2003-03-20 08:16:17 +00:00
mostang.com!davidm
09f7ea2cc2 Return -UNW_ENOINFO.
(Logical change 1.64)
2003-03-20 07:51:37 +00:00
mostang.com!davidm
0adb97c721 Reorganize a bit so "automake" can correctly figure out all the files that need
to be distributed.

(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
0456a08cb8 Issue warning for platforms using ttrace() instead of ptrace() (HP-UX
is the only platform that does that).

(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
63d7003ef7 Include <sys/stat.h>.
(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
58e0e100d1 Include <inttypes.h> instead of <stdint.h>. HP-UX doesn't have the latter.
(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
d933d89e38 Include <asm/ptrace_offsets.h> only if we have it.
Issue warning for platforms using ttrace() instead of ptrace() (HP-UX
is the only platform that does that).

(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
0f3adfb3e6 Include "config.h" if we have it.
Test for HAVE_ASM_PTRACE_OFFSETS_H instead of UNW_TARGET_IA64.
Issue warning for platforms using ttrace() instead of ptrace() (HP-UX
is the only platform that does that).

(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
ea91dee4a8 Include "config.h" if we have it.
Include <inttypes.h> instead of <stdint.h>.  HP-UX doesn't have the latter.
Use "inline" instead of "__inline__" (the former gets properly #define'd by
config.h).

(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
d798e7dd07 Include "config.h" if we have it.
(_Uia64_search_unwind_table): Be sure to clear "proc_info" members as documented
	by unw_get_proc_info(3).
Include <dlfcn.h> if we have dlmodinfo() (HP-UX only).
(tdep_find_proc_info): Use dl_iterate_phdr() only if we have it (glibc-based
	systems).  Use dlmodinfo() if we have it (HP-UX).

(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
8033bdfd28 Include "config.h" if we have it.
(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
5fe7ac3ff5 (unw_set_caching_policy): Default to "global" policy if thread-local policy is
not available.

(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
7bfbbb6126 (lookup_symbol): Return -UNW_ENOINFO if symbol cannot be looked up for some reason.
Return -UNW_ENOMEM if string buffer is too small.  This makes the routine
	compatible with the definition of the unw_get_proc_name(3).

(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
e24351b6c0 (Logical change 1.63) 2003-03-19 19:25:18 +00:00
mostang.com!davidm
3812bbdc00 Initial revision 2003-03-19 19:25:18 +00:00
mostang.com!davidm
cf9c4950bc Add include of "tdep.h".
(unwi_dyn_remote_find_proc_info): Maintain as->dyn_info_list_addr as a cache of
	the most recently obtained dyn-info-list address.

(Logical change 1.61)
2003-03-11 01:11:18 +00:00
mostang.com!davidm
5dc0e152a9 (unw_flush_cache): Also clear dyn_info_list_addr cache in the address space.
(Logical change 1.61)
2003-03-11 01:11:18 +00:00
mostang.com!davidm
63531d6f85 (struct UPT_info): Remove dyn_info_list_addr and checked_dyn_info_list_addr
members.

(Logical change 1.61)
2003-03-11 01:11:18 +00:00
mostang.com!davidm
7e7d86ade8 (_UPT_get_dyn_info_list_addr): Don't cache dyn-info-list address here. Do it
in libunwind proper instead.

(Logical change 1.61)
2003-03-11 01:11:18 +00:00
mostang.com!davidm
7a7d6113d4 Regenerate.
(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
285c381cea Initial revision 2003-03-06 06:14:36 +00:00
mostang.com!davidm
00c5dee16b Include <assert.h>.
(_longjmp): Ensure that we have at least 4 exception-handling args.  (This code
	will need updating to make it work on x86, where only 2 exception handling
	args are available).
(longjmp): If we are compiling with GCC, use an alias-attribute to alias it with
	_longjmp().  This is more efficient and works around a gcc-3.2/ia64 bug
	which causes bad unwind info when a noreturn function is a last call.


(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
eeffb605f7 Include <assert.h>.
(_longjmp): Ensure that we have at least 4 exception-handling args.  (This code
	will need updating to make it work on x86, where only 2 exception handling
	args are available).

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
597f26ce83 Include "tdep.h".
(unwi_full_sigmask): Define here.
(mi_init): Initialize unwi_full_sigmask.

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
d098282ff5 Include "tdep.h".
(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
d396c31e6f Enable .resume callback.
(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
6a01dbb8df Add copyright message.
(SOSLOCK): Remove
(SOSUNLOCK): Ditto.
(LOCK): Ditto
(UNLOCK): Ditto.
(sos_alloc): If HAVE_CMPXCHG is defined, use cmpxchg_ptr() to atomically allocate
	memory in a lock-free manner.  Otherwise, fall back on disabling signal
	delivery and holding the sos_lock during memory allocation.
(sos_free): Remove.
(mempool_init): Initialize pool lock.  Replace LOCK/UNLOCK with appropriate
	signal-masking & mutex_lock/unlock calls.
(mempool_free): Replace LOCK/UNLOC with appropriate signal-masking & mutex_lock/unlock
	calls.

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
90c6107cae (unw_get_proc_name): Declare "offp" argument and pass it to unwi_get_proc_name().
(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
51f58db9b4 (libunwind_la_SOURCES_cdep): Mention _UPT_resume.c.
Delete obsolete comment.

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
43cc4c9e59 (ia64_make_proc_info): If caching is enabled, call ia64_get_cached_proc_info()
to pick up cached proc-info (if available).

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
fe0ed7dd41 (ia64_getfp): Print debug message when accessing an unsaved register.
(ia64_putfp): Ditto.
(ia64_get): Ditto.
(ia64_put): Ditto.
(ia64_local_addr_space_init): Add missing declaration.

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
d3ec5e94aa (cache_match): Remove locking comments.
(ia64_get_cached_proc_info): Rename from ia64_script_lookup() and modify it so
	it directly updates the proc-info if the necessary script is in the cache.
(script_new): Remove locking comments and adjust formatting.
(ia64_find_save_locs): If global caching is enabled, mask signal delivery and
	hold the cache lock while accessing the cache.
(ia64_script_cache_init): Initialize the cache lock.


(Logical change 1.59)
2003-03-06 06:14:36 +00:00