(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)
Allow region-length to be negative in dynamic region info. This is used to
for describing fixed epilogues and makes it possible to share region descriptors
for such epilogues, regardless of the size of a procedure.
Start working on a dynamic unwind-info tester.
BKrev: 3e57329fpkUAufjGT8s5JT0u6q287A
Clarify man-page for unw_resume().
For the test-cases where this makes sense, test both local-only and
generic cases.
BKrev: 3e56e9a6jNuF7S9oLAiyygieyZq22g
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)
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
(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)
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)
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
(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)