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

1200 commits

Author SHA1 Message Date
hp.com!davidm
22ca263109 (ia64_init): To prevent a race, unw.needs_initialization must be cleared
_after_ everything is initialized.

(Logical change 1.121)
2003-11-24 18:33:44 +00:00
hp.com!davidm
ca11999d9d (UPTi_find_unwind_table): Drop bogus range-check.
(Logical change 1.120)
2003-11-22 06:29:32 +00:00
hp.com!davidm
40e929815c (unw.pre_name): Add missing register names.
(Logical change 1.119)
2003-11-22 06:25:00 +00:00
hp.com!davidm
8b3248c32e (unw_set_caching_policy): If caching-policy didn't change, return
early.  Always flush cache after changing the policy.
	This is to ensure that the per-thread cache gets initialized
	and no stale info remains.

(Logical change 1.118)
2003-11-22 06:21:26 +00:00
hp.com!davidm
2245be9d9b (get_script_cache): Need to disable signal-delivery even for per-thread
caching.
(put_script_cache): Need to re-enable signal-delivery even for
	per-thread caching.

(Logical change 1.118)
2003-11-22 06:21:26 +00:00
hp.com!davidm
8d7426fe0a (linux_scratch_loc): Add a default-case which simply returns the
register-location.  This is so that special-cases such
	as r0 are handled properly.

(Logical change 1.117)
2003-11-22 06:16:20 +00:00
hp.com!davidm
2c9be974dc Regenerate.
(Logical change 1.115)
2003-11-22 06:08:20 +00:00
mostang.com!davidm
e83a184218 Regenerate.
(Logical change 1.114)
2003-11-20 01:10:03 +00:00
hp.com!davidm
c3328ce150 Delete: src/ia64/TODO
}(Logical change 1.113)
2003-11-19 23:15:58 +00:00
mostang.com!davidm
e5cf56ec1c (mi_init): Initializing unwi_full_sigmask is too late here, it needs to be done in the
arch-specific initialization, so that thread-safety can be guaranteed.

(Logical change 1.112)
2003-11-19 06:18:27 +00:00
mostang.com!davidm
6b2855500a (ia64_init): Move initialization of unwi_full_sigmask to here, from mi_init().
(Logical change 1.112)
2003-11-19 06:18:27 +00:00
hp.com!davidm
add6b939a0 (unw_set_caching_policy): Let ia64_init() clear unw.needs_initialization.
(Logical change 1.111)
2003-11-19 03:11:25 +00:00
hp.com!davidm
f5f706c35e (unw_init_remote): Let ia64_init() clear unw.needs_initialization.
(Logical change 1.111)
2003-11-19 03:11:25 +00:00
hp.com!davidm
3551d42d45 (unw_init_local): Let ia64_init() clear unw.needs_initialization.
(Logical change 1.111)
2003-11-19 03:11:25 +00:00
hp.com!davidm
9b47e7723f (unw_get_accessors): Let ia64_init() clear unw.needs_initialization.
(Logical change 1.111)
2003-11-19 03:11:25 +00:00
hp.com!davidm
8e71bb0ab2 (unw): Initialize "lock" member. Switch to ANSI99-style initializers.
(ia64_init): Use unw.lock to protect against races during
	initialization.  Disable signal delivery during initialization
	to ensure thread-safety (e.g., unw_init_local() may call
	ia64_init() and the former must be thread-safe).

(Logical change 1.111)
2003-11-19 03:11:25 +00:00
hp.com!davidm
6b6a0079e6 Update copyright year.
Minor formatting changes.

(Logical change 1.110)
2003-11-18 21:47:51 +00:00
hp.com!davidm
c55348de6e Update copyright year.
(Logical change 1.110)
2003-11-18 21:47:51 +00:00
com[davidm]!hans_boehm
434b9ffcfe x86: fix unw_is_signal_frame() and unwinding across signal handlers
(Logical change 1.109)
2003-11-18 21:29:40 +00:00
com[davidm]!hans_boehm
864270533f Initial revision 2003-11-18 21:29:40 +00:00
hp.com!davidm
e70d39ae8e (create_state_record_for): Drop extraneous clearing of
sr->return_link_reg.  The entire structure is getting
	cleared via memset() already!

(Logical change 1.108)
2003-11-15 09:46:17 +00:00
hp.com!davidm
656e9d6e7d (_Uia64_search_unwind_table): Correct off-by-8 error in calculating
personality-routine and LSDA address and dont' forget to
	dereference the personality-routine function-pointer, so we
	really get the address of the function-descriptor of the
	personality routine.
(callback): Set the segment-base based on the segment that contains
	the unwind-table.  Normally, that the text segment but in
	special cases, such as the kernel's gate DSO, it will be
	in a different segment.

(Logical change 1.108)
2003-11-15 09:46:17 +00:00
hp.com!davidm
233952e855 (unw_get_save_loc): Handle floating-point registers as well.
(Logical change 1.107)
2003-10-11 01:06:49 +00:00
hp.com!davidm
bcbdc591be (unw_get_save_loc): Fix double negation.
(Logical change 1.105)
2003-10-11 00:59:02 +00:00
hp.com!davidm
8aff3354e2 Mention x86/set_caching_policy-x86.c.
(Logical change 1.104)
2003-09-25 05:29:14 +00:00
hp.com!davidm
b3c9ffcf39 Initial revision 2003-09-25 05:29:14 +00:00
hp.com!davidm
87e2dfb9af (unw_regname): Fix signed/unsigned comparison.
(Logical change 1.104)
2003-09-25 05:29:14 +00:00
hp.com!davidm
522e2ccbe0 (sos_alloc): Do type-punning through a union to be ANSI-9x compliant
and avoid a warning from gcc.

(Logical change 1.104)
2003-09-25 05:29:14 +00:00
hp.com!davidm
71650257d7 (lookup_symbol): Cast arguments to debug printf() so they compile
without warning on both 32- and 64-bit platforms.

(Logical change 1.104)
2003-09-25 05:29:14 +00:00
hp.com!davidm
2f3b37da51 (_UPT_access_reg): Cast arguments to debug printf so they compile
without warning on both 32- and 64-bit platforms.

(Logical change 1.104)
2003-09-25 05:29:14 +00:00
hp.com!davidm
a99bac423b (_UPT_access_mem): Cast arguments to debug printf so that it
compiles without worning both on 64-bit and 32-bit platforms.

(Logical change 1.104)
2003-09-25 05:29:14 +00:00
hp.com!davidm
e4be4f9dc5 (Logical change 1.104) 2003-09-25 05:29:14 +00:00
hp.com!davidm
350ae98340 (local_resume): Clear IA64_SC_FLAG_IN_SYSCALL before resuming via
sigreturn().  This is needed to ensure that all scratch-regs
	get restored.  Also add some more debug statements.

(Logical change 1.103)
2003-09-25 05:08:18 +00:00
hp.com!davidm
d0fddf5de8 (ia64_find_save_locs): Only call ia64_fetch_proc_info() when we really
have to (i.e., if we don't have cached info).  Otherwise,
	the unnecessary calls cause a performance regression.

(Logical change 1.102)
2003-09-24 21:56:42 +00:00
mostang.com!davidm
b3c1bf3f75 (flush_script_cache): Drop addr_space_t argument. Initialize
hash-table, collision-chains, and hash-table in addition
	to clearing the script's IP value.  The latter wasn't nearly
	sufficient because it could cause loops on the collision
	chain...
(get_script_cache): Also lock the cache if global caching is in
	effect.  Take additional "saved_sigmaskp" argument.
	After flushing the cache, update the cache generation
	here.
(put_script_cache): New function.
(ia64_get_cached_proc_info): Adjust for get_script_cache() and
	put_script_cache() changes.
(ia64_find_save_locs): Ditto.
(ia64_script_cache_init): Call flush_script_cache() instead of
	opening-coding the equivalent code.

(Logical change 1.96)
2003-09-19 06:56:12 +00:00
mostang.com!davidm
510a7c82f7 (unw_is_signal_frame): Call ia64_fetch_proc_info() before creating
the state-record.

(Logical change 1.95)
2003-09-18 06:09:22 +00:00
mostang.com!davidm
cbf1d7d56b (parse_dynamic): Call ia64_fetch_proc_info() before creating the
state-record.
(ia64_fetch_proc_info): Rename from get_proc_info().
(create_state_record_for): Assert that c->pi_valid is TRUE at the
	time of entry.  Remove call to get_proc_info().

(Logical change 1.95)
2003-09-18 06:09:22 +00:00
mostang.com!davidm
46f5783f5d (ia64_find_save_locs): Call ia64_fetch_proc_info() early on and
bug out if it fails (before creating a new script).

(Logical change 1.95)
2003-09-18 06:09:22 +00:00
mostang.com!davidm
d6946f580b (ia64_fetch_proc_info): New procedure.
(Logical change 1.95)
2003-09-18 06:09:22 +00:00
mostang.com!davidm
117b21a1cf (unw_create_addr_space): Initialize global script-cache here (while
there are no other threads using the cache).

(Logical change 1.94)
2003-09-18 06:01:09 +00:00
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
mostang.com!davidm
515fd742bd (Logical change 1.59) 2003-03-06 06:14:36 +00:00
hp.com!davidm
57f0163a91 Auto merged
2003/03/04 16:13:44-08:00 hp.com!davidm
(EXTRA_DIST): New macro.  Mention elfxx.h and elfxx.c.  Reported by
	Arun Sharma.

(Logical change 1.58)
2003-03-05 00:13:58 +00:00
mostang.com!davidm
d6a0aa7059 Rename "epilogue_start" to "when_sp_restored".
(parse_dynamic): Fix it so it actually works.
(create_state_record_for): Initialize return_link_reg to zero.
	Don't print "no unwind info" unconditionally when UNW_DEBUG is
	in effect.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
26f95915e4 Regenerate.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
e31015f67f (Logical change 1.56) 2003-02-27 09:58:57 +00:00
mostang.com!davidm
1de6745d5b Initial revision 2003-02-27 09:58:57 +00:00
mostang.com!davidm
4001ce198a (unwi_get_proc_name): For static procedures, use get_proc_name() callback if it's
non-NULL.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
6a9c819f7f (unwi_extract_dynamic_proc_info): Clear lsda and unwind_info_size for
dynamic-info format.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
5428fc6295 (unw): Move "psp" member before "bsp_loc".
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
03950aaf01 (lookup_symbol): Print debug output only at very high debug-level.
(get_proc_name): Take "pid" argument.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
68c970298d (libunwind_la_SOURCES_cdep): Mention _UPT_get_proc_name.c.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
4c09dd6429 (intern_regions): Allow for empty region-list.
(intern_dyn_info): Skip over padding rather than fetching it.
	Start intern_regions() at address of first region, not just at the next
	sequential address.
(unwi_dyn_remote_find_proc_info): Allocate "di" dynamically (it needs to persist
	until put_unwind_info() is called).

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
77ccc28ad9 (ia64_state_record): Rename epilogue_start to when_sp_restored.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
5939c41c09 (get_static_proc_name): New function.
(ia64_local_addr_space_init): Initialize get_proc_name callback.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
a3806e7c16 (get_proc_name): Add "pid" argument.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
8bd0572f34 (build_script): Document the fact that we need IA64_REG_PSP to get compiled first.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
153f625eed (_UPTi_find_unwind_table): Double-check that punw is inside ptxt segment.
(get_unwind_info): Double-check to verify that returned dynamic-info is indeed
	for the procedure that we requested.

(Logical change 1.56)
2003-02-27 09:58:57 +00:00
mostang.com!davidm
cb2620b0fd (_UPT_accessors): Initialize get_proc_name callback.
(Logical change 1.56)
2003-02-27 09:58:57 +00:00
hp.com!davidm
bd93c64f01 (update_frame_state): Update the IP-cache before doing anything else.
If we reached the en of the frame-chain, then the remaining
	registers may not be valid/accessible anymore.

(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
1fc6f4e6b3 (unwi_dyn_remote_find_proc_info): If anything goes wrong, return -UNW_ENOINFO.
Skip over "prev_addr".  Read start/end-IP directly into the "di" structure,
	not into temporary variables.  Skip padding by directly adjusting the
	address (don't bother fetching padding values; that only slows things down).
	Return 0 only if we really did find dynamic unwind info.

(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
95a55361c8 (uc_addr): Allow (readonly) access to r0/nat0 to support ".save rp, r0" idiom.
(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
8d4f6ff52d (rbs_contains): Tighten debug output.
(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
54eda6d6fc (_Uia64_find_dyn_list): Add "gp" argument.
Fix typo in address-offset for the "off" variable.
	Adjust for the fact that the dyn-info list address is now gp-relative.

(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
5660a59ba1 (_U_dyn_info_list): Mark it as .hidden so we can do a @gprel() reloc against it.
(.info): Use @gprel() reloc instead of @segrel() reloc for _U_dyn_info_list.
	The latter doesn't work because the unwind-info is in a different segment.
(ia64_init): Clear unw.r0.

(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
c4b73c6198 (_UPT_get_dyn_info_list_addr): Add debug statements.
Correct pre-increment to post-increment.

(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
2fbf4cece7 (_UPT_access_reg): Allow reading of r0 (UNW_IA64_GR+0) to support ".save rp, r0"
idiom.

(Logical change 1.55)
2003-02-26 08:33:57 +00:00
mostang.com!davidm
31c7612938 Regenerate.
(Logical change 1.54)
2003-02-22 08:19:43 +00:00
mostang.com!davidm
a3157347f9 (unwi_get_proc_name): Drop "is_local" argument. Test "as" against
"unw_local_addr_space" instead.

}(Logical change 1.54)
2003-02-22 08:19:43 +00:00
mostang.com!davidm
824ec53659 (unwi_get_proc_name): Drop "is_local" argument. Test "as" against
"unw_local_addr_space" instead.

2003/02/21 22:03:46-08:00 mostang.com!davidm
Rename: src/get_proc_name.c -> src/Gget_proc_name.c

(Logical change 1.54)
2003-02-22 08:19:43 +00:00
mostang.com!davidm
3434090e32 (Logical change 1.54) 2003-02-22 08:19:43 +00:00
mostang.com!davidm
5d9d17a5e8 Initial revision 2003-02-22 08:19:43 +00:00
mostang.com!davidm
9d5c1bc580 In error messages, replace "unwind:" by "libunwind:".
(desc_prologue): Fix handling of region_start so it doesn't get corrupted by
	state-record pushing/popping.
(parse_dynamic): Allow the last region to contain a negative insn_count, indicating
	that the region covers the last portion of a procedure.

(Logical change 1.54)
2003-02-22 08:19:43 +00:00
mostang.com!davidm
7412722854 (unw_get_proc_name): Drop "is_local" argument in call to unwi_get_proc_name).
(Logical change 1.54)
2003-02-22 08:19:43 +00:00
mostang.com!davidm
2f852c2e12 (libunwind_la_SOURCES_common): Replace get_proc_name.c with Gget_proc_name.c and
Lget_proc_name.c.

(Logical change 1.54)
2003-02-22 08:19:43 +00:00
hp.com!davidm
bb4f71708d Minor formatting fix.
(Logical change 1.53)
2003-02-22 03:08:22 +00:00
hp.com!davidm
2b0b48fd8a (remote_install_cursor): Implement it.
(Logical change 1.53)
2003-02-22 03:08:22 +00:00
mostang.com!davidm
cb4fb05032 (rotate_gr): Only print debug info if size-of-rotating-partition is non-zero.
(rotate_fr): Only print debug info if rotation-base is non-zero.

(Logical change 1.52)
2003-02-21 07:36:26 +00:00
mostang.com!davidm
749cd25529 (rbs_underflow): Remove.
(rbs_contains): New function.

(Logical change 1.52)
2003-02-21 07:36:26 +00:00
mostang.com!davidm
0d0c84f63c (rbs_switch): Rename from rbs_record_switch() and greatly simplify it because
we now switch to the new backing-store immediately.
(rbs_underflow): Remove.
(rbs_find_stacked): No longer assume that c->bsp is contained in the current
	rbs.  If it is not, first find the backing-store that's backing c->bsp.
(rbs_cover_and_flush): Use rbs_contains() instead of (broken) open code.
	Handle the case where the initial bsp points to an RNaT slot.

(Logical change 1.52)
2003-02-21 07:36:26 +00:00
mostang.com!davidm
8a621f78ff (common_init): Drop initialization of c->rbs_right_edge.
Initialize size of first rbs_area[] to 1<<63 so that we can maintain
	a notion of "above" and "below".

(Logical change 1.52)
2003-02-21 07:36:26 +00:00
mostang.com!davidm
77821808ab (check_rbs_switch): Mark it as "inline". Make rbs_record_switch() the last call.
(update_frame_state): Remove conditional call to rbs_underflow().

(Logical change 1.52)
2003-02-21 07:36:26 +00:00
mostang.com!davidm
6af90d0df4 Regenerate.
(Logical change 1.50)
2003-02-15 08:53:55 +00:00
mostang.com!davidm
d8023cf208 (unw_set_caching_policy): Call ia64_init() first if necessary.
(Logical change 1.49)
2003-02-15 08:49:55 +00:00
mostang.com!davidm
d55a7f7dd4 (rbs_cover_and_flush): Also update c->rnat_loc as needed.
(Logical change 1.49)
2003-02-15 08:49:55 +00:00
mostang.com!davidm
b8c178177a (ia64_local_resume): Remove unused variable "loadrs".
(Logical change 1.49)
2003-02-15 08:49:55 +00:00
hp.com!davidm
eb44c3a6d5 Move include of ia64intrin.h after include of "unwind_i.h".
(Logical change 1.48)
2003-02-15 03:10:30 +00:00
hp.com!davidm
ad066d35b7 Do nothing of UNW_REMOTE_ONLY is defined.
(Logical change 1.48)
2003-02-15 03:10:30 +00:00
hp.com!davidm
cd6b1537ce (unwi_get_proc_name): If UNW_REMOTE_ONLY is defined and the procedure
isn't a dynamically generated one, just punt and return
	-UNW_ENOINFO.

(Logical change 1.48)
2003-02-15 03:10:30 +00:00
hp.com!davidm
89344cf672 (local_find_proc_info): Define only if not UNW_REMOTE_ONLY.
(Logical change 1.48)
2003-02-15 03:10:30 +00:00
hp.com!davidm
7fd45d122c (create_state_record_for): Use dprintf(), not printf().
(Logical change 1.48)
2003-02-15 03:10:30 +00:00
mostang.com!davidm
70ee73612e Minor reformatting to make it fit in 80 cols.
(get_rnat): New function.
(rbs_cover_and_flush): Ditto.


(Logical change 1.47)
2003-02-14 06:25:36 +00:00
mostang.com!davidm
5cef5934e8 Auto merged
2003/02/13 22:21:59-08:00 mostang.com!davidm
(libunwind_la_SOURCES_ia64): Mention elf64.h.

(Logical change 1.47)
2003-02-14 06:25:36 +00:00
mostang.com!davidm
32a1dc6be5 (rbs_cover_and_flush): Declare.
(_Uia64_install_context): Drop loadrs argument from declaration.

(Logical change 1.47)
2003-02-14 06:25:36 +00:00
mostang.com!davidm
02c8c0cdae (ia64_local_resume): Use rbs_cover_and_flush() to linearize the contents of the
current register frame before resuming execution.  Drop loadrs argument
	from call to _Uia64_install_context().

(Logical change 1.47)
2003-02-14 06:25:36 +00:00
mostang.com!davidm
03f6e9b004 (_Uia64_install_context): Drop "loadrs" argument and adjust code accordingly.
(Logical change 1.47)
2003-02-14 06:25:36 +00:00
hp.com!davidm
4dca76319d [REMOTE_ONLY]: Mention dummy "install-exec-hook".
(libunwind_la_SOURCES_cdep): Mention dyn-cancel.c and dyn-register.c.
(libunwind_la_SOURCES_common): Remove dyn-cancel.c and dyn-register.c

(Logical change 1.46)
2003-02-14 03:09:27 +00:00
hp.com!davidm
49f992ac07 Mention !UNW_REMOTE_ONLY on #else branch.
(Logical change 1.46)
2003-02-14 03:09:27 +00:00
hp.com!davidm
7372c6cc43 (unw_flush_cache): Only uses __sync_fetch_and_add() if
HAVE_IA64INTRIN_H is defined.  Otherwise, do non-atomic
	increment (and issue compile-time warning about it).

(Logical change 1.46)
2003-02-14 03:09:27 +00:00
hp.com!davidm
3980b80e26 (is_local_addr_space): Always return 0 for UNW_REMOTE_ONLY.
(_Uia64_search_unwind_table): Add a cast to avoid compiler-warning
	when cross-compiling from a 32-bit platform.

(Logical change 1.46)
2003-02-14 03:09:27 +00:00
hp.com!davidm
d7c5192ef8 (ia64_init): Don't call _Uia64_local_addr_space_init() or
_ULia64_local_addr_space_init() for UNW_REMOTE_ONLY.

(Logical change 1.46)
2003-02-14 03:09:27 +00:00
hp.com!davidm
ec91b0fce5 (get_unwind_info): Remove unused arguments "pi" and "need_unwind_info".
(__UPT_find_proc_info): Adjust get_unwind_info() call accordingly.

(Logical change 1.46)
2003-02-14 03:09:27 +00:00
mostang.com!davidm
bbffb334fd include <string.h>.
(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
2da7f4a5a5 [UNW_TARGET_IA64]: Include elf64.h and os-linux.h.
(_UPT_get_dyn_info_list_addr): Use elf_map_image() to map the elf-image.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
425adcbda4 Rewrite.
}(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
d98aeba4cb Rewrite.
2003/02/06 14:34:06-08:00 mostang.com!davidm
Rename: src/ia64/__ia64_install_context.S -> src/ia64/_Uia64_install_context.S

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
a8db0b3fa1 Regenerate.
(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
824d6619b5 (Logical change 1.45) 2003-02-08 10:10:59 +00:00
mostang.com!davidm
5f94e2d488 Initial revision 2003-02-08 10:10:59 +00:00
mostang.com!davidm
b2a5a9023b Fix signed/unsigned comparisons.
(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
12d13835f9 Enclose ia64-specific code by UNW_TARGET_IA64.
Adjust for the fact that the image info is now tracked by "struct elf_image".
(elf64_valid_object): Delete (it's now in elfxx.c.
(_UPTi_find_uwnind_table): Don't mmap the image here.
(get_unwind_info): Use tdep_get_elf_image() to obtain the ELF image.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
52b17e2b37 (unwi_put_dynamic_unwind_info): Don't call unwi_dyn_remote_put_unwind_info() when
dealing with the local address space.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
aeb517ff8a (unwi_get_proc_name): Add "offp" argument. Call tdep_get_proc_name() to look up
procedure name for static code.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
678d3209fb (unw_resume): Rewrite to make it work for resuming execution past a signal frame
(and also simplify it).

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
42cfe4f411 (unw_get_proc_name): Add "offp" argument.
(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
bebd76e90b (struct UPT_info): Replace image/image_size members by "struct elf_image" member.
(struct map_iterator): Delete (moved to os-linux.h).
(maps_init): Ditto.
(maps_next): Ditto.
(maps_close): Ditto.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
7377d07464 (ia64_access_reg): When writing UNW_REG_IP, invalidate the proc_info if the new
IP is outside the range of the old procedure.
	When writing one of the exception argument registers, track the update
	in c->eh_valid_mask.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
7e29f92baa (common_init): Don't initialize eh_args[] pro-actively; do it lazily.
Clear eh_valid_mask to zero.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
be592ddeb2 (_Uia64_search_unwind_table): Return a valid gp-value in the proc-info even when
there is no other unwind-info.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
ebed1d6b82 (_Uia64_install_context): Rename from __ia64_install_context(). Change signature.
(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
1d8de85964 (_UPT_access_mem): Fix typo in debug statement.
(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
ad7f1470e3 (SETJMP_SO_VERSION): New macro.
(lib_LTLIBRARIES_cdep): Ditto.
(libunwind_setjmp_la_SOURCES_common): Ditto.
(libunwind_setjmp_la_LDFLAGS): Ditto.
(libunwind_setjmp_la_LIBADD): Ditto.
(libunwind_setjmp_la_SOURCES_ia64): Ditto.
(libunwind_setjmp_la_SOURCES_hppa): Ditto.
(libunwind_setjmp_la_SOURCES_x86): Ditto.
(libunwind_la_SOURCES_os): Define for OS_LINUX.
(libunwind_la_SOURCES_ia64): Mention elf64.c.
(AM_CPPFLAGS): Include from current working directory as well.
(AM_CCASFLAGS): Define to be the same as AM_CPPFLAGS.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
17220411d4 (_UPT_access_reg): Fix typo in debug() statements.
(Logical change 1.44)
2003-01-28 07:32:15 +00:00
hp.com!davidm
a69cf3deb9 Regenerate.
(Logical change 1.43)
2003-01-28 03:40:06 +00:00
hp.com!davidm
e9e4e5fb29 (Logical change 1.43) 2003-01-28 03:40:06 +00:00
hp.com!davidm
b064eb4574 Initial revision 2003-01-28 03:40:06 +00:00
hp.com!davidm
0d4634d8fe (unw_get_save_loc): Rename AR_25 to AR_CSD.
(Logical change 1.43)
2003-01-28 03:40:06 +00:00
hp.com!davidm
e1e36dfdf6 (rotate_gr): When rotating an out-of-frame register, return the original register
number, not -1.  Otherwise, the wrong error gets propagated to the user.

(Logical change 1.43)
2003-01-28 03:40:06 +00:00
hp.com!davidm
74ee8e48f0 (libunwind_la_SOURCES_cdep): New macro. Mention _UPT routines.
(libunwind_la_SOURCES_common): Mention libunwind_la_SOURCES_cdep.

(Logical change 1.43)
2003-01-28 03:40:06 +00:00
hp.com!davidm
3837469eec (intern_string): Change type of "i" to unsigned, to avoid compiler-warning.
(Logical change 1.43)
2003-01-28 03:40:06 +00:00
hp.com!davidm
ef0b937c87 (intern_regions): Change type of "i" to be unsigned, to avoid compiler-warning.
(intern_array): Ditto.

(Logical change 1.43)
2003-01-28 03:40:06 +00:00
hp.com!davidm
6da7fc2511 (ia64_scratch_loc): Rename AR_25 to AR_CSD.
(ia64_access_reg): Ditto.

(Logical change 1.43)
2003-01-28 03:40:06 +00:00
hp.com!davidm
1f6bf48b5c (_Uia64_search_unwind_table): Rename from tdep_search_unwind_table().
(_Uia64_get_kernel_table): Rename from get_kernel_table() and make it global.

(Logical change 1.43)
2003-01-28 03:40:06 +00:00
hp.com!davidm
4df2088f8a (SIGCONTEXT_AR_CSD_OFF): Rename from SIGCONTEXT_AR_25_OFF.
(Logical change 1.43)
2003-01-28 03:40:06 +00:00
mostang.com!davidm
93bfdaa128 Regenerate.
(Logical change 1.42)
2003-01-23 18:47:51 +00:00
mostang.com!davidm
83893355b0 (update_frame_state): Handle "cfm" cache.
(Logical change 1.42)
2003-01-23 18:47:51 +00:00
mostang.com!davidm
8bff7ccc92 (rotate_gr): Take advantage of "cfm" cache.
(rotate_fr): Ditto.
(pr_ltop): Ditto.
(pr_ptol): Ditto.

(Logical change 1.42)
2003-01-23 18:47:51 +00:00
mostang.com!davidm
4368ea4a70 (ia64_get_stacked): Make sure returned rnat-location is valid, too.
(Logical change 1.42)
2003-01-23 18:47:51 +00:00
mostang.com!davidm
e30bf11e2c (ia64_access_reg): Handle "cfm" cache.
(Logical change 1.42)
2003-01-23 18:47:51 +00:00
mostang.com!davidm
a89e112a32 (common_init): Initialize "cfm" cache.
(Logical change 1.42)
2003-01-23 18:47:51 +00:00
mostang.com!davidm
7ec3afd8db Minor reformatting.
(Logical change 1.41)
2003-01-23 10:04:09 +00:00
mostang.com!davidm
31fbd34d9c (unw_get_save_loc): rotate_gr() expects a register number in the range r32-r127.
(Logical change 1.41)
2003-01-23 10:04:09 +00:00
mostang.com!davidm
d5370fb25c (rbs_record_switch): Fix it so it stands a chance of working in all cases.
(rbs_underflow): Ditto.
(rbs_find_stacked): Ditto.

(Logical change 1.41)
2003-01-23 10:04:09 +00:00
mostang.com!davidm
eacf0e24e1 (rbs_find_stacked): Renamed from rbs_find_reg.
(ia64_get_stacked): Expect a register number (32-127), not a skip-count.

(Logical change 1.41)
2003-01-23 10:04:09 +00:00
mostang.com!davidm
3b6290bef2 (create_state_record_for): Fix thinko in test whether bsp/bspstore/rnat have been
saved.

(Logical change 1.41)
2003-01-23 10:04:09 +00:00
mostang.com!davidm
73fd3a8d4a (compile_reg): store register number for MOVE_STACKED.
(Logical change 1.41)
2003-01-23 10:04:09 +00:00
mostang.com!davidm
570c6e399a (common_init): bspstore needs to be initialized from c->bspstore_loc.
Adjust for renaming in "struct cursor".

(Logical change 1.41)
2003-01-23 10:04:09 +00:00
mostang.com!davidm
ad8830e9ce (check_rbs_switch): New function. Split-off from update_frame_state().
(Logical change 1.41)
2003-01-23 10:04:09 +00:00
mostang.com!davidm
a356356660 (access_nat): rotate_gr() expects a register number in the range r32-r127.
(Logical change 1.41)
2003-01-23 10:04:09 +00:00
mostang.com!davidm
1efaaab46e (Logical change 1.40) 2003-01-21 17:41:20 +00:00
mostang.com!davidm
81d01dfc27 Initial revision 2003-01-21 17:41:20 +00:00
mostang.com!davidm
ca50cf6354 Begin to support resuming execution beyond a signal handler frame (not working yet).
(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
4f231eb84a Add copyright notice.
(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
56f367ca9c (update_frame_state): Update c->sigcontext_off so unw_resume() can reconstruct the
original stack-pointer from c->sigcontext_loc.
	Handle rbs-switches for Linux signal deliver on alternate signal stack and
	for general case, indicated by UNW_PI_FLAG_IA64_RBS_SWITCH.
	Call rbs_underflow() when we detect a register-backing-store underflow.

(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
7aaa1e995a (unw_regname0: Use NELEMS() instead of corresponding open code.
(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
644a56edfc (unw_init_local): Add comment as to why we can assume initial register window is
contiguous.

(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
3f3215952d (unw_get_save_loc): Use ia64_get_stacked() and don't forget to rotate stacked
registers before accessing them.

(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
29fbe1c0bc (uc_addr): Correct value returned for AR_BSPSTORE.
(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
7c6f9ccd2c (run_script): Use ia64_get_stacked() to access stacked register & don't forget to
rotate stacked registers.


(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
5a55c1d8a8 (rbs_record_switch): New function.
(rbs_underflow): Ditto.
(rbs_find_reg): Ditto.
(ia64_get_stacked): Ditto.

(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
ea0a71ab32 (ia64_local_resume): Begin to support unw_resume() that goes across a signal
(not complete yet).

(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
a393d743f0 (finish_prologue): use NELEMS() instead of corresponding open code.
(create_state_record_for): Turn on UNW_PI_FLAG_IA64_RBS_SWITCH when a procedure
	has saved all of ar.bsp, ar.bspstore, and ar.rnat.

(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
03db644db3 (common_init): Drop initialization of top_rnat_loc and rbs_top. Initialize
rbs_curr, rbs_wridx, rbs_nvalid, and rbs_area[0] instead.

(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
3ead93703a (access_nat): use ia64_get_stacked() to access stacked register & don't forget
to rotate stacked regs.
(ia64_access_reg): Ditto.

(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
427c1894c2 (SOVERSION): Increment "current" to reflect change in size of unw_cursor_t.
(libunwind_la_SOURCES_ia64): Mention rbs-ia64.c.

(Logical change 1.40)
2003-01-21 17:41:20 +00:00
mostang.com!davidm
2212e1276b Fix comment for ia64_rse_num_regs().
(Logical change 1.39)
2003-01-21 08:08:32 +00:00
mostang.com!davidm
cb8d20c098 (unw_regname): Use NELEMS() instead of open code.
(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
8ec7b349f1 Initial revision 2003-01-14 07:11:56 +00:00
mostang.com!davidm
f6c7a65fdb (libunwind_la_SOURCES_hppa): New macro.
(libunwind_la_SOURCES_x86): Move outside of "if ARCH_X86" conditional.

(Logical change 1.33)
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
003246a5ba Rename: src/mempool.h -> include/mempool.h
}(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
e107c723e0 Rename: src/ia64/set_caching_policy.c -> src/ia64/set_caching_policy-ia64.c
}(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
1206ec9321 Rename: src/ia64/set_caching_policy.c -> src/ia64/set_caching_policy-ia64.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
0f1fc193c5 Rename: src/ia64/destroy_addr_space.c -> src/ia64/Gdestroy_addr_space.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
f977aba30b Rename: src/ia64/create_addr_space.c -> src/ia64/Gcreate_addr_space.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
3f320f8191 Rename: src/ia64/Lget_accessors.c -> src/ia64/Lget_accessors-ia64.c
}(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
ced635f45a Rename: src/ia64/Lget_accessors.c -> src/ia64/Lget_accessors-ia64.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
c26a876b81 Rename: src/ia64/Gcreate_addr_space.c -> src/ia64/Gcreate_addr_space-ia64.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
993e757967 Rename: src/get_proc_name-ia64.c -> src/get_proc_name.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
692d6c6956 Rename: src/dyn-remote-ia64.c -> src/dyn-remote.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
c99441aafa Rename: src/dyn-extract-ia64.c -> src/dyn-extract.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
769bfe8a7c Rename: src/dyn-cancel-ia64.c -> src/dyn-cancel.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
bf2c17061f Rename: src/Lput_dynamic_unwind_info-ia64.c -> src/Lput_dynamic_unwind_info.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
ef0f4b583a Rename: src/Lfind_dynamic_proc_info-ia64.c -> src/Lfind_dynamic_proc_info.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
2251685cae Rename: src/Gput_dynamic_unwind_info-ia64.c -> src/Gput_dynamic_unwind_info.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
a35b8d4710 Rename: src/Gfind_dynamic_proc_info-ia64.c -> src/Gfind_dynamic_proc_info.c
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
6fd2008861 Rename ia64_cursor -> cursor.
}(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
57901eea02 Rename ia64_cursor -> cursor.
2002/12/18 15:52:24-08:00 mostang.com!davidm
Rename: src/ia64/Gstep.c -> src/ia64/Gstep-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
e83a8555eb Rename ia64_cursor -> cursor.
2002/12/18 15:52:24-08:00 mostang.com!davidm
Rename: src/ia64/Gset_reg.c -> src/ia64/Gset_reg-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
45d291d88a Rename ia64_cursor -> cursor.
2002/12/18 15:52:24-08:00 mostang.com!davidm
Rename: src/ia64/Gset_fpreg.c -> src/ia64/Gset_fpreg-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
469215c497 Rename ia64_cursor -> cursor.
2002/12/18 15:52:24-08:00 mostang.com!davidm
Rename: src/ia64/Gscript.c -> src/ia64/Gscript-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
997f02561e Rename ia64_cursor -> cursor.
2002/12/18 15:52:24-08:00 mostang.com!davidm
Rename: src/ia64/Gresume.c -> src/ia64/Gresume-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
6d343f4206 Rename ia64_cursor -> cursor.
2002/12/18 15:52:24-08:00 mostang.com!davidm
Rename: src/ia64/Gregs.c -> src/ia64/Gregs-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
3e7ebd19f3 Rename ia64_cursor -> cursor.
2002/12/18 15:52:24-08:00 mostang.com!davidm
Rename: src/ia64/Gparser.c -> src/ia64/Gparser-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
75c34d4062 Rename ia64_cursor -> cursor.
2002/12/18 15:52:24-08:00 mostang.com!davidm
Rename: src/ia64/Gis_signal_frame.c -> src/ia64/Gis_signal_frame-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
026b064258 Rename ia64_cursor -> cursor.
2002/12/18 15:52:23-08:00 mostang.com!davidm
Rename: src/ia64/Ginit_remote.c -> src/ia64/Ginit_remote-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
db6175a338 Rename ia64_cursor -> cursor.
2002/12/18 15:52:23-08:00 mostang.com!davidm
Rename: src/ia64/Ginit_local.c -> src/ia64/Ginit_local-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
a7ac140ef2 Rename ia64_cursor -> cursor.
2002/12/18 15:52:23-08:00 mostang.com!davidm
Rename: src/ia64/Gget_save_loc.c -> src/ia64/Gget_save_loc-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
b9c1fc3073 Rename ia64_cursor -> cursor.
2002/12/18 15:52:23-08:00 mostang.com!davidm
Rename: src/ia64/Gget_reg.c -> src/ia64/Gget_reg-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
c810becbf6 Rename ia64_cursor -> cursor.
2002/12/18 15:52:23-08:00 mostang.com!davidm
Rename: src/ia64/Gget_proc_name.c -> src/ia64/Gget_proc_name-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
a3c1a1b273 Rename ia64_cursor -> cursor.
2002/12/18 15:52:23-08:00 mostang.com!davidm
Rename: src/ia64/Gget_proc_info.c -> src/ia64/Gget_proc_info-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
b1fffe2434 Rename ia64_cursor -> cursor.
2002/12/18 15:52:23-08:00 mostang.com!davidm
Rename: src/ia64/Gget_fpreg.c -> src/ia64/Gget_fpreg-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
c333cb0d25 Rename ia64_cursor -> cursor.
(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
481e35c2ca Remove include of "mempool.h".
Move debug macros to internal.h.

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
8c52e5fec1 Regenerate.
}(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
4c56811949 Regenerate.
2002/12/18 15:52:26-08:00 mostang.com!davidm
Rename: src/ia64/tables.c -> src/ia64/tables-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
f4ce74be3f Regenerate.
2002/12/18 15:52:26-08:00 mostang.com!davidm
Rename: src/ia64/regname.c -> src/ia64/regname-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
0a6f5b81f0 Regenerate.
2002/12/18 15:52:25-08:00 mostang.com!davidm
Rename: src/ia64/get_accessors.c -> src/ia64/get_accessors-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
1341aa4a7d Regenerate.
2002/12/18 15:52:25-08:00 mostang.com!davidm
Rename: src/ia64/flush_cache.c -> src/ia64/flush_cache-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
03fa6339d3 Regenerate.
2002/12/18 15:52:25-08:00 mostang.com!davidm
Rename: src/ia64/Lstep.c -> src/ia64/Lstep-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
13e00f72c6 Regenerate.
2002/12/18 15:52:25-08:00 mostang.com!davidm
Rename: src/ia64/Lset_reg.c -> src/ia64/Lset_reg-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
77374a84ce Regenerate.
2002/12/18 15:52:25-08:00 mostang.com!davidm
Rename: src/ia64/Lset_fpreg.c -> src/ia64/Lset_fpreg-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
82673e8263 Regenerate.
2002/12/18 15:52:25-08:00 mostang.com!davidm
Rename: src/ia64/Lscript.c -> src/ia64/Lscript-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
93d8b7349b Regenerate.
2002/12/18 15:52:25-08:00 mostang.com!davidm
Rename: src/ia64/Lresume.c -> src/ia64/Lresume-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
5ddc9f8d56 Regenerate.
2002/12/18 15:52:25-08:00 mostang.com!davidm
Rename: src/ia64/Lregs.c -> src/ia64/Lregs-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
12ebd9a69c Regenerate.
2002/12/18 15:52:25-08:00 mostang.com!davidm
Rename: src/ia64/Lparser.c -> src/ia64/Lparser-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
00ba25997b Regenerate.
2002/12/18 15:52:25-08:00 mostang.com!davidm
Rename: src/ia64/Lis_signal_frame.c -> src/ia64/Lis_signal_frame-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
7ba782f6db Regenerate.
2002/12/18 15:52:25-08:00 mostang.com!davidm
Rename: src/ia64/Linit_remote.c -> src/ia64/Linit_remote-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
a94abd0e32 Regenerate.
2002/12/18 15:52:25-08:00 mostang.com!davidm
Rename: src/ia64/Linit_local.c -> src/ia64/Linit_local-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
4f4ce30642 Regenerate.
2002/12/18 15:52:25-08:00 mostang.com!davidm
Rename: src/ia64/Linit.c -> src/ia64/Linit-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
eb46316f98 Regenerate.
2002/12/18 15:52:25-08:00 mostang.com!davidm
Rename: src/ia64/Lget_save_loc.c -> src/ia64/Lget_save_loc-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
9c75c0b134 Regenerate.
2002/12/18 15:52:25-08:00 mostang.com!davidm
Rename: src/ia64/Lget_reg.c -> src/ia64/Lget_reg-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
b49c0a5164 Regenerate.
2002/12/18 15:52:25-08:00 mostang.com!davidm
Rename: src/ia64/Lget_proc_name.c -> src/ia64/Lget_proc_name-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
1f7d96a2d6 Regenerate.
2002/12/18 15:52:25-08:00 mostang.com!davidm
Rename: src/ia64/Lget_proc_info.c -> src/ia64/Lget_proc_info-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
98b9f00153 Regenerate.
2002/12/18 15:52:24-08:00 mostang.com!davidm
Rename: src/ia64/Lget_fpreg.c -> src/ia64/Lget_fpreg-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
a8022ee7bd Regenerate.
2002/12/18 15:52:24-08:00 mostang.com!davidm
Rename: src/ia64/Ldestroy_addr_space.c -> src/ia64/Ldestroy_addr_space-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
177fc9642f Regenerate.
2002/12/18 15:52:24-08:00 mostang.com!davidm
Rename: src/ia64/Lcreate_addr_space.c -> src/ia64/Lcreate_addr_space-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
7c3e12ee43 Regenerate.
(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
010e670179 Delete: src/ia64/Lset_caching_policy.c
}(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
0cde510ce5 Delete: src/ia64/Lflush_cache.c
}(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
dfa2c41cdf (unw_destroy_addr_space): Make it a no-op for UNW_LOCAL_ONLY.
2002/12/18 15:52:23-08:00 mostang.com!davidm
Rename: src/ia64/Gdestroy_addr_space.c -> src/ia64/Gdestroy_addr_space-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
4f5950ae7b (unw): Move to global-ia64.c.
(tdep_uc_addr): "Rename" from _Uia64_uc_addr().
(_U_dyn_info_list): Move to global-ia64.c.
(ia64_init): Move to global-ia64.c.
(ia64_local_addr_space_init): New function.

}(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
89c97f37ee (unw): Move to global-ia64.c.
(tdep_uc_addr): "Rename" from _Uia64_uc_addr().
(_U_dyn_info_list): Move to global-ia64.c.
(ia64_init): Move to global-ia64.c.
(ia64_local_addr_space_init): New function.

2002/12/18 15:52:23-08:00 mostang.com!davidm
Rename: src/ia64/Ginit.c -> src/ia64/Ginit-ia64.c

(Logical change 1.32)
2002-12-19 07:16:50 +00:00
mostang.com!davidm
3ae9b81f52 (libunwind_la_SOURCES_common): Drop dyn-local.c, mention mi-init.c, mempool.c.
(libunwind_la_SOURCES_x86): Add.

(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
3ec98c2032 Delete: src/dyn-local.c
}(Logical change 1.31)
2002-12-18 05:18:40 +00:00
mostang.com!davidm
4bbf588c89 (_Uia64_find_dyn_list): New ia64-specific helper routine to locate the dynamic-info
list address in an unwind-table.

(Logical change 1.31)
2002-12-18 05:18:40 +00:00
mostang.com!davidm
3df8a3ce23 (_U_dyn_info_list): Move declaration to here from src/dyn-local.c.
(unwind-table entry for _U_dyn_info_list): Ditto (it's ia64-specific, so it can't
	be in src/dyn-local.c).

(Logical change 1.31)
2002-12-18 05:18:40 +00:00
mostang.com!davidm
3076501b06 Rename: src/ia64/Lset_reg.c -> src/ia64/Gset_reg.c
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
bae8873816 Rename: src/ia64/Lset_reg.c -> src/ia64/Gset_reg.c
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
bc62754a1a Rename: src/ia64/Lset_fpreg.c -> src/ia64/Gset_fpreg.c
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
a2375f43ed Rename: src/ia64/Lset_fpreg.c -> src/ia64/Gset_fpreg.c
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
94a6c8ca03 Rename: src/ia64/Lset_caching_policy.c -> src/ia64/Gset_caching_policy.c
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
8c8717dda7 Rename: src/ia64/Lset_caching_policy.c -> src/ia64/Gset_caching_policy.c
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
f176e2eb2a Rename: src/ia64/Linit_remote.c -> src/ia64/Ginit_remote.c
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
8f0b7818e7 Rename: src/ia64/Linit_remote.c -> src/ia64/Ginit_remote.c
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
e8e1af0a88 Rename: src/ia64/Linit_local.c -> src/ia64/Ginit_local.c
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
064904ebce Rename: src/ia64/Linit_local.c -> src/ia64/Ginit_local.c
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
638d2f9eb3 Rename: src/ia64/Lget_save_loc.c -> src/ia64/Gget_save_loc.c
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
1381978b0e Rename: src/ia64/Lget_save_loc.c -> src/ia64/Gget_save_loc.c
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
4a23fc2d5e Rename: src/ia64/Lget_reg.c -> src/ia64/Gget_reg.c
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
86107764e3 Rename: src/ia64/Lget_reg.c -> src/ia64/Gget_reg.c
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
ea6147c870 Rename: src/ia64/Lget_fpreg.c -> src/ia64/Gget_fpreg.c
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
b39ffb00e9 Rename: src/ia64/Lget_fpreg.c -> src/ia64/Gget_fpreg.c
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
d0e344024c Rename: src/ia64/Lflush_cache.c -> src/ia64/Gflush_cache.c
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
7e60eb19b6 Rename: src/ia64/Lflush_cache.c -> src/ia64/Gflush_cache.c
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
96eeae58bd Rename: src/ia64/Ldestroy_addr_space.c -> src/ia64/Gdestroy_addr_space.c
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
01f9b269b2 Rename: src/ia64/Ldestroy_addr_space.c -> src/ia64/Gdestroy_addr_space.c
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
51e4d34075 Regenerate.
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
78306c6f14 Move pthread-locking stuff to "internal.h".
(_U_dyn_info_list_lock): Rename from "registration_lock" and change from r/w-lock
	to a simple mutex (spin) lock.
(_U_dyn_register): Insert into doubly-linked list.

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
12f30d6481 Move enum ia64_pregnum and struct unw_addr_space to tdep-ia64.h.
(IA64_FLAG_SIGTRAMP): Replace with is_signal_frame member.
(IA64_FLAG_BIG_ENDIAN): Replace with per-address space big_endian flag.
(struct ia64_cursor): Add pi_valid and pi_is_dynamic members.
(ia64_find_proc_info): Add "need_unwind_info" argument.
(ia64_put_unwind_info): New macro.

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
793c8a3005 Initial revision 2002-12-12 09:17:41 +00:00
mostang.com!davidm
d3147b1f2c Encode the address of _U_dyn_info_list in a special (no-op) unwind-table entry,
so that a remote-unwinder can find it.

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
75c710131e Delete: src/dyn-common.h
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
83fca930d8 Compile only if UNW_REMOTE_ONLY is not defined.
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
c5307b2398 Adjust for big file-rename.
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
924b1764b2 Adjust for big file-rename.
2002/12/11 12:26:36-08:00 mostang.com!davidm
Rename: src/ia64/Lunw_step.c -> src/ia64/Lstep.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
50cae0e222 Adjust for big file-rename.
2002/12/11 12:26:36-08:00 mostang.com!davidm
Rename: src/ia64/Lunw_set_reg.c -> src/ia64/Lset_reg.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
74bd7af8b5 Adjust for big file-rename.
2002/12/11 12:26:36-08:00 mostang.com!davidm
Rename: src/ia64/Lunw_set_fpreg.c -> src/ia64/Lset_fpreg.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
ef1547248f Adjust for big file-rename.
2002/12/11 12:26:36-08:00 mostang.com!davidm
Rename: src/ia64/Lunw_set_caching_policy.c -> src/ia64/Lset_caching_policy.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
d7d8a16bc2 Adjust for big file-rename.
2002/12/11 12:26:36-08:00 mostang.com!davidm
Rename: src/ia64/Lunw_resume.c -> src/ia64/Lresume.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
56c38b5b4b Adjust for big file-rename.
2002/12/11 12:26:36-08:00 mostang.com!davidm
Rename: src/ia64/Lunw_is_signal_frame.c -> src/ia64/Lis_signal_frame.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
55e48ef09c Adjust for big file-rename.
2002/12/11 12:26:36-08:00 mostang.com!davidm
Rename: src/ia64/Lunw_init_remote.c -> src/ia64/Linit_remote.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
cb24b9e451 Adjust for big file-rename.
2002/12/11 12:26:36-08:00 mostang.com!davidm
Rename: src/ia64/Lunw_init_local.c -> src/ia64/Linit_local.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
2f64edbe65 Adjust for big file-rename.
2002/12/11 12:26:36-08:00 mostang.com!davidm
Rename: src/ia64/Lunw_get_save_loc.c -> src/ia64/Lget_save_loc.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
3af62b52aa Adjust for big file-rename.
2002/12/11 12:26:36-08:00 mostang.com!davidm
Rename: src/ia64/Lunw_get_reg.c -> src/ia64/Lget_reg.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
1f0e55bdb5 Adjust for big file-rename.
2002/12/11 12:26:36-08:00 mostang.com!davidm
Rename: src/ia64/Lunw_get_proc_info.c -> src/ia64/Lget_proc_info.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
791bdf16c4 Adjust for big file-rename.
2002/12/11 12:26:36-08:00 mostang.com!davidm
Rename: src/ia64/Lunw_get_fpreg.c -> src/ia64/Lget_fpreg.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
1816abfa4e Adjust for big file-rename.
2002/12/11 12:26:36-08:00 mostang.com!davidm
Rename: src/ia64/Lunw_get_accessors.c -> src/ia64/Lget_accessors.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
c326357cd6 Adjust for big file-rename.
2002/12/11 12:26:36-08:00 mostang.com!davidm
Rename: src/ia64/Lunw_flush_cache.c -> src/ia64/Lflush_cache.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
910dc47cfc Adjust for big file-rename.
2002/12/11 12:26:35-08:00 mostang.com!davidm
Rename: src/ia64/Lunw_destroy_addr_space.c -> src/ia64/Ldestroy_addr_space.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
2120d31863 Adjust for big file-rename.
2002/12/11 12:26:35-08:00 mostang.com!davidm
Rename: src/ia64/Lunw_create_addr_space.c -> src/ia64/Lcreate_addr_space.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
a3b3028874 Adjust for big file-rename.
(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
c23934ce5f Adjust for big file rename.
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
d396b65116 Adjust for big file rename.
2002/12/11 18:56:22-08:00 mostang.com!davidm
Rename: src/ia64/Lfind_dynamic_proc_info.c -> src/Lfind_dynamic_proc_info.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
da4aeb0ed1 Adjust for IA64_FLAG_SIGTRAMP -> c->is_signal_frame change.
(update_frame_state): Clear is_signal_frame to zero near the end.  Clear
	pi_valid instead of calling ia64_make_proc_info().

}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
c85fbb10f8 Adjust for IA64_FLAG_SIGTRAMP -> c->is_signal_frame change.
(update_frame_state): Clear is_signal_frame to zero near the end.  Clear
	pi_valid instead of calling ia64_make_proc_info().

2002/12/11 12:26:26-08:00 mostang.com!davidm
Rename: src/ia64/Lstep.c -> src/ia64/Gstep.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
217ad52ca9 Adjust for IA64_FLAG_BIG_ENDIAN -> as->big_endian change.
(ia64_access_regs): Call ia64_make_proc_info() to ensure c->pi.gp is valid before
	returning it.

}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
3919f4ffb6 Adjust for IA64_FLAG_BIG_ENDIAN -> as->big_endian change.
(ia64_access_regs): Call ia64_make_proc_info() to ensure c->pi.gp is valid before
	returning it.

2002/12/11 12:27:31-08:00 mostang.com!davidm
Rename: src/ia64/regs.c -> src/ia64/Gregs.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
d3da356368 Add copyright header and forward-declration of ia64_cursor.
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
a84826659d (unw_resume): Call ia64_make_proc_info() to ensure c->is_signal_frame is valid.
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
ea24716375 (unw_resume): Call ia64_make_proc_info() to ensure c->is_signal_frame is valid.
2002/12/11 12:26:26-08:00 mostang.com!davidm
Rename: src/ia64/Lresume.c -> src/ia64/Gresume.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
4b3e3e5f9f (unw_local_addr_space): Initialize statically, so it's valid right away.
(put_unwind_info): New function.
(get_dyn_info_list_addr): Ditto.
(ia64_init): Initialize big_endian member in local_addr_space and
	put_unwind_info and get_dyn_info_list_addr callbacks in the
	accessor's structure.

}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
ef007fb585 (unw_local_addr_space): Initialize statically, so it's valid right away.
(put_unwind_info): New function.
(get_dyn_info_list_addr): Ditto.
(ia64_init): Initialize big_endian member in local_addr_space and
	put_unwind_info and get_dyn_info_list_addr callbacks in the
	accessor's structure.

2002/12/11 12:27:19-08:00 mostang.com!davidm
Rename: src/ia64/init.c -> src/ia64/Ginit.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
4e2f5c0fbf (unw_is_signal_frame): Use "is_signal_frame" instead of IA64_FLAG_SIGTRAMP flag bit.
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
495a5a547f (unw_is_signal_frame): Use "is_signal_frame" instead of IA64_FLAG_SIGTRAMP flag bit.
2002/12/11 12:26:26-08:00 mostang.com!davidm
Rename: src/ia64/Lis_signal_frame.c -> src/ia64/Gis_signal_frame.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
68c95d3f64 (unw_get_proc_info): Call ia64_make_proc_info() to ensure that the proc_info is
valid.

}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
0a574c0936 (unw_get_proc_info): Call ia64_make_proc_info() to ensure that the proc_info is
valid.

2002/12/11 12:26:26-08:00 mostang.com!davidm
Rename: src/ia64/Lget_proc_info.c -> src/ia64/Gget_proc_info.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
35697758fd (unw_get_accessors): If libunwind hasn't been initialized yet, do so first to ensure
that the local accessors are valid.

}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
805bb72ed0 (unw_get_accessors): If libunwind hasn't been initialized yet, do so first to ensure
that the local accessors are valid.

2002/12/11 12:26:26-08:00 mostang.com!davidm
Rename: src/ia64/Lget_accessors.c -> src/ia64/Gget_accessors.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
8c72d1c277 (unw_create_addr_space): Support "byte_order" argument.
}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
02e59a8939 (unw_create_addr_space): Support "byte_order" argument.
2002/12/11 12:26:25-08:00 mostang.com!davidm
Rename: src/ia64/Lcreate_addr_space.c -> src/ia64/Gcreate_addr_space.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
57a6d3699d (script_finalize): Also initialize the proc_info.
(build_script): For signal-frames, generate an instruction that will set
	is_signal_frame to TRUE.

}(Logical change 1.30)
2002-12-12 09:17:41 +00:00
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
ea3b3225d8 (local_find_proc_info): New function.
(remote_find_proc_info): Ditto.

2002/12/11 18:56:18-08:00 mostang.com!davidm
Rename: src/ia64/Gfind_dynamic_proc_info.c -> src/Gfind_dynamic_proc_info.c

(Logical change 1.30)
2002-12-12 09:17:41 +00:00
mostang.com!davidm
afd39636d6 (libunwind_la_SOURCES_common): Add get_proc_name.c, dyn-cancel.c, dyn-extract.c,
{G,L}find_dynamic_proc_info, and {G,L}put_dynamic_unwind_info.
(libunwind_la_SOURCES): Rename generic files that get compiled twice from
	unw_foo to Gfoo.  Similarly, rename local-only files from Lunw_foo
	to Lfoo.

(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
57f5fae02b Regenerate.
(Logical change 1.29)
2002-12-03 08:19:58 +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
58752cbc76 (libunwind_la_SOURCES_common): Mention dyn-common.h, dyn-local.c, and dyn-register.c.
(libunwind_la_SOURCES_ia64): Rename tables-glibc.c to tables.c.  Mention
	unw_find_dynamic_proc_info.c, unw_get_accessors, and local-only variants.

(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
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
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
aa54b9f4a8 (Logical change 1.20) 2002-09-26 23:09:01 +00:00
mostang.com!davidm
27cce00964 Initial revision 2002-09-26 23:09:01 +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
dd3c681c6a (Logical change 1.19) 2002-07-18 03:58:34 +00:00
mostang.com!davidm
5b6078357d Initial revision 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
mostang.com!davidm
a2284ed1f3 (unw_get_save_loc): Remove unused variables sc_addr and ret.
(Logical change 1.19)
2002-07-18 03:58:34 +00:00
mostang.com!davidm
76a2d6a18b (struct ia64_labeled_state): Move to unwind_i.h.
(alloc_reg_state): Use mempool interface.
(free_reg_state): Ditto.
(alloc_labeled_state): Ditto.
(free_labeled_state): Ditto.
(alloc_spill_area): Fix spill-area allocation (fix by Richard Henderson).
(desc_frgr_mem): Fix case for f16-f31 (fix by Richard Henderson).
(get_proc_info): Use mempool_alloc() instead of malloc().

(Logical change 1.19)
2002-07-18 03:58:34 +00:00
mostang.com!davidm
641d801905 (libunwind_la_SOURCES_common): Mention mempool.h and mempool.c.
(Logical change 1.19)
2002-07-18 03:58:34 +00:00
mostang.com!davidm
ce831876f2 (ia64_init): Initialize mempools.
(Logical change 1.19)
2002-07-18 03:58:34 +00:00
mostang.com!davidm
d603a5b4bb (ia64_access_reg): r15-r18 should refer to sigcontext IFF the cursor is currently
pointing at the signal trampoline frame.  Otherwise, raising an exception from within
a signal handler will fail to pass the exception arguments to the exception handler.

(Logical change 1.19)
2002-07-18 03:58:34 +00:00
mostang.com!davidm
e3cb03d7b6 (get_kernel_table): Use sos_alloc()/sos_free() instead of malloc()/free().
(Logical change 1.19)
2002-07-18 03:58:34 +00:00
mostang.com!davidm
9ac7c9cda2 (common_int): Explicitly declare return type as "int".
(Logical change 1.19)
2002-07-18 03:58:34 +00:00
mostang.com!davidm
1c0d73e27d Replace uses of IA64_FLAG_SIGTRAMP flag by checks against sigcontext_loc.
(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
c0a60b6f82 (Logical change 1.18) 2002-04-25 06:47:29 +00:00
mostang.com!davidm
f7381ce536 Initial revision 2002-04-25 06:47:29 +00:00
mostang.com!davidm
af6fe37119 Include <stdlib.h>.
(ia64_init): Initialize debug level from UNW_DEBUG_LEVEL environment variable.

(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
039f99fef0 (update_frame_state): Fix handling of sigtramp frames. Also work around bugs
in kernel unwind info.

(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
118746f9e5 (unw_is_signal_frame): Need to (re-)create state record before we can check
IA64_FLAG_SIGTRAMP.

(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
83da1e6ac1 (unw_get_save_loc): Replace check for IA64_FLAG_SIGTRAMP with check against
c->sigcontext_loc.

(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
563bccbf75 (struct ia64_cursor): Add sigcontext_loc.
(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
4d37950b2c (rotate_gr): If the register is outside the current stacked frame, return -1.
(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
2294fb8aa2 (ia64_create_state_record) [IA_UNW_DEBUG]: Display state record for default
frame state as well.

(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
c845317889 (getunwind): Define only if HAVE_GETUNWIND is not defined.
(_Uia64_glibc_acquire_unwind_info): Correct typo: dl_iterate_phdr() is successful
	only if it returns a positive value.

(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
c56126ea7b (common_init): Initialize c->sigcontext_loc to zero.
(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
a6d51ee1a6 (SOVERSION): New macro.
(install-exec-hook): Use this hook to create symlinks from architecture-specific
	library name to default name (libunwind.a/libunwind.so).
(libunwind_la_SOURCES_ia64): Mention unw_is_signal_frame.c and Lunw_is_signal_frame.c.
(libunwind_la_SOURCES): Drop.
(libunwind_ia64_la_LDFLAGS): New macro.
(libunwind_ia32_la_LDFLAGS): New macro.
(libunwind_la_LDFLAGS): Drop.

(Logical change 1.18)
2002-04-25 06:47:29 +00:00
mostang.com!davidm
c528adf7c7 Fix typo which caused register names to be off by 7.
(Logical change 1.17)
2002-04-19 05:35:46 +00:00
mostang.com!davidm
00abcc6dc3 Always install library as libunwind-$(ARCH).a. Need to find a way to create
an alias, though.

(Logical change 1.17)
2002-04-19 05:35:46 +00:00
mostang.com!davidm
5a6e6f89d8 SP is now read via UNW_IA64_GR + 12.
Change prefix from _U_ia64 to _Uia64.
Rename _U_ia64_regname() to unw_regname().

(Logical change 1.16)
2002-04-12 05:02:40 +00:00
mostang.com!davidm
e5a2726686 Rename shared.c to unw_regname.c.
(Logical change 1.16)
2002-04-12 05:02:40 +00:00
mostang.com!davidm
50b1a123c0 (regname): Update with current register names.
(unw_regname): First register number now starts with zero.

2002/04/11 21:43:00-07:00 mostang.com!davidm
Rename: src/ia64/shared.c -> src/ia64/unw_regname.c

(Logical change 1.16)
2002-04-12 05:02:40 +00:00
mostang.com!davidm
27cb8c2844 Initial revision 2002-04-12 05:02:40 +00:00
mostang.com!davidm
82248d8a12 Change prefix from _U_ia64 to _Uia64.
(Logical change 1.16)
2002-04-12 05:02:40 +00:00
mostang.com!davidm
9d5e392426 (regname): Update with current register names.
(unw_regname): First register number now starts with zero.

}(Logical change 1.16)
2002-04-12 05:02:40 +00:00
mostang.com!davidm
bd228fb16a (_U_ia64_regname): Delete declaration.
Change prefix from _U_ia64 to _Uia64.
Drop extraneous ia64_ prefix from ia64-specific routines.

(Logical change 1.16)
2002-04-12 05:02:40 +00:00
hp.com!davidm
73645af561 (libunwind_la_SOURCES_ia64): Mention ia64/regs.h.
(Logical change 1.14)
2002-04-12 04:21:19 +00:00
hp.com!davidm
cc5ee5947a Update.
(Logical change 1.12)
2002-04-05 23:37:55 +00:00
hp.com!davidm
6432d81f05 Multi-architecture support.
(Logical change 1.12)
2002-04-05 23:37:55 +00:00
hp.com!davidm
1f20cef057 Include libunwind-ia64.h instead of libunwind.h.
(Logical change 1.12)
2002-04-05 23:37:55 +00:00
mostang.com!davidm
f8cdbb6ef0 Update.
(Logical change 1.11)
2002-04-04 19:04:09 +00:00
mostang.com!davidm
fb9b517d0c Read stack pointer from r12.
(Logical change 1.11)
2002-04-04 19:04:09 +00:00
hp.com!davidm
b682349b33 (Logical change 1.10) 2002-04-03 06:51:34 +00:00
hp.com!davidm
3b315369bc Initial revision 2002-04-03 06:51:34 +00:00
hp.com!davidm
4e41f21f65 Fix typo in comment.
(Logical change 1.10)
2002-04-03 06:51:34 +00:00
hp.com!davidm
fb94137d04 (unw_get_save_loc): First draft-implementation. Should be reasonably close to something
useful.

(Logical change 1.10)
2002-04-03 06:51:34 +00:00
hp.com!davidm
a5bf714ea5 (rotate_gr, rotate_fr, pr_ltop, pr_ptol): Move into regs.h.
(Logical change 1.10)
2002-04-03 06:51:34 +00:00
hp.com!davidm
1bb24a283f (AM_CPPFLAGS): Define.
(libunwind_la_SOURCES): Mention unw_get_save_loc.c and Lunw_get_save_loc.c.

(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
42f9c357a8 Mention unw_get_fpreg.c and unw_set_fpreg.c.
(Logical change 1.9)
2002-04-01 23:01:22 +00:00
mostang.com!davidm
5e30dcbde3 Mention debugger requirements.
(Logical change 1.9)
2002-04-01 23:01:22 +00:00
mostang.com!davidm
6f514a6726 (Logical change 1.9) 2002-04-01 23:01:22 +00:00
mostang.com!davidm
3d5c9efd1e Initial revision 2002-04-01 23:01:22 +00:00
mostang.com!davidm
883ce4ca59 Drop useless STAT() call.
(Logical change 1.9)
2002-04-01 23:01:22 +00:00
mostang.com!davidm
9a2039fe01 Protect against multiple inclusion. Define IA64_UNW_DEBUG based on DEBUG. Document
that in the UNW_LOCAL_ONLY-case, bit 2 in register save locations is unused.  If
UNW_LOCAL_ONLY is defined, define stream-lined versions of IA64_REG_LOC(),
IA64_FPREG_LOC(), ia64_acquire_unwind_info(), ia64_release_unwind_info(), ia64_get(),
ia64_put(), ia64_getfp(), and ia64_putfp().  Drop convenience macros and declarations for
ia64_glibc_{acquire,release}_unwind_info().  Add convenience macro and declaration for
ia64_local_resume().

(Logical change 1.8)
2002-02-28 16:24:48 +00:00
mostang.com!davidm
59f4f0d4c1 Move sharable stuff into shared.c.
(Logical change 1.8)
2002-02-28 16:24:48 +00:00
mostang.com!davidm
0c897ad858 Make this file sharable by using exported names that do not depend on UNW_LOCAL_ONLY.
(Logical change 1.8)
2002-02-28 16:24:48 +00:00
mostang.com!davidm
3083f40842 Initial revision 2002-02-28 16:24:48 +00:00
mostang.com!davidm
97ae3ba79a Define UNW_LOCAL_ONLY before including libunwind.h.
(Logical change 1.8)
2002-02-28 16:24:48 +00:00
mostang.com!davidm
ede7c575f9 Adjust for fact that IA64_REG_LOC now takes two arguments.
Special case access of NaT bits.

(Logical change 1.8)
2002-02-28 16:24:48 +00:00
mostang.com!davidm
83b038d4aa Add local-only variants of files (Lfoo.c).
Add ia64/shared.c and ia64/init.h.

(Logical change 1.8)
2002-02-28 16:24:48 +00:00
mostang.com!davidm
2353a19c67 (unw_resume): If UNW_LOCAL_ONLY is defined, directly call ia64_local_resume().
(Logical change 1.8)
2002-02-28 16:24:48 +00:00
mostang.com!davidm
155b35c2cf (unw_init_remote): If UNW_LOCAL_ONLY is defined, return -UNW_EINVAL. Use common_init()
to handle most of the cursor initialization.

(Logical change 1.8)
2002-02-28 16:24:48 +00:00
mostang.com!davidm
503d83fa69 (uc_addr): New function to translate a register number into a ucontext address.
(_U_ia64_uc_addr): New function.
(access_reg): Use uc_addr() to calculate ucontext address.  Use uc->sc_rbs_base
	when accessing ar.bsp or ar.bspstore (see comments for unw_init_local()).
(access_fpreg): Ditto.
(ia64_local_resume): Renamed from resume().  Read NaT bits via ia64_access_reg().
	Call abort() instead of fprintf() when encountering a signal trampoline.
(unw_init_local): Initialize uc->sc_rbs_base to the bsp value of the current function.
	For UNW_LOCAL_ONLY case, just initialize c->uc and then call
	common_init() to do the remaining initialization.  For the general case,
	just initialize the accessor and then also call common_init().

(Logical change 1.8)
2002-02-28 16:24:48 +00:00
mostang.com!davidm
5e34685f18 (Logical change 1.8) 2002-02-28 16:24:48 +00:00
mostang.com!davidm
468db8fdea mvdir
}(Logical change 1.7)
2002-02-23 20:27:03 +00:00
mostang.com!davidm
97c6919cd3 Rename: src/ia64/unwind_decoder.c -> src/ia64/unwind_decoder.h
}(Logical change 1.7)
2002-02-23 20:27:03 +00:00
mostang.com!davidm
de7b9f4912 Rename: src/ia64/unwind_decoder.c -> src/ia64/unwind_decoder.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
2f69df1d92 Include unwind_decoder.h instead of unwind_decoder.c.
(Logical change 1.7)
2002-02-23 20:27:03 +00:00
mostang.com!davidm
1888c151fc Delete: tests/Makefile
}(Logical change 1.7)
2002-02-23 20:27:03 +00:00
mostang.com!davidm
02acb8d4dd Delete: src/Makefile
}(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
68ffdc1fce When printing a value of type unw_word_t, use the %lu format and
cast the value to (long).

(struct ia64_labeled_state): New type.
(alloc_labeled_state): New macro.
(free_labeled_state): Ditto.
(push, pop): Update for new ia64_state_record layout.
(dup_state_stack): New function.
(free_state_stack): Ditto.
(desc_copy_state): Make it restore the entire stack of states, not
	just the current one.
(desc_label_state): Make it save the entire stack of states, not
	just the current one.
(ia64_free_state_record): Free the list of labeled states.

(desc_prologue): Terminate parsing at end of region regardless of
	whether the next region is a body or a prologue.

(lookup): Verify that unwind table entry found by binary search
	really includes the desired IP.  If not, return NULL.
(get_proc_info): Adjust for move of start/end from unwind table
	to the unwind table info.  Return -UNW_ENOMEM if unable
	to allocate a new table.  If unwind entry does not exist
	for desired IP, clear the procedure info to zero.  Check
	the unwind version number and return -UNW_EBADVERSION if
	it is not 1.

(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
8dbd577e05 To simplify cross-compilation, use unw_word_t instead of long pointers
for backing store addresses.

(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
a8d1c7c6e9 Set HOSTARCH to the host architecture and pass it on to subdirectories.
Build backtrace.o only when doing a native (local) build.

(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
6a4f3b23c1 Rename IA64_UNW_ACCESSORS to UNW_LOCAL_ONLY. Drop weak_alias() and
alias() macros.

(struct ia64_cursor): Rearrange order of members a bit to group
	things that logicall belong together.  Rename rp_loc to
	ip_loc.
(struct ia64_unwind_table): Drop start and end members (they are now
	in unw_ia64_table_t).
(struct ia64_reg_state): Break declaration out of declaration for
	ia64_state_record and add "next" member.
(struct ia64_state_record): Add member "labeled_states", drop
	members "stack", and "reg_state_list".

(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
143ace01a8 Rename IA64_INSN_MOVE_SIGCONTEXT to IA64_INSN_MOVE_SCRATCH.
(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
60cbd737ab Reformat preg_index initialization to GNU Coding standard.
(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
4224f76cfd Initial revision 2002-02-22 21:58:53 +00:00
(none)!davidm
7820abd977 Include "offsets.h" to get offsets for various structures (such
as sigcontext).  Adjust for the fact that the RSE arithmetic
is now done on values of type unw_word_t rather than long pointers.

(ia64_scratch_loc): Rename from ia64_get_sigcontext() and expand
	it such that it returns a scratch register location if
	the current frame is not a sigcontext frame.
(ia64_access_reg): Read the address of the personality routine with
	ia64_get() rather than trying to dereference the address
	directly.  When writing the IP or the PR, update the cached
	values, too.

(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
3790561497 Include "offsets.h" instead of <signal.h> to enable cross-compilation.
Use offsets defined in this file instead of calculating the offsets
from sigcontext structure.

(update_frame_state): Rename from ia64_get_frame_state() and make it
static and inlined.

(unw_step): Call update_frame_state() instead of ia64_get_frame_state().

(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
172cc2ba9b If UNW_REMOTE_ONLY is defined, make unw_init_local() a stub that
unconditionally returns -UNW_EINVAL.

(access_reg): IP is now read via UNW_IA64_IP (instead of
	UNW_IA64_BR+0).  CFM is now read via UNW_IA64_CFM
	instead of UNW_IA64_AR_PFS.  For UNW_IA64_AR_BSP
	(and UNW_IA64_AR_BSPSTORE), adjust the pointer so
	that it points to the first stacked register in
	the current frame.
(resume): "rp_loc" has been renamed to "ip_loc".
(unw_init_local): Add an #error directive to prevent compilation
	with UNW_LOCAL_ONLY until this case has been implemented.

(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
7c934e9308 For now, add #error directive to ensure compilation fails when
attempting to compile with UNW_LOCAL_ONLY.

(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
fb5ed0d939 Compile only if UNW_REMOTE_ONLY is not defined.
(get_kernel_table): Return -UNW_ENOMEM if unable to allocate buffer
	for kernel's unwind info.  Initialize the start and end
	members in unw_ia64_table_t.
(callback): Initialize the start and end members.

(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
4588bf926d Build only if UNW_REMOTE_ONLY is not defined.
(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
fcb6a7d272 Build bt and exc programs only during native builds.
(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
5cdb197f44 (unw_init_remote): Rename from ia64_init_remote(). Initialize
cfm_loc with UNW_IA64_CFM.  Initialize bspstore_loc with
	UNW_IA64_AR_BSPSTORE.  Renamem rp_loc to ip_loc and initialize
	with UNW_IA64_IP.  Initialized the cached values of
	PR and IP.  Initialize sp and psp to value in UNW_IA64_SP.
	Initialize exception handling args by reading the corresponding
	scratch registers (r15-r18).  If the read fails, initialize
	with 0.  Finish by calling ia64_get_proc_info() instead of
	ia64_get_frame_state().

(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
dffc24cb9f (compile_reg): Use IA64_INSN_MOVE_SCRATCH instead of
IA64_INSN_MOVE_SIGCONTEXT.
(run_script): Drop IA64_INSN_MOVE_SIGCONTEXT.  Implement
	IA64_INSN_MOVE_SCRATCH by calling ia64_scratch_loc().

(Logical change 1.5)
2002-02-22 21:58:53 +00:00
(none)!davidm
73c10de341 (Logical change 1.5) 2002-02-22 21:58:53 +00:00
mostang.com!davidm
444b815950 Clarify comment about proc_info.
(Logical change 1.4)
2002-02-15 23:51:28 +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