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

1165 commits

Author SHA1 Message Date
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
15eec54cc8 (do_backtrace): Replace reading of UNW_REG_PROC_START, UNW_REG_HANDLER, and
UNW_REG_LSDA with call to unw_get_proc_info().

(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
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
hp.com!davidm
edaa11ccfe First (rought) draft of an API to support dynamic code generation.
BKrev: 3ddee40eGymjbeNAPfICExNXHdkJcQ
2002-11-23 02:12:30 +00:00
mostang.com!davidm
acdc3566a4 Regenerate.
(Logical change 1.27)
2002-11-16 06:50:04 +00:00
mostang.com!davidm
9f4a51e8cf Mention new files.
(Logical change 1.27)
2002-11-16 06:50:04 +00:00
mostang.com!davidm
eeedef96bb Introduce the concept of an "address-space" to more cleanly support remote-unwinding
of multiple address spaces (as might arise for a multi-process debugger, for example).
Impace on existing libunwind users should be minimal:

	unw_init_remote(cursor, accessors);

needs to be changed to:

	as = unw_create_addr_space(accessors);
	if (!as)
	  error;
	else
	  unw_init_remote(cursor, as, as_arg);

where "as_arg" is the argument ("arg") that used to be stored
in the accessors structure.  Everything else is the same.

BKrev: 3dd5ea9cOx-Y3gnNoajvFfm4KaPCww
2002-11-16 06:50:04 +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
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
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
d1ded59cb0 Switch to MIT license.
BKrev: 3dd5bab07jnB20RQi_e_96h6MYUilg
2002-11-16 03:25:36 +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
445f16a033 Switch to MIT license.
(Logical change 1.25)
2002-11-16 03:23:11 +00:00
mostang.com!davidm
780af9ac22 COPYING:
Switch to MIT license.

BKrev: 3dd5ba1f8tIu5-CzeHGzhZEzhZ7xvQ
2002-11-16 03:23:11 +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
790d1442a0 unwind_i.h:
Fix typo in ia64_put()

BKrev: 3dd3f5bap3o97WXkkQDRPTgDWG87Uw
2002-11-14 19:12:58 +00:00
hp.com!davidm
0216fd8f07 ia64: Add missing update to unwind_i.h to support multiple script
caches.

BKrev: 3dd04ecbpgFa9YdMJbnJaVKCuH2ZcQ
2002-11-12 00:43:55 +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
fb2c7eb56d Regenerate.
(Logical change 1.22)
2002-11-09 07:59:02 +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
74fc55a61a Add routines to control caching policy. The caching policy can be set to
(1) single (global) cache, (2) per-thread cache, or (3) no cache at all.
This is loosely based on a per-thread cache patch by Brian Sumner.

BKrev: 3dccc046NlGdtX_BSyDVZDR6vE4lIw
2002-11-09 07:59:02 +00:00
mostang.com!davidm
0a7fdb7878 Add call to LIBUNWIND___THREAD.
(Logical change 1.22)
2002-11-09 07:59:02 +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
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
56c93299f0 (LIBUNWIND__THREAD): New test.
(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
027b1d967f Regenerated with automake.
(Logical change 1.21)
2002-11-09 03:59:27 +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
dee2508b2c (Logical change 1.21) 2002-11-09 03:59:27 +00:00
mostang.com!davidm
9f708e3bb2 Initial revision 2002-11-09 03:59:27 +00:00
mostang.com!davidm
8da6258e3e Fix comment regarding frame and preserved registers.
Add a note on the meaning of of UNW_IA64_BSP.

(Logical change 1.21)
2002-11-09 03:59:27 +00:00