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

691 commits

Author SHA1 Message Date
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
mostang.com!davidm
508348e693 (TESTS_arch): Mention ia64-test-rbs.
(ia64_test_rbs_SOURCES): New macro.

(Logical change 1.47)
2003-02-14 06:25:36 +00:00
hp.com!davidm
4dca76319d [REMOTE_ONLY]: Mention dummy "install-exec-hook".
(libunwind_la_SOURCES_cdep): Mention dyn-cancel.c and dyn-register.c.
(libunwind_la_SOURCES_common): Remove dyn-cancel.c and dyn-register.c

(Logical change 1.46)
2003-02-14 03:09:27 +00:00
hp.com!davidm
74f568c602 Regenerate.
(Logical change 1.46)
2003-02-14 03:09:27 +00:00
hp.com!davidm
49f992ac07 Mention !UNW_REMOTE_ONLY on #else branch.
(Logical change 1.46)
2003-02-14 03:09:27 +00:00
hp.com!davidm
0aa53387e3 Fix cross-building (UNW_REMOTE_ONLY).
BKrev: 3e4c5de7AVRE9jFQVcwdQSDsiTq5rw
2003-02-14 03:09:27 +00:00
hp.com!davidm
7372c6cc43 (unw_flush_cache): Only uses __sync_fetch_and_add() if
HAVE_IA64INTRIN_H is defined.  Otherwise, do non-atomic
	increment (and issue compile-time warning about it).

(Logical change 1.46)
2003-02-14 03:09:27 +00:00
hp.com!davidm
3980b80e26 (is_local_addr_space): Always return 0 for UNW_REMOTE_ONLY.
(_Uia64_search_unwind_table): Add a cast to avoid compiler-warning
	when cross-compiling from a 32-bit platform.

(Logical change 1.46)
2003-02-14 03:09:27 +00:00
hp.com!davidm
d7c5192ef8 (ia64_init): Don't call _Uia64_local_addr_space_init() or
_ULia64_local_addr_space_init() for UNW_REMOTE_ONLY.

(Logical change 1.46)
2003-02-14 03:09:27 +00:00
hp.com!davidm
ec91b0fce5 (get_unwind_info): Remove unused arguments "pi" and "need_unwind_info".
(__UPT_find_proc_info): Adjust get_unwind_info() call accordingly.

(Logical change 1.46)
2003-02-14 03:09:27 +00:00
hp.com!davidm
bbe86eee68 (AC_CHECK_HEADERS): Mention ia64intrin.h.
(CCASFLAGS): Define this instead of ASFLAGS.

(Logical change 1.46)
2003-02-14 03:09:27 +00:00
mostang.com!davidm
bbffb334fd include <string.h>.
(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
2da7f4a5a5 [UNW_TARGET_IA64]: Include elf64.h and os-linux.h.
(_UPT_get_dyn_info_list_addr): Use elf_map_image() to map the elf-image.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
19a4e775ac Up version number to 0.2-pre5.
(OS_LINUX): New conditional.
(CFLAGS): Turn on -Wsign-compare for gcc.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
425adcbda4 Rewrite.
}(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
d98aeba4cb Rewrite.
2003/02/06 14:34:06-08:00 mostang.com!davidm
Rename: src/ia64/__ia64_install_context.S -> src/ia64/_Uia64_install_context.S

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
a8db0b3fa1 Regenerate.
(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
97c8c1ef37 Make it an automatic test.
}(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
0098b771ce Make it an automatic test.
2003/02/07 10:36:32-08:00 mostang.com!davidm
Rename: tests/exc.c -> tests/test-exc.c

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
824d6619b5 (Logical change 1.45) 2003-02-08 10:10:59 +00:00
mostang.com!davidm
5f94e2d488 Initial revision 2003-02-08 10:10:59 +00:00
mostang.com!davidm
108627cab7 Include "elf64.h".
(struct cursor): Add member "eh_valid_mask" to track which eh_args[] are valid.
	Fix comment for rbs_curr.
(tdep_get_elf_image): New routine.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
b2a5a9023b Fix signed/unsigned comparisons.
(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
12d13835f9 Enclose ia64-specific code by UNW_TARGET_IA64.
Adjust for the fact that the image info is now tracked by "struct elf_image".
(elf64_valid_object): Delete (it's now in elfxx.c.
(_UPTi_find_uwnind_table): Don't mmap the image here.
(get_unwind_info): Use tdep_get_elf_image() to obtain the ELF image.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
d0e021d85b Add copyright notice.
Make it an automatic test.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
31d99ecca6 Add ELF-procedure name lookup for local unwinding.
Add libunwind-based non-local goto support (aka setjmp() in 3 stores).
Start redoing/finalizing the unw_resume() support.
Add more test-cases and documentation.

BKrev: 3e44d7b3QRWc7y6jH7lU6t9FWZ1nyw
2003-02-08 10:10:59 +00:00
mostang.com!davidm
52b17e2b37 (unwi_put_dynamic_unwind_info): Don't call unwi_dyn_remote_put_unwind_info() when
dealing with the local address space.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
aeb517ff8a (unwi_get_proc_name): Add "offp" argument. Call tdep_get_proc_name() to look up
procedure name for static code.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
8c2740cfe3 (unw_tdep_fpreg_t): New type.
(UNW_TDEP_EH_ARG0): Make it an alias for r15.
(UNW_TDEP_EH_ARG1): Make it an alias for r16.
(UNW_TDEP_EH_ARG2): Make it an alias for r17.
(UNW_TDEP_EH_ARG3): Make it an alias for r18.

(Logical change 1.45)
2003-02-08 10:10:59 +00:00
mostang.com!davidm
678d3209fb (unw_resume): Rewrite to make it work for resuming execution past a signal frame
(and also simplify it).

(Logical change 1.45)
2003-02-08 10:10:59 +00:00