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

363 commits

Author SHA1 Message Date
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
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
2212e1276b Fix comment for ia64_rse_num_regs().
(Logical change 1.39)
2003-01-21 08:08:32 +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
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