diff options
author | Michael Munday <mike.munday@ibm.com> | 2017-12-05 10:05:41 -0500 |
---|---|---|
committer | Dave Watson <davejwatson@fb.com> | 2018-01-09 07:37:55 -0800 |
commit | 441adc46ffe775d83446ec7253f5259864069cba (patch) | |
tree | c0b5c5fa1535f7007c047b10a54f4413e8a7dbeb /tests/check-namespace.sh.in | |
parent | 4c07b170372feb174e11775a01ea3bd718d636d6 (diff) | |
download | libunwind-441adc46ffe775d83446ec7253f5259864069cba.tar.gz |
Add port to Linux on IBM Z (s390x)
This adds a port to Linux on the IBM Z platform (a.k.a s390x). It only
supports the 64-bit ABI. Most functionality is working and all the tests
pass with the exception of the coredump tests*.
Unwinding is only supported if DWARF unwind information is present.
libunwind can't currently make use of the backchain (if present).
The getcontext/setcontext functions only preserve/restore a subset of
registers. Currently this only consists of callee-saved registers and
some parameter registers.
Vector registers and access registers are not saved (and aren't callee-
saved) by getcontext and cannot currently be modified. They will however
be restored unmodified after resuming a context from a signal handler.
There is no special libunwind support for setjmp, the functionality is
emulated using glibc (I think all the ports do this for modern Linux
kernels).
* Unwinding on s390x requires floating point register access which the
coredump library doesn't currently support.
Diffstat (limited to 'tests/check-namespace.sh.in')
-rw-r--r-- | tests/check-namespace.sh.in | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/check-namespace.sh.in b/tests/check-namespace.sh.in index 6d008173..5ed94fd2 100644 --- a/tests/check-namespace.sh.in +++ b/tests/check-namespace.sh.in @@ -176,6 +176,14 @@ check_local_unw_abi () { match _U${plat}_get_exe_image_path match ${plat}_lock ;; + s390x) + match _U${plat}_get_elf_image + match _U${plat}_get_exe_image_path + match _U${plat}_is_fpreg + match _UL${plat}_dwarf_search_unwind_table + match _UL${plat}_dwarf_find_unwind_table + match _U${plat}_setcontext + ;; *) match _U${plat}_is_fpreg @@ -276,6 +284,13 @@ check_generic_unw_abi () { match _U${plat}_local_addr_space_init match ${plat}_lock ;; + s390x) + match _U${plat}_is_fpreg + match _U${plat}_get_elf_image + match _U${plat}_get_exe_image_path + match _U${plat}_dwarf_search_unwind_table + match _U${plat}_dwarf_find_unwind_table + ;; *) match _U${plat}_is_fpreg match _U${plat}_dwarf_search_unwind_table |