mirror of
https://github.com/tobast/libunwind-eh_elf.git
synced 2024-12-27 05:23:43 +01:00
Fork of the libunwind official github repo — http://www.nongnu.org/libunwind/
ed67c3edb7
(ia64_loc_t): New type. For UNW_LOCAL_ONLY, it's a single word, as before. For the generic case, it's a 2-word structure. This provides enough space to encode all necessary info both for 32-bit targets (which require only 4-byte aligned addresses) and for targets which are limited to accessing ucontext_t values via uc_access(3). (ABI_MARKER_LINUX_SIGTRAMP): New macro. (ABI_MARKER_HP_UX_SIGTRAMP): New macro. (struct cursor): Consolidate bsp_loc, bspstore_loc, pfs_loc, rnat_loc, ip_loc, pri_unat_loc, unat_loc, pr_loc, lc_loc, fpsr_loc, r4-r7_loc, b1-b5_loc, f2-f7_loc, and fr_loc[] into loc[] array. Note that there is now a separate PSP-loc (loc[IA64_REG_PSP]) in addition to the cached psp value. Rename sigcontext_loc to sigcontext_addr. Remove is_signal_frame memeber and add abi_marker member instead. Change type of rbs_area[].rnat_loc to ia64_loc_t. (struct ia64_global_unwind_state): Remove preg_index[] array. (Logical change 1.84) |
||
---|---|---|
aux | ||
BitKeeper/etc | ||
doc | ||
include | ||
scripts | ||
src | ||
tests | ||
acinclude.m4 | ||
aclocal.m4 | ||
AUTHORS | ||
ChangeLog | ||
ChangeSet | ||
configure | ||
configure.in | ||
COPYING | ||
INSTALL | ||
Makefile.am | ||
Makefile.in | ||
NEWS | ||
README | ||
TODO |
-*- mode: Outline -*- This is version 0.92 of the unwind library. At the moment, only the IA-64 Linux (IPF Linux) platform is fully supported. Some very basic support for x86 exists also. However, the x86 support is based purely on the frame-chain and does not use unwind information, so its utility is limited. * General Build Instructions In general, this library can be built and installed with the following commands: $ ./configure $ make $ make install prefix=PREFIX where PREFIX is the installation prefix. By default, a prefix of /usr/local is used, such that libunwind.a is installed in /usr/local/lib and unwind.h is installed in /usr/local/include. For testing, you may want to use a prefix of /usr/local instead. * Building with Intel ECC To build libunwind with the Intel Electron compiler (ECC), it is recommended to run configure like this: $ ./configure CC=ecc CXX=ecc CCAS=gcc The reason for this is that ECC uses the Intel assembler, which doesn't grok some of the IA-64 assembly code in the "tests" directory. For an ECC-built version of libunwind to work properly, you also need to ensure that /usr/include/asm/fpu.h contains a "long double" member called "__dummy" in the declaration of "struct ia64_fpreg". Without that member, variables of type unw_context_t won't be aligned properly. * Building on HP-UX For the time being, libunwind must be built with GCC on HP-UX. Unfortunately, gcc-3.0 ships with a bad version of sys/types.h. The workaround for this is: $ mkdir $top_dir/include/sys $ cp /usr/include/sys/types.h $top_dir/include/sys * Regression Testing After building the library, you can run a set of regression tests with: $ make check Unless you have a very recent library and compiler installed, it is currently expected to have the following tests fail: Gtest-init (should work with glibc-2.3.1) Ltest-init (should work with glibc-2.3.1) test-ptrace (should work with glibc-2.3.1) run-ia64-test-dyn1 (should work with glibc-2.3.1) * Contacting the Developers Please direct all questions regarding this library to: libunwind@linux.hpl.hp.com For spam protection, you'll have to subscribe to this list before posting a question. You can do this by sending a mail to libunwind-request@linux.hpl.hp.com with a body of: subscribe libunwind Note: the host that is running this list is behind a firewall, so you'll not be able to use the Web interface to manage your subscription. Send a mail containing "help" to libunwind-request@linux.hpl.hp.com for information on how to manage your subscription via email.