1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-07-04 22:35:36 +02:00
Commit graph

120 commits

Author SHA1 Message Date
mostang.com!davidm 8f82941a84 (script_finalize): Also initialize the proc_info.
(build_script): For signal-frames, generate an instruction that will set
	is_signal_frame to TRUE.

2002/12/11 12:27:36-08:00 mostang.com!davidm
Rename: src/ia64/script.c -> src/ia64/Gscript.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm 13032ebce3 (local_find_proc_info): New function.
(remote_find_proc_info): Ditto.

}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm dea15a73d0 (is_local_addr_space): New function.
(tdep_search_unwind_table): Rename from _Uia64_search_unwind_table() and declare as
	HIDDEN.  Allocate (if needed) and fill in unwind_info only if requested.
(tdep_put_unwind_info): New function.
(_Uia64_find_proc_info): Add "need_unwind_info" argument and declare as HIDDEN.

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm f96f12879c (get_proc_info): Take additional "need_unwind_info" argument and set pi_valid
and pi_is_dynamic flags in the cursor structure.
(put_unwind_info): New function.
(create_state_record_for): Release unwind-info via a call to put_unwind_info() after
	we're done parsing it.

}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm 8578dc1e6d (get_proc_info): Take additional "need_unwind_info" argument and set pi_valid
and pi_is_dynamic flags in the cursor structure.
(put_unwind_info): New function.
(create_state_record_for): Release unwind-info via a call to put_unwind_info() after
	we're done parsing it.

2002/12/11 12:27:25-08:00 mostang.com!davidm
Rename: src/ia64/parser.c -> src/ia64/Gparser.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm 2e0505826f (common_init): Clear "is_signal_frame". Instead of calling ia64_make_proc_info(),
simply clear "pi_valid" flag.

(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 b691bb1300 (Logical change 1.29) 2002-12-03 08:19:58 +00:00
mostang.com!davidm 612e33825c Initial revision 2002-12-03 08:19:58 +00:00
mostang.com!davidm 214827cae8 (update_frame_state): Do an early return if IP is zero (end of chain).
(Logical change 1.29)
2002-12-03 08:19:58 +00:00
mostang.com!davidm 1c1b6a171f (unw_regname): Remove names for UNW_REG_PROC_START, UNW_REG_HANDLER, and
UNW_REG_LSDA.

(Logical change 1.29)
2002-12-03 08:19:58 +00:00
mostang.com!davidm 83f2952a86 (unw_get_save_loc): Remove handling of UNW_REG_PROC_START, UNW_REG_HANDLER,
and UNW_REG_LSDA.

(Logical change 1.29)
2002-12-03 08:19:58 +00:00
mostang.com!davidm 22c1128cf7 (struct ia64_table_entry): New type (moved from unwind_i.h).
(lookup): New function (moved from parser.c).
(_Uia64_search_unwind_table): New function (based on code in parser.c).
(kernel_table): New variable.
(get_kernel_table): Relocate the kernel table's "info_offset" values as we
	count it.  Adjust for new callback-interface.
(callback): Adjust for new interface.
(_Uia64_find_proc_info): Rename from _Uia64_glibc_acquire_unwind_info).

}(Logical change 1.29)
2002-12-03 08:19:58 +00:00
mostang.com!davidm 42fdeb430b (struct ia64_table_entry): New type (moved from unwind_i.h).
(lookup): New function (moved from parser.c).
(_Uia64_search_unwind_table): New function (based on code in parser.c).
(kernel_table): New variable.
(get_kernel_table): Relocate the kernel table's "info_offset" values as we
	count it.  Adjust for new callback-interface.
(callback): Adjust for new interface.
(_Uia64_find_proc_info): Rename from _Uia64_glibc_acquire_unwind_info).

2002/11/27 16:44:37-08:00 mostang.com!davidm
Rename: src/ia64/tables-glibc.c -> src/ia64/tables.c

(Logical change 1.29)
2002-12-03 08:19:58 +00:00
mostang.com!davidm d49825fd74 (struct ia64_script): Change type of "pi" member from struct ia64_proc_info to
unw_proc_info_t.

(Logical change 1.29)
2002-12-03 08:19:58 +00:00
mostang.com!davidm c97d8cdab4 (struct ia64_proc_info): Delete.
(struct ia64_cursor): Change type of "pi" member from struct ia64_proc_info to
	unw_proc_info_t.
(struct unw_addr_space): Declare "acc" member even for UNW_LOCAL_ONLY case.
(ia64_acquire_unwind_info): Delete
(ia64_relesae_unwind_info): Ditto.
(ia64_find_proc_info): New routine.
(struct ia64_unwind_table_entry): Delete.
(struct ia64_unwind_talbe): Ditto.
(struct ia64_global_unwind_state): Remove "unwind_table_pool" member.
(ia64_get_proc_info): Rename to ia64_make_proc_info().

(Logical change 1.29)
2002-12-03 08:19:58 +00:00
mostang.com!davidm 75952fdf41 (ia64_local_resume): Adjust for new address-space argument.
(Logical change 1.29)
2002-12-03 08:19:58 +00:00
mostang.com!davidm 1170560e62 (ia64_access_reg): Remove handling of UNW_REG_PROC_START, UNW_REG_HANDLER, and
UNW_REG_LSDA.

(Logical change 1.29)
2002-12-03 08:19:58 +00:00
mostang.com!davidm 5ef3b80ed0 (get_script_cache): Flush cache only if the generation-numbers differ.
(Logical change 1.29)
2002-12-03 08:19:58 +00:00
mostang.com!davidm b8802b5c11 (finish_prologue): Iterate over "mask" only if it is non-zero.
(lookup_preg): New function.
(parse_dynamic): Ditto.
(get_proc_info): Take explicit IP argument.
(create_state_record_for): New function, containing most of the code originally
	in ia64_create_state_record().  Don't forget to initialize
	sr->first_region.  Check c->pi.format and parse unwind descriptors or
	dynamically registered unwind info accordingly.
(ia64_get_proc_info): Adjust for extra argument expected by get_proc_info().
(ia64_create_state_record): Do interesting work by calling create_state_record_for().

(Logical change 1.29)
2002-12-03 08:19:58 +00:00
mostang.com!davidm 3ab317eef5 (common_init): Adjust for rename of ia64_get_proc_info() to ia64_make_proc_info().
(Logical change 1.29)
2002-12-03 08:19:58 +00:00
mostang.com!davidm cfae46ade6 (access_mem): Adjust for fact that address-space is now passed as first arg.
(access_reg): Ditto.
(access_fpreg): Ditto.
(ia64_init): Remove initializationof unw.unwind_table_pool.  Initialize accessors
	even for UNW_LOCAL_ONLY case.

(Logical change 1.29)
2002-12-03 08:19:58 +00:00
mostang.com!davidm f277006b83 (Logical change 1.27) 2002-11-16 06:50:04 +00:00
mostang.com!davidm f6ba78341f Initial revision 2002-11-16 06:50:04 +00:00
mostang.com!davidm 5287e145c3 (unw_set_caching_policy): Adjust for new interface.
(Logical change 1.27)
2002-11-16 06:50:04 +00:00
mostang.com!davidm 772f423852 (unw_local_addr_space): Define here.
(local_addr_space): New variable.
(uc_addr): Move here from unw_init_local.c.
(_Uia64_uc_addr): Ditto.
(access_mem): Ditto.
(access_reg): Ditto.
(access_fpreg): Ditto.
(ia64_init) [!UNW_REMOTE_ONLY]: Initialize local_addr_space.

(Logical change 1.27)
2002-11-16 06:50:04 +00:00
mostang.com!davidm 1481ba336b (unw_init_remote): Adjust for new interface.
(Logical change 1.27)
2002-11-16 06:50:04 +00:00
mostang.com!davidm 349dc592e1 (unw_init_local): Initialize c->as_arg with context-pointer (instead of c->uc).
(Logical change 1.27)
2002-11-16 06:50:04 +00:00
mostang.com!davidm 22e898a099 (unw_get_save_loc): Adjust for fact that context pointer is now stored in
c->as_arg, which is a "void *".

(Logical change 1.27)
2002-11-16 06:50:04 +00:00
mostang.com!davidm 09eaf30ca4 (unw_flush_cache): Adjust for new arguments.
(Logical change 1.27)
2002-11-16 06:50:04 +00:00
mostang.com!davidm 9f93a9d0da (ia64_local_resume): Move here from unw_init_local().
(Logical change 1.27)
2002-11-16 06:50:04 +00:00
mostang.com!davidm 40e5cd3ca7 (get_proc_info): Adjust for move of "tables" member into the address-space structure.
(ia64_get_proc_info): Always compile-in script-lookup, but check script-cache only
	if caching is enabled.

(Logical change 1.27)
2002-11-16 06:50:04 +00:00
mostang.com!davidm b5e3d308ef (flush_script_cache): Take additional "address-space" argument.
(get_script_cache): Ditto.
(script_lookup): Renamed from ia64_script_lookup() and add "address-space" argument.
(ia64_script_lookup): New function.
(build_script): Get script from the caller instead of via script_new().
(ia64_find_save_locs): If caching is disabled, create a temporary script and
	do not update the script cache.

(Logical change 1.27)
2002-11-16 06:50:04 +00:00
mostang.com!davidm 07beae63f4 (common_init): Initialize c->hint and c->prev_script unconditionally.
(Logical change 1.27)
2002-11-16 06:50:04 +00:00
mostang.com!davidm 007805c65a (access_nat) [UNW_LOCAL_ONLY]: Adjust for fact that context-pointer is now stored
in c->as_arg, which is a "void *".

(Logical change 1.27)
2002-11-16 06:50:04 +00:00
mostang.com!davidm 990790c880 (
(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
model.com!marky c2262737f7 Fix typo in ia64_put()
(Logical change 1.24)
2002-11-14 19:12:58 +00:00
hp.com!davidm 126ca10566 Remove IA64_UNW_SCRIPT_CACHE macro. Move script cache info into
separate ia64_script_cache structure.
(unw.cache_generation): New member.
(unw.global_cache): Ditto.
(ia64_per_thread_cache): New macro.
(ia64_script_cache_init): Ditto.
(ia64_script_cache_init): Add declaration.

(Logical change 1.23)
2002-11-12 00:43:55 +00:00
mostang.com!davidm aca9360701 (Logical change 1.22) 2002-11-09 07:59:02 +00:00
mostang.com!davidm e04493ac30 Initial revision 2002-11-09 07:59:02 +00:00
mostang.com!davidm 57c6184925 (struct unw): Remove "hash" member.
(ia64_init): Replace cache-initialization with call to ia64_script_cache_init().

(Logical change 1.22)
2002-11-09 07:59:02 +00:00
mostang.com!davidm e196ffd7eb (struct ia64_script_cache): New structure (broken out from global unwind state).
(Logical change 1.22)
2002-11-09 07:59:02 +00:00
mostang.com!davidm d7d0463d0b (ia64_per_thread_cache) [HAVE___THREAD]: New variable.
(flush_script_cache): New function.
(get_script_cache): Ditto.
(ia64_script_lookup): Modify to support multiple (in particular: per-thread) caches.
(script_new): Add explicit "cache" pointer argument.
(ia64_script_lookup): Add multi-cache support.
(build_script): Ditto.
(ia64_find_save_locs): Ditto.
(ia64_script_cache_init): New function.

(Logical change 1.22)
2002-11-09 07:59:02 +00:00
mostang.com!davidm e633236827 (ia64_getfp): Change from macro to inline function. Check "loc" argument for
being NULL before dereferencing it.
(ia64_putfp): Ditto.
(ia64_get): Ditto.
(ia64_put): Ditto.

(Logical change 1.21)
2002-11-09 03:59:27 +00:00
mostang.com!davidm 4583a3fc27 Fix bugs reported by Robert Faught:
(unw_get_save_loc): Handle b6 like b7.
(unw_get_save_loc): Fix typo: "if (!sloc)" was meant to be "if (!loc)".

(Logical change 1.21)
2002-11-09 03:59:27 +00:00
mostang.com!davidm 6a0ac2b8a4 (ia64_scratch_loc): Handle b6 like b7. Reported by Robert Faught.
(ia64_access_reg): Ditto.

(Logical change 1.21)
2002-11-09 03:59:27 +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 b04ff63c65 (update_frame_state): Print debug output when catching sigcontext location.
(Logical change 1.19)
2002-07-18 03:58:34 +00:00