1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-11-18 05:47:39 +01:00
Commit graph

934 commits

Author SHA1 Message Date
mostang.com!davidm
3434090e32 (Logical change 1.54) 2003-02-22 08:19:43 +00:00
mostang.com!davidm
5d9d17a5e8 Initial revision 2003-02-22 08:19:43 +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
a01d77efb8 Fix a bug that kept unw_get_proc_name() from working for the UNW_LOCAL_ONLY case.
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
2003-02-22 08:19:43 +00:00
mostang.com!davidm
e20ecc63b8 (unwi_get_proc_name): Don't make it an arch-object. Drop "is_local" argument.
(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
mostang.com!davidm
e61440508f (unw_dyn_region_info_t): Make insn_count signed.
(Logical change 1.54)
2003-02-22 08:19:43 +00:00
mostang.com!davidm
2f852c2e12 (libunwind_la_SOURCES_common): Replace get_proc_name.c with Gget_proc_name.c and
Lget_proc_name.c.

(Logical change 1.54)
2003-02-22 08:19:43 +00:00
hp.com!davidm
1a6bf76301 Rename: tests/test-dyn1.c -> tests/Gtest-dyn1.c
}(Logical change 1.53)
2003-02-22 03:08:22 +00:00
hp.com!davidm
a1aed8c295 Rename: tests/test-dyn1.c -> tests/Gtest-dyn1.c
(Logical change 1.53)
2003-02-22 03:08:22 +00:00
hp.com!davidm
ad94265cff Rename: tests/ia64-test-stack.c -> tests/Gia64-test-stack.c
}(Logical change 1.53)
2003-02-22 03:08:22 +00:00
hp.com!davidm
9c83634f04 Rename: tests/ia64-test-stack.c -> tests/Gia64-test-stack.c
(Logical change 1.53)
2003-02-22 03:08:22 +00:00
hp.com!davidm
7849826bf9 Regenerate.
(Logical change 1.53)
2003-02-22 03:08:22 +00:00
hp.com!davidm
982f0e1684 New file.
}(Logical change 1.53)
2003-02-22 03:08:22 +00:00
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