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)
(.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)
(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)