summaryrefslogtreecommitdiff
path: root/Makefile.am
diff options
context:
space:
mode:
authorMichael Munday <mike.munday@ibm.com>2017-12-05 10:05:41 -0500
committerDave Watson <davejwatson@fb.com>2018-01-09 07:37:55 -0800
commit441adc46ffe775d83446ec7253f5259864069cba (patch)
treec0b5c5fa1535f7007c047b10a54f4413e8a7dbeb /Makefile.am
parent4c07b170372feb174e11775a01ea3bd718d636d6 (diff)
downloadlibunwind-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 'Makefile.am')
-rw-r--r--Makefile.am5
1 files changed, 5 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index 711d9100..8132fa4c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -41,6 +41,9 @@ endif
if ARCH_SH
include_HEADERS += include/libunwind-sh.h
endif
+if ARCH_S390X
+include_HEADERS += include/libunwind-s390x.h
+endif
if !REMOTE_ONLY
include_HEADERS += include/libunwind.h include/unwind.h
@@ -84,6 +87,8 @@ noinst_HEADERS = include/dwarf.h include/dwarf_i.h include/dwarf-eh.h \
include/tdep-ppc64/jmpbuf.h include/tdep-ppc64/libunwind_i.h \
include/tdep-sh/dwarf-config.h \
include/tdep-sh/jmpbuf.h include/tdep-sh/libunwind_i.h \
+ include/tdep-s390x/dwarf-config.h \
+ include/tdep-s390x/jmpbuf.h include/tdep-s390x/libunwind_i.h \
include/tdep/libunwind_i.h \
include/tdep/jmpbuf.h include/tdep/dwarf-config.h