40 lines
1.0 KiB
Diff
40 lines
1.0 KiB
Diff
|
commit ca14b75af545536ca04cc5a1fb19b77b3e213fe4
|
||
|
Author: Nicolas Morey <nmorey@suse.com>
|
||
|
Date: Thu Sep 5 14:57:46 2024 +0200
|
||
|
|
||
|
mpip.unwinder
|
||
|
|
||
|
Aarch64 support
|
||
|
|
||
|
diff --git Defs.mak.in Defs.mak.in
|
||
|
index 7406eb610d7f..c3b231798d5f 100644
|
||
|
--- Defs.mak.in
|
||
|
+++ Defs.mak.in
|
||
|
@@ -64,6 +64,9 @@ ifeq ($(OS),OSF1)
|
||
|
endif
|
||
|
|
||
|
ifeq ($(OS),Linux)
|
||
|
+ ifeq ($(ARCH), aarch64)
|
||
|
+ CPPFLAGS += -DAARCH64
|
||
|
+ endif
|
||
|
ifeq ($(ARCH),i686)
|
||
|
CPPFLAGS += -DIA32
|
||
|
endif
|
||
|
diff --git mpiPi.h mpiPi.h
|
||
|
index 56ce5bd338eb..0b602e31c813 100644
|
||
|
--- mpiPi.h
|
||
|
+++ mpiPi.h
|
||
|
@@ -231,6 +231,12 @@ extern void *MPIR_ToPointer (int idx);
|
||
|
#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])
|