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

345 commits

Author SHA1 Message Date
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
mostang.com!davidm
7343841308 (unw_accessors_t): Add optional get_proc_name() callback.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
9430d35c9b (_U_dyn_region_info_size): Define it in a more straight-forward manner.
(_U_dyn_op_label_state): Drop "qp" and "when" arguments.
(_U_dyn_op_copy_state): Ditto.
(_U_dyn_op_stop): Define qp to _U_QP_TRUE and when to -1.
(_U_QP_TRUE): New macro.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
9df94711bf (_U_TDEP_QP_TRUE): New macro.
(UNW_IA64_RP): New register-name.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
6863c4aaf5 (IA64_REG_PSP): Move it ino front of IA64_REG_BSP.
(tdep_get_proc_name): Delete.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
hp.com!davidm
c503981c39 (struct ia64_global_unwind_state): Add member "r0".
(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
43652d9dea (ia64): Undef this macro if it's defined (bug in Intel's ECC v7.0?).
(_Uia64_find_dyn_list): Add "gp" argument.

(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
cf3b756567 (_U_dyn_op_pop_frames): Fix typo in UNW_DYN_POP_FRAMES.
(Logical change 1.55)
2003-02-26 08:33:57 +00:00
mostang.com!davidm
e20ecc63b8 (unwi_get_proc_name): Don't make it an arch-object. Drop "is_local" argument.
(Logical change 1.54)
2003-02-22 08:19:43 +00:00
mostang.com!davidm
e61440508f (unw_dyn_region_info_t): Make insn_count signed.
(Logical change 1.54)
2003-02-22 08:19:43 +00:00
hp.com!davidm
ea34cc2bee (uc_off): Remove (it wasn't used anymore).
(Logical change 1.53)
2003-02-22 03:08:22 +00:00
mostang.com!davidm
c341225693 (struct cursor): Remove rbs_right_edge.
(Logical change 1.52)
2003-02-21 07:36:26 +00:00
hp.com!davidm
a45c88823a (likely): Make them work even for non-GCC (or old GCC) compilers.
(unlikely): Ditto.
(debug): Print to stderr.
(dprintf): Ditto.

(Logical change 1.48)
2003-02-15 03:10:30 +00:00
hp.com!davidm
74f568c602 Regenerate.
(Logical change 1.46)
2003-02-14 03:09:27 +00:00
mostang.com!davidm
108627cab7 Include "elf64.h".
(struct cursor): Add member "eh_valid_mask" to track which eh_args[] are valid.
	Fix comment for rbs_curr.
(tdep_get_elf_image): New routine.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
8c2740cfe3 (unw_tdep_fpreg_t): New type.
(UNW_TDEP_EH_ARG0): Make it an alias for r15.
(UNW_TDEP_EH_ARG1): Make it an alias for r16.
(UNW_TDEP_EH_ARG2): Make it an alias for r17.
(UNW_TDEP_EH_ARG3): Make it an alias for r18.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
981c8cc37b (UNW_REG_EH_ARG0): New well-known register name.
(UNW_REG_EH_ARG1): Ditto.
(UNW_REG_EH_ARG2): Ditto.
(UNW_REG_EH_ARG3): Ditto.
(unw_fpreg_t): Make it a target-dependent type.
(unw_get_proc_name): Also return the offset relative to the function name returned.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
f5265f56ba (HIDDEN): Make it empty unless we have at least GCC v3.3.
(unwi_get_proc_name): Also return the offset relative to the returned function-name.
(struct elf_image): New structure.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
hp.com!davidm
644c919345 Rename UNW_IA64_AR_25 to UNW_IA64_AR_CSD, as per SDM v2.1.
(_Uia64_search_unwind_table): Declare.
(_Uia64_find_dyn_list): Declare as "extern".
(_Uia64_get_kernel_table): Declare.

(Logical change 1.43)
2003-01-28 03:40:06 +00:00
hp.com!davidm
a69cf3deb9 Regenerate.
(Logical change 1.43)
2003-01-28 03:40:06 +00:00
hp.com!davidm
68bdac3681 Add declarations for the _UPT_* helper routines (libunwind via ptrace helpers).
(Logical change 1.43)
2003-01-28 03:40:06 +00:00
hp.com!davidm
bb25a5ed3b (tdep_search_unwind_table): Explicitly call _Uia64_search_unwind_table().
Remove declaration of same name; this is now done in libunwind-ia64.h.

(Logical change 1.43)
2003-01-28 03:40:06 +00:00
mostang.com!davidm
717cb71374 (struct cursor): Add "cfm" cache.
(Logical change 1.42)
2003-01-23 18:47:51 +00:00
mostang.com!davidm
6dbc6777a3 (struct cursor): Rename rbs_wridx to rbs_right_edge, rbs_nvalid to rbs_left_edge,
and reserve two extra slots in rbs_area[].

(Logical change 1.41)
2003-01-23 10:04:09 +00:00
mostang.com!davidm
7e268d256d (mi_init): Avoid name-space pollution: make mi_init() an arch-object.
(Logical change 1.41)
2003-01-23 10:04:09 +00:00
mostang.com!davidm
8b17d136c5 (struct cursor): Replace rbs_top and top_rnat_loc with rbs_wridx, rbs_curr,
rbs_nvalid, and rbs_area.  Add new member sigcontext_off.

(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
313653f66e (likely): New macro.
(unlikely): Ditto.
(NELEMS): Ditto.

(Logical change 1.39)
2003-01-21 08:08:32 +00:00
mostang.com!davidm
b5fe317cc8 (UNW_TDEP_CURSOR_LEN): Define.
(UNW_PI_FLAG_IA64_RBS_SWITCH_BIT): New macro.
(UNW_PI_FLAG_IA64_RBS_SWITCH): Ditto.

(Logical change 1.39)
2003-01-21 08:08:32 +00:00
mostang.com!davidm
26f6cf761e (UNW_TDEP_CURSOR_LEN): Define.
(Logical change 1.39)
2003-01-21 08:08:32 +00:00
mostang.com!davidm
a4bea2c466 (UNW_STATE_LEN): Remove (replaced by UNW_TDEP_CURSOR_LEN).
(UNWPI_FLAG_FIRST_TDEP_BIT): Define.
Fix typo in comment: LITTLE not LITLE...

(Logical change 1.39)
2003-01-21 08:08:32 +00:00
mostang.com!davidm
0440c53608 Fix checkin lossage.
(Logical change 1.37)
2003-01-17 18:12:55 +00:00
mostang.com!davidm
a38baad7f3 (unw_init_local): Fix typo: the context type should be unw_context_t.
(Logical change 1.35)
2003-01-17 07:48:52 +00:00
mostang.com!davidm
8ec7b349f1 Initial revision 2003-01-14 07:11:56 +00:00
mostang.com!davidm
6d611572ef (Logical change 1.33) 2003-01-14 07:11:56 +00:00
mostang.com!davidm
2d80409b22 Rename: src/mempool.h -> include/mempool.h
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
9f32da41c3 Initial revision 2002-12-19 07:16:50 +00:00
mostang.com!davidm
a60cacd8f5 Include "mempool.h">
(struct cursor): Move to here from unwind_i.h.
(struct ia64_global_unwind_state): Ditto.

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
db59d4f98f (struct cursor): Rename from "struct ia64_cursor".
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
20a6c1adf1 (get_accessors): Make it an arch-obj.
(flush_cache): Ditto.
(set_caching_policy): Ditto.
(regname): Ditto.

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
93daa3b08d (UNW_TARGET_IA64): Define.
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
bf070a994a (UNW_DEBUG): Move here from ia64/unwind_i.h
(debug): Ditto.
(dprintf): Ditto.
(inline): Ditto.
(mi_init): Declare.

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
a85267d16b (Logical change 1.32) 2002-12-19 07:16:50 +00:00
mostang.com!davidm
1c8ee38936 (_Uia64_find_dyn_list): Declare and document this ia64-specific helper routine.
(Logical change 1.31)
2002-12-18 05:18:40 +00:00
mostang.com!davidm
793c8a3005 Initial revision 2002-12-12 09:17:41 +00:00
mostang.com!davidm
744b910408 Clarify comment on how when to use a pointer type and when to use unw_word_t.
(unw_dyn_info_format_t): New type.
(unw_dyn_op): Decrease "tag" from 16 to 8 bits, ditto for "qp" member.
(unw_dyn_proc_info): Change "name" pointer to "name_ptr" value (unw_word_t) and
	make padding explicit.
(unw_dyn_table_info): Change "name" pointer to "name_ptr" value.  Rename
	"table_size" to "table_len" and change type of table_data from
	void * to "unw_word_t *".
(unw_dyn_info): Switch to doubly-linked list so _U_dyn_cancel() can be O(1).
	Change type of "format" member from enum to int32_t.  Make padding explicit.
(unw_dyn_info_list): Make "generation" member 32 bits wide.  Add "version" member
	to enable future extensions to the dynamic info list.
(_U_dyn_register): Don't return anything (it can't fail).
(_U_dyn_cancel): Ditto.

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
01e35a5d93 Add copyright header and forward-declration of ia64_cursor.
2002/12/05 15:32:45-08:00 mostang.com!davidm
Rename: src/ia64/script.h -> include/ia64/script.h

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
b29266f262 (unw_sysdep_search_unwind_table): Remove.
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
b6251b0f41 (unw_proc_info_t): Remove proc_name member and replace it with unw_get_proc_name().
The former didn't work because of memory management issues (there was no
	reasonable way to allocate/free the memory needed for the string).
	Shorten unwind_info_size from size_t to int.
(unw_accessors_t): Add new callbacks put_unwind_info() and get_dyn_info_list_addr().
(unw_create_addr_space): Take byte-order as second argument.
(unw_get_proc_name): New routine.
(unw_find_dynamic_proc_info): Remove (it's brother is in internal.h now).
(unw_flush_cache): Add missing declaration.
(unw_set_caching_policy): Ditto.

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
653c9006ac (Logical change 1.30) 2002-12-12 09:17:41 +00:00
mostang.com!davidm
dfc08eaef4 Rewrite to resemble something that actually might work.
(Logical change 1.29)
2002-12-03 08:19:58 +00:00
mostang.com!davidm
50d7a155ff Add include of <libunwind-dyamic.h>.
(UNW_ARCH_OBJ): New macro.
(unw_proc_info_t): New type.
(unw_accessors): Replace acquire_unwind_info and release_unwind_info callbacks
	with find_proc_info callback.  Change remaining prototypes to take
	address-space pointer as the first argument.
(unw_get_accessors): New routine.
(unw_get_proc_info): New routine.
(unw_regname): Make it an UNW_ARCH_OBJ.
(unw_find_dynamic_proc_info): New routine.

(Logical change 1.29)
2002-12-03 08:19:58 +00:00
mostang.com!davidm
b1c1f146cc (struct unw_ia64_table): Delete.
(unw_sysdep_search_unwind_table): New macro.

(Logical change 1.29)
2002-12-03 08:19:58 +00:00
hp.com!davidm
d7e9f75df6 (Logical change 1.28) 2002-11-23 02:12:30 +00:00
hp.com!davidm
f7d795a412 Initial revision 2002-11-23 02:12:30 +00:00
mostang.com!davidm
87bc2e3242 Document which routines are signal-safe.
(unw_addr_space_t): New type.
(unw_accessors_t): Remove "arg" member.
(unw_local_addr_space): New variable.
(unw_create_addr_space): New function.
(unw_destroy_addr_space): Ditto.
(unw_init_remote): Take address-space and accessor-argument pointer instead of
	accessor structure as argument.
(unw_set_caching_policy): Take address-space as first argument.
(unw_flush_cache): Take address space and address-range (lo & hi) arguments.

(Logical change 1.27)
2002-11-16 06:50:04 +00:00
mostang.com!davidm
aca3843d6f Switch to MIT license.
(Logical change 1.26)
2002-11-16 03:25:36 +00:00
mostang.com!davidm
16f2189512 (unw_caching_policy_t): New type.
(unw_set_caching_policy): New function.
(unw_flush_cache): Ditto.

(Logical change 1.22)
2002-11-09 07:59:02 +00:00
mostang.com!davidm
193ba2859f (HAVE___THREAD): Mention it.
(Logical change 1.22)
2002-11-09 07:59:02 +00:00
mostang.com!davidm
3569969a3e Update copyright message.
(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
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
hp.com!davidm
76166fb955 (UNW_PREFIX): Include the target name in the prefix.
2002/04/05 14:33:32-08:00 hp.com!davidm
Rename: include/libunwind.h -> include/libunwind-common.h

(Logical change 1.12)
2002-04-05 23:37:55 +00:00
hp.com!davidm
5a0a6457b1 Initial revision 2002-04-05 23:37:55 +00:00
hp.com!davidm
1f3b87ad50 Add multi-architecture support: include libunwind-common.h instead
of having a libunwind.h include the target-specific header.

(Logical change 1.12)
2002-04-05 23:37:55 +00:00
hp.com!davidm
2a8477a76a (UNW_PREFIX): Include the target name in the prefix.
}(Logical change 1.12)
2002-04-05 23:37:55 +00:00
mostang.com!davidm
5c6360b856 (unw_tdep_is_fpreg): New macro.
(Logical change 1.11)
2002-04-04 19:04:09 +00:00
mostang.com!davidm
4208867819 (unw_is_fpreg): New macro.
(Logical change 1.11)
2002-04-04 19:04:09 +00:00
hp.com!davidm
f1d10c0fb3 (unw_tdep_save_loc_t): New type.
(Logical change 1.10)
2002-04-03 06:51:34 +00:00
hp.com!davidm
48da72afd7 (unw_save_loc_t): New member "extra" to hold arch-specific save-location info.
(unw_get_save_loc): Define.

(Logical change 1.10)
2002-04-03 06:51:34 +00:00
mostang.com!davidm
99639fb162 Rename UNW_IA64_CURRENT_BSP to UNW_IA64_BSP.
(Logical change 1.9)
2002-04-01 23:01:22 +00:00
mostang.com!davidm
70dd4fbccf (unw_save_loc_type_t): New type.
(unw_save_loc_t): New type.
(get_save_loc): New prototype.

(Logical change 1.9)
2002-04-01 23:01:22 +00:00
mostang.com!davidm
96e3133a62 Remove include of libunwind-config.h. Include libunwind-tdep.h instead of
opencoding an architecture-specific include.

2002/02/23 12:16:40-08:00 mostang.com!davidm
Rename: include/libunwind.h.in -> include/libunwind.h

(Logical change 1.7)
2002-02-23 20:27:03 +00:00
mostang.com!davidm
95ce9146a7 Initial revision 2002-02-23 20:27:03 +00:00
mostang.com!davidm
9da5d9e6ec Delete: include/libunwind-config.h
}(Logical change 1.7)
2002-02-23 20:27:03 +00:00
mostang.com!davidm
1a9fe6168d (Logical change 1.7) 2002-02-23 20:27:03 +00:00
(none)!davidm
0d1108748f Delete: include/config.h
}(Logical change 1.6)
2002-02-22 22:09:28 +00:00
(none)!davidm
cfdd6ece84 Include architecture-specific header file first and then define
various other types and constants based on it.
(unw_error_t): A UNW_EINVAL, UNW_EBADVERSION, and UNW_ENOINFO.
(unw_frame_regnum_t): Instead of hardcoding the numbers for the
	well-known frame registers, use the architecture-specific
	(target-dependent) values instead.

(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
cd66944a2c (unw_tdep_word_t): New type.
(ia64_regnum_t): Define well-known frame registers here and add
	TDEP-aliases for use by libunwind.h.
(unw_ia64_table_t): Use unw_tdep_word_t instead of unw_word_t so this
	file can be included by libunwind.h.
	Change type of "array" member to void *.  On OSes that support
	ILP32, it may point to a 32-bit unwind table.

(Logical change 1.5)
2002-02-22 21:58:53 +00:00
mostang.com!davidm
7fbfe0a255 (Logical change 1.3) 2002-02-15 23:22:05 +00:00
mostang.com!davidm
63669f7ad4 Initial revision 2002-02-15 23:22:05 +00:00