1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-11-24 00:07:39 +01:00
Commit graph

130 commits

Author SHA1 Message Date
hp.com!davidm
ab0fdbbb4c (Logical change 1.135) 2003-12-04 07:44:21 +00:00
hp.com!davidm
1a7d4ee7ed Initial revision 2003-12-04 07:44:21 +00:00
hp.com!davidm
7549674169 (unw_get_proc_info_by_ip): New routine.
(Logical change 1.133)
2003-12-04 07:34:21 +00:00
hp.com!davidm
1334cae324 (HAVE___THREAD): Force it off for now---the per-thread cache uses
about 128KB of thread-local storage for each and every
	thread, even if a thread never ever needs to unwind its
	stack.  Seems a bit much.
(ALWAYS_INLINE): New macro which can be used to force inlining
	on compilers that support it.

(Logical change 1.132)
2003-12-04 07:30:39 +00:00
hp.com!davidm
497018e941 Include "elf32.h".
(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
7305d26f26 (struct cursor): Declare pi_valid and pi_is_dynamic as unsigned to
avoid compiler warnings.

(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
04dd29b6eb (UNUSED): New macro.
(UNW_DEBUG): If DEBUG is not defined, set it to 0.
(inline): Take advantage of UNUSED macro.
(HAVE_CMPXCHG): Don't define it if we're on HP-UX with GCC v3.2 to
	work around a compiler-bug.

(Logical change 1.130)
2003-11-27 06:52:54 +00:00
hp.com!davidm
dd8806c82d (unw_dyn_info_format_t): Add UNW_INFO_FORMAT_REMOTE_TABLE.
(unw_dyn_remote_table_info_t): New type.
(unw_dyn_info): Add "rti" member.

(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
48723262f7 (_Uia64_find_dyn_list): Pass unw_dyn_info_t pointer instead of its members.
(Logical change 1.126)
2003-11-25 22:33:49 +00:00
hp.com!davidm
e01fb3b27e (cmpxchg_ptr): Correct sense of comparison.
(Logical change 1.125)
2003-11-25 20:13:21 +00:00
hp.com!davidm
d61f300b7b (ia64_script_cache): If HAVE_ATOMIC_OPS_H is true, declare "busy" member
in lieu of "lock" member.

(Logical change 1.124)
2003-11-24 23:53:25 +00:00
hp.com!davidm
c3fa0b6fa8 Regenerate.
(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
8e36032bc5 (unw_addr_space): If HAVE_ATOMIC_OPS_H is defined, declare cache_generation
of type AO_T.  This is a temporary work-around until atomic_ops.h
	supports atomic ops on 32-bit variables.

(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
90e8393da3 (inline): Add #undef of "inline" before (re-)defining it.
Add support for atomic_ops.h.
	Add fetch_and_add1() and if it is supported, define
	HAVE_FETCH_AND_ADD1.

(Logical change 1.123)
2003-11-24 21:37:22 +00:00
hp.com!davidm
3f35f343c3 (needs_initialization): Declare it as volatile so we get proper memory
ordering when accessing it.  Also, shrink size to 1 byte and move
	it closer to other frequently-used fields.

(Logical change 1.121)
2003-11-24 18:33:44 +00:00
hp.com!davidm
34085cad7b Fix a typo.
(Logical change 1.116)
2003-11-22 06:11:18 +00:00
hp.com!davidm
2c9be974dc Regenerate.
(Logical change 1.115)
2003-11-22 06:08:20 +00:00
hp.com!davidm
3cc1ec6be9 (struct ia64_global_unwind_state): Add "lock" member.
(Logical change 1.111)
2003-11-19 03:11:25 +00:00
hp.com!davidm
039accfd88 (__BYTE_ORDER): Fix HP-UX byte-order to be __BIG_ENDIAN, as it was meant
to be.

(Logical change 1.106)
2003-10-11 01:05:18 +00:00
hp.com!davidm
18626b8def (UNW_IA64_AR_SSD): New alias for ar26.
(Logical change 1.91)
2003-07-08 22:29:34 +00:00
hp.com!davidm
c7db73d180 (ABI_MARKER_OLD_LINUX_SIGTRAMP): Rename from ABI_MARKER_LINUX_SIGTRAMP.
(ABI_MARKER_OLD_LINUX_INTERRUPT): Rename from ABI_MARKER_LINUX_INTERRUPT.
(ABI_MARKER_LINUX_SIGTRAMP): Define with Linux ABI value (3).
(ABI_MARKER_LINUX_INTERRUPT): Ditto.

(Logical change 1.91)
2003-07-08 22:29:34 +00:00
mostang.com!davidm
d4f81e2b69 Auto merged
2003/06/03 14:35:33-07:00 mostang.com!davidm
(struct ia64_global_unwind-state): Rename member state_record_pool to
	reg_state_pool.

(Logical change 1.90)
2003-06-03 21:36:03 +00:00
hp.com!davidm
e771bcab8f (ABI_MARKER_LINUX_INTERRUPT): New macro.
(struct cursor): Add "last_abi_marker" member.  This is the sticky version of
	"abi_marker".


(Logical change 1.89)
2003-04-25 07:44:23 +00:00
mostang.com!davidm
08230509a3 (ABI_LINUX): New macro.
(ABI_HPUX): Ditto.
(ABI_FREEBSD): Ditto.
(ABI_OPENVMS): Ditto.
(ABI_NSK): Ditto.
(ABI_WINDOWS): Ditto.
(unw_addr_space): Add member "abi".

(Logical change 1.87)
2003-04-24 20:45:07 +00:00
mostang.com!davidm
78a7c5a8c1 (ia64_script_insn_opcode): Rename IA64_INSN_ADD to IA64_INSN_INC_PSP,
and IA64_INSN_LOAD to IA64_INSN_LOAD_PSP.  Add IA64_INSN_SET_REG.
(struct ia64_script_insn): Add "abi_marker" member.

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
mostang.com!davidm
ed67c3edb7 (ia64_pregnum): Rename IA64_REG_RP to IA64_REG_IP.
(ia64_loc_t): New type.  For UNW_LOCAL_ONLY, it's a single word, as before.
	For the generic case, it's a 2-word structure.  This provides enough
	space to encode all necessary info both for 32-bit targets (which require
	only 4-byte aligned addresses) and for targets which are limited to
	accessing ucontext_t values via uc_access(3).
(ABI_MARKER_LINUX_SIGTRAMP): New macro.
(ABI_MARKER_HP_UX_SIGTRAMP): New macro.
(struct cursor): Consolidate bsp_loc, bspstore_loc, pfs_loc, rnat_loc, ip_loc,
	pri_unat_loc, unat_loc, pr_loc, lc_loc, fpsr_loc, r4-r7_loc,
	b1-b5_loc, f2-f7_loc, and fr_loc[] into loc[] array.  Note that
	there is now a separate PSP-loc (loc[IA64_REG_PSP]) in addition
	to the cached psp value.
	Rename sigcontext_loc to sigcontext_addr.
	Remove is_signal_frame memeber and add abi_marker member instead.
	Change type of rbs_area[].rnat_loc to ia64_loc_t.
(struct ia64_global_unwind_state): Remove preg_index[] array.

(Logical change 1.84)
2003-04-23 05:56:59 +00:00
hp.com!davidm
79f981aaf7 (_U_TDEP_QP_TRUE): New macro.
(Logical change 1.81)
2003-04-21 23:14:14 +00:00
mostang.com!davidm
6ab15cdec4 Regenerate.
(Logical change 1.75)
2003-04-03 07:59:15 +00:00
mostang.com!davidm
89c081cd84 On HP-UX, unset UNW_LOCAL_ONLY and defined UNW_GENERIC_ONLY, since it makes no
sense to do UNW_LOCAL_ONLY on this platform.

(Logical change 1.75)
2003-04-03 07:59:15 +00:00
mostang.com!davidm
d53636d414 Move endian-stuff to internal.h.
(Logical change 1.75)
2003-04-03 07:59:15 +00:00
mostang.com!davidm
a04f38ef19 Move endian-related defs from tdep-ia64.h to here.
(Logical change 1.75)
2003-04-03 07:59:15 +00:00
mostang.com!davidm
46149fdccd Regenerate.
(Logical change 1.72)
2003-03-31 18:16:54 +00:00
hp.com!davidm
f9cc1e4b74 (tdep_get_elf_image): Declare.
(Logical change 1.71)
2003-03-29 07:32:50 +00:00
hp.com!davidm
1d443a63ad (pthread_mutex_init): Declare as a "weak" symbol.
(Logical change 1.71)
2003-03-29 07:32:50 +00:00
mostang.com!davidm
337c0ad989 Add C++ wrapper.
(Logical change 1.70)
2003-03-28 07:43:22 +00:00
mostang.com!davidm
271d7065c2 (cmpchg_ptr): Cast first argument to "volatile long *", since that is what the
Intel compiler wants.

(Logical change 1.70)
2003-03-28 07:43:22 +00:00
mostang.com!davidm
28fe6a6e8b Work around ECC v7.0 bug by manually definining __sync_val_compare_and_swap()
if it isn't defined yet.

(Logical change 1.68)
2003-03-27 04:29:07 +00:00
mostang.com!davidm
c7aaa68495 Regenerate.
(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
15693e234b Include config.h, if we have it (HAVE_CONFIG_H).
Include <sys/types.h>.  HP-UX can't include pthread.h otherwise.
Replace test for UNW_TARGET_IA64 with test for HAVE_IA64INTRIN_H.

(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
47c70d7858 Include <inttypes.h> instead of <stdint.h>. HP-UX doesn't have the latter.
(unw_tdep_save_loc_t): Define a dummy member, so we're ANSI-C compliant (which doesn't
	allow empty structs).

(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
53bd7613b7 If we don't have <endian.h>, define __LITTLE_ENDIAN and __BIG_ENDIAN here and
guess the right value for __BYTE_ORDER.

(Logical change 1.63)
2003-03-19 19:25:18 +00:00
mostang.com!davidm
d5ad49b013 (unw_regname): Correct type of "regnum" from "int" to "unw_regnum_t".
(Logical change 1.62)
2003-03-13 02:15:01 +00:00
mostang.com!davidm
51095505d9 (struct addr_space): Add "dyn_info_list_addr" member.
(Logical change 1.61)
2003-03-11 01:11:18 +00:00
mostang.com!davidm
9003fd20fe Include <signal.h>. Remove include of <tdep.h>.
(mutex_init): New macro.
(HAVE_CMPXCHG): Ditto.
(cmpxchg_ptr): Ditto.
(unwi_full_sigmask): New variable.

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
5daa8619b7 Include "internal.h".
Define sos_alloc(), mempool_init(), mempool_alloc(), and mempool_free() with
	UNWI_ARCH_OBJ() helper macro.
(sos_free): Delete.
(struct mempool): Declare "lock" member.

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
57bdcfeb0d Delete spurious copyright message.
(struct ia64_script_cache): Declare "lock" member.
(ia64_get_cached_proc_info): Rename from ia64_script_lookup().

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
45ce48f2e4 (unw_tdep_fpreg_t): Declare as "long double".
(UNW_TDEP_EH): Declare.
(UNW_TDEP_NUM_EH_REGS): New macro.

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
a6e367131b (UNW_TDEP_EH): Rename from UNW_TDEP_EH_ARG0.
(UNW_TDEP_EH_ARG1): Delete.
(UNW_TDEP_EH_ARG2): Ditto.
(UNW_TDEP_EH_ARG3): Ditto.
(UNT_TDEP_NUM_EH_REGS): New macro.

(Logical change 1.59)
2003-03-06 06:14:36 +00:00
mostang.com!davidm
c670abba8f (UNW_REG_EH): Rename from UNW_REG_EH_ARG0.
(UNW_REG_EH_ARG1): Delete.
(UNW_REG_EH_ARG2): Ditto.
(UNW_REG_EH_ARG3): Ditto.
(UNW_NUM_EH_REGS): New macro.
(_UPT_resume): Declare.

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