openmpi: fix memory_patcher_component
This commit is contained in:
parent
42b35372c5
commit
2a4a0b5b06
@ -1,5 +1,5 @@
|
||||
--- ../openmpi-4.0.2/opal/mca/memory/patcher/memory_patcher_component.c 2019-10-07 20:20:48.000000000 +0200
|
||||
+++ ./opal/mca/memory/patcher/memory_patcher_component.c 2019-10-25 20:55:18.860358143 +0200
|
||||
--- ./opal/mca/memory/patcher/memory_patcher_component.c.orig 2020-06-10 21:35:37.000000000 +0000
|
||||
+++ ./opal/mca/memory/patcher/memory_patcher_component.c 2020-07-04 10:42:40.459784443 +0000
|
||||
@@ -250,9 +250,9 @@
|
||||
advice == MADV_FREE ||
|
||||
#endif
|
||||
@ -12,7 +12,29 @@
|
||||
{
|
||||
opal_mem_hooks_release_hook (start, length, false);
|
||||
}
|
||||
@@ -432,8 +432,8 @@
|
||||
@@ -346,10 +346,17 @@
|
||||
#define IPCOP_shmdt 22
|
||||
#endif
|
||||
|
||||
-#define HAS_SHMDT (defined(SYS_shmdt) || \
|
||||
- (defined(IPCOP_shmdt) && defined(SYS_ipc)))
|
||||
-#define HAS_SHMAT (defined(SYS_shmat) || \
|
||||
- (defined(IPCOP_shmat) && defined(SYS_ipc)))
|
||||
+#if defined(SYS_shmdt) || (defined(IPCOP_shmdt) && defined(SYS_ipc))
|
||||
+# define HAS_SHMDT 1
|
||||
+# else
|
||||
+# define HAS_SHMDT 0
|
||||
+#endif
|
||||
+
|
||||
+#if defined(SYS_shmat) || (defined(IPCOP_shmat) && defined(SYS_ipc))
|
||||
+# define HAS_SHMAT 1
|
||||
+# else
|
||||
+# define HAS_SHMAT 0
|
||||
+#endif
|
||||
|
||||
#if (HAS_SHMDT || HAS_SHMAT) && defined(__linux__)
|
||||
|
||||
@@ -444,8 +447,8 @@
|
||||
uintptr_t attach_addr = (uintptr_t)shmaddr;
|
||||
|
||||
if (shmflg & SHM_RND) {
|
||||
@ -23,3 +45,12 @@
|
||||
}
|
||||
opal_mem_hooks_release_hook ((void*)attach_addr, size, false);
|
||||
}
|
||||
@@ -457,7 +460,7 @@
|
||||
unsigned long ret;
|
||||
ret = memory_patcher_syscall(SYS_ipc, IPCOP_shmat,
|
||||
shmid, shmflg, &shmaddr, shmaddr);
|
||||
- result = (ret > -(unsigned long)SHMLBA) ? (void *)ret : (void *)shmaddr;
|
||||
+ result = (ret > -(unsigned long)sysconf(_SC_PAGESIZE)) ? (void *)ret : (void *)shmaddr;
|
||||
#endif
|
||||
} else {
|
||||
result = original_shmat (shmid, shmaddr, shmflg);
|
||||
|
Loading…
Reference in New Issue
Block a user