File mpip.unwinder.patch of Package mpiP

diff -ruN mpiP-3.4.1.old/Defs.mak.in mpiP-3.4.1/Defs.mak.in
--- mpiP-3.4.1.old/Defs.mak.in	2014-03-13 19:46:07.000000000 +0000
+++ mpiP-3.4.1/Defs.mak.in	2017-01-10 07:51:53.771837043 +0000
@@ -63,6 +63,9 @@
 endif
 
 ifeq ($(OS),Linux)
+  ifeq ($(ARCH), aarch64)
+    CPPFLAGS += -DAARCH64
+  endif
   ifeq ($(ARCH),i686)
     CPPFLAGS += -DIA32
   endif
diff -ruN mpiP-3.4.1.old/mpiPi.h.in mpiP-3.4.1/mpiPi.h.in
--- mpiP-3.4.1.old/mpiPi.h.in	2014-03-13 19:46:07.000000000 +0000
+++ mpiP-3.4.1/mpiPi.h.in	2017-01-10 07:52:48.783447707 +0000
@@ -276,6 +276,12 @@
 #define FramePC(fp) ((void *) *(long *) (((long) fp) + (2 * sizeof (void *))))
 #define NextFP(fp) ((void *) *(long *) fp)
 
+/*  AArch64 Linux  */
+#elif defined(Linux) && defined(AARCH64)
+#define ParentFP(jb) ((void*) jb[0].__jmpbuf[10])
+#define FramePC(fp) ((void*)(((void**)fp)[1]))
+#define NextFP(fp) ((void*)((void**)fp)[0])
+
 /*  IA32 Linux  */
 #elif defined(Linux) && defined(IA32)
 #define ParentFP(jb) ((void*) jb[0].__jmpbuf[3])
openSUSE Build Service is sponsored by