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
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
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
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
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
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
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
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
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
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
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
d098282ff5
Include "tdep.h".
...
(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
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
5428fc6295
(unw): Move "psp" member before "bsp_loc".
...
(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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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