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

1970 commits

Author SHA1 Message Date
hp.com!davidm
690b203671 New file.
2003/02/21 13:59:32-08:00 hp.com!davidm
Rename: tests/ia64-test-rbs.c -> tests/Lia64-test-rbs.c

(Logical change 1.53)
2003-02-22 03:08:22 +00:00
hp.com!davidm
bb4f71708d Minor formatting fix.
(Logical change 1.53)
2003-02-22 03:08:22 +00:00
hp.com!davidm
fd7e332a1f Implement remote-case of unw_resume().
Clarify man-page for unw_resume().
For the test-cases where this makes sense, test both local-only and
generic cases.

BKrev: 3e56e9a6jNuF7S9oLAiyygieyZq22g
2003-02-22 03:08:22 +00:00
hp.com!davidm
a126d452e4 Describe behavior difference between local and remote unw_resume().
(Logical change 1.53)
2003-02-22 03:08:22 +00:00
hp.com!davidm
5187d53d31 Delete UNW_LOCAL_ONLY.
}(Logical change 1.53)
2003-02-22 03:08:22 +00:00
hp.com!davidm
f77ee147ac Delete UNW_LOCAL_ONLY.
2003/02/21 18:58:12-08:00 hp.com!davidm
Rename: tests/test-exc.c -> tests/Gtest-exc.c

(Logical change 1.53)
2003-02-22 03:08:22 +00:00
hp.com!davidm
4fdeae046b D
}(Logical change 1.53)
2003-02-22 03:08:22 +00:00
hp.com!davidm
899ce01967 D
2003/02/21 18:59:31-08:00 hp.com!davidm
Rename: tests/test-resume-sig.c -> tests/Gtest-resume-sig.c

(Logical change 1.53)
2003-02-22 03:08:22 +00:00
hp.com!davidm
a0f3b067b8 (Logical change 1.53) 2003-02-22 03:08:22 +00:00
hp.com!davidm
37d99c0c9f Initial revision 2003-02-22 03:08:22 +00:00
hp.com!davidm
ea34cc2bee (uc_off): Remove (it wasn't used anymore).
(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
hp.com!davidm
1d36e97333 (TESTS_arch): Replace ia64-test-rbs with Gia64-test-rbs and
Lia64-test-rbs.
(TESTS_cdep): Replace test-exc, test-resume-sig, and test-dyn1 with
	G (generic) and L (local-only) variants.
(Lia64_test_rbs_SOURCES): Rename from ia64_test_rbs_SOURCES.
(Gia64_test_rbs_SOURCES): New macro.
(Lia64_test_stack_SOURCES): Rename from ia64_test_stack_SOURCES.
(Gia64_test_stack_SOURCES): New macro.

(Logical change 1.53)
2003-02-22 03:08:22 +00:00
mostang.com!davidm
b49a5f35e1 Regenerate.
(Logical change 1.52)
2003-02-21 07:36:26 +00:00
mostang.com!davidm
84bdbf814d Fix ia64 code to use the same modular-arithmetic based test to determine whether
or not a given address is part of a register-backing store.  This test is implemented
by rbs_contains().

Fix and greatly simplify ia64 rbs-switching code.  ia64-test-rbs now passes
100,000 iterations of random testing.

BKrev: 3e55d6farvnB-gMiDPTFoO1XVBzEtA
2003-02-21 07:36:26 +00:00
mostang.com!davidm
88c6bcd794 Add note that unw_resume() does NOT execute unwind-handlers (personality-routines).
(Logical change 1.52)
2003-02-21 07:36:26 +00:00
mostang.com!davidm
f0c37e1652 (unwind_and_resume): Correct argument printing.
(run_check): Limit unwind_count to range 1..(nfuncs+RECURSION_DEPTH).
	Fix off-by-one but that counter-acted a bug in ia64-test-rbs-asm.S.

(Logical change 1.52)
2003-02-21 07:36:26 +00:00
mostang.com!davidm
c341225693 (struct cursor): Remove rbs_right_edge.
(Logical change 1.52)
2003-02-21 07:36:26 +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
4d5c375d34 Fix an off-by-one bug in ia64-test-rbs-asm.S.
BKrev: 3e5518c3r3fTJWpLxBVdJoya8Mkm2g
2003-02-20 18:04:51 +00:00
mostang.com!davidm
0d89914d4e (rbs_spill_N): Fix off-by-one bug in indexing into next_func[].
(Logical change 1.51)
2003-02-20 18:04:51 +00:00
mostang.com!davidm
6af90d0df4 Regenerate.
(Logical change 1.50)
2003-02-15 08:53:55 +00:00
mostang.com!davidm
80866c48fd Regenerate built files.
BKrev: 3e4e0023Hp_Z9ojofV3zSlDNXv7gvg
2003-02-15 08:53:55 +00:00
mostang.com!davidm
edf42f2db5 Up version number to 0.3.
(Logical change 1.49)
2003-02-15 08:49:55 +00:00
mostang.com!davidm
ff7880fde8 Merge bk://unwind@bkbits.net/libunwind
into panda.mostang.com:/data/home/davidm/src/unwind/libunwind

2003/02/15 00:49:49-08:00 mostang.com!davidm
Fix unw_resume() some more.  Getting there, slowly.  tests/ia64-test-rbs doesn't
pass fully yet, but it's getting quite far already.


BKrev: 3e4dff33_NzEt_iH9gpn6Sexm7Fngg
2003-02-15 08:49:55 +00:00
mostang.com!davidm
fb1997ff0a Add include of "ia64-test-rbs.h".
(NELEMS): New macro.
(RECURSION_DEPTH): Fix definition: loadup() allocates 93 local regs, not 95.
(spill_func_t): Make it return an "int".
(DCL): Adjust accordingly.
(verbose): New variable.
(nerrors): Make it an "int".
(unwind_count): Ditto.
(unwind_and_resume): Make it return an int.  Print info-output only if verbose is
	set.  After unwinding to the desired point, redirect IP to
	resumption_point_label and store return value in EH_ARG0 and original
	IP in EH_ARG1.
(run_check): New function.
(main): Remove open test code and call run_check() instead.

(Logical change 1.49)
2003-02-15 08:49: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
71ab0b2a3c (rbs_spill_NN): If r8 is non-negative on return from subroutine-call, increment it
by one.  Take care of restoring the dirty partition before switching back
	to original backing store.
(LD_LOC): Load only 4 bytes, not 8 bytes.
(CK_LOC): New macro.
(loadup): ar.pfs is saved in r36, not r34.  After returning from subroutine call,
	check local variables to make sure they still contain the correct values.
(resumption_point): New function.

(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
mostang.com!davidm
44a825a3d5 (TEST_arch): Put ia64-test-stack first.
(TESTS): Put $(TESTS_arch) first.

(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
0cf429d971 More cross-compile bugfixes.
BKrev: 3e4dafa6l-AS3Rzo_-mJZQTszUp8rQ
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
a45c88823a (likely): Make them work even for non-GCC (or old GCC) compilers.
(unlikely): Ditto.
(debug): Print to stderr.
(dprintf): Ditto.

(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
b05848b2aa Merge bk://unwind@bkbits.net/libunwind
into panda.mostang.com:/data/home/davidm/src/unwind/libunwind

2003/02/13 22:22:00-08:00 mostang.com!davidm
Make unw_resume() work on ia64 even when the register backing store of the frame
being resumed is scattered across multiple backing store areas.

BKrev: 3e4c8be0eOFftTsWIstwNwHfb0wKdQ
2003-02-14 06:25:36 +00:00
mostang.com!davidm
894b96b95a (Logical change 1.47) 2003-02-14 06:25:36 +00:00
mostang.com!davidm
9b16424457 Initial revision 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