1
0
Fork 0
mirror of https://github.com/tobast/libunwind-eh_elf.git synced 2024-08-21 16:40:53 +02:00
Commit graph

952 commits

Author SHA1 Message Date
hp.com!davidm
b97fa14ca5 Include <asm/ptrace_offsets.h> if host is IA-64.
(trace_mode): New variable.
(main): Support options -i (instruction-by-instruction backtracing), -s
	(syscall-level backtracing), -t (triggered instruction-level backtracing).

(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
d7903bb9a2 Debug remote dynamic unwind info code some more.
Minor build-fixes (e.g., so that libunwind builds with Intel ECC compiler again).

BKrev: 3e5c7bf55VuVnZW_HViwnoR8zoTCag
2003-02-26 08:33: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
1fc6f4e6b3 (unwi_dyn_remote_find_proc_info): If anything goes wrong, return -UNW_ENOINFO.
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)
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
c503981c39 (struct ia64_global_unwind_state): Add member "r0".
(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
43652d9dea (ia64): Undef this macro if it's defined (bug in Intel's ECC v7.0?).
(_Uia64_find_dyn_list): Add "gp" argument.

(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
cf3b756567 (_U_dyn_op_pop_frames): Fix typo in UNW_DYN_POP_FRAMES.
(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
hp.com!davidm
c4b73c6198 (_UPT_get_dyn_info_list_addr): Add debug statements.
Correct pre-increment to post-increment.

(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
2fbf4cece7 (_UPT_access_reg): Allow reading of r0 (UNW_IA64_GR+0) to support ".save rp, r0"
idiom.

(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
9f48ae3751 (TESTS_arch): Add ia64-test-dyn1.
(ia64_test_dyn1_SOURCES): New macro.

(Logical change 1.55)
2003-02-26 08:33:57 +00:00
hp.com!davidm
601494e771 (Logical change 1.55) 2003-02-26 08:33:57 +00:00
mostang.com!davidm
31c7612938 Regenerate.
(Logical change 1.54)
2003-02-22 08:19:43 +00:00
mostang.com!davidm
a3157347f9 (unwi_get_proc_name): Drop "is_local" argument. Test "as" against
"unw_local_addr_space" instead.

}(Logical change 1.54)
2003-02-22 08:19:43 +00:00
mostang.com!davidm
824ec53659 (unwi_get_proc_name): Drop "is_local" argument. Test "as" against
"unw_local_addr_space" instead.

2003/02/21 22:03:46-08:00 mostang.com!davidm
Rename: src/get_proc_name.c -> src/Gget_proc_name.c

(Logical change 1.54)
2003-02-22 08:19:43 +00:00
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