@@ -36,57 +36,17 @@ AC_DEFUN([MCA_opal_memory_patcher_COMPILE_MODE], [
3636AC_DEFUN([MCA_opal_memory_patcher_CONFIG],[
3737 AC_CONFIG_FILES([opal/mca/memory/patcher/Makefile])
3838
39- OPAL_VAR_SCOPE_PUSH([memory_patcher_have___curbrk memory_patcher_have___mmap memory_patcher_have___syscall memory_patcher_have___mmap_prototype memory_patcher_have___syscall_prototype ])
39+ AC_CHECK_FUNCS([__curbrk ])
4040
41- memory_patcher_have___curbrk= 0
42- memory_patcher_have___mmap= 0
43- memory_patcher_have___mmap_prototype= 0
44- memory_patcher_have___syscall= 0
45- memory_patcher_have___syscall_prototype= 0
46-
47- AC_MSG_CHECKING([for __curbrk symbol])
48- AC_LINK_IFELSE([AC_LANG_PROGRAM([extern char * __curbrk; ],[char * tmp = __curbrk; ])],
49- [AC_MSG_RESULT([yes])
50- memory_patcher_have___curbrk= 1],
51- [AC_MSG_RESULT([no])])
52- AC_DEFINE_UNQUOTED([OPAL_MEMORY_PATCHER_HAVE___CURBRK], [$memory_patcher_have___curbrk ],
53- [Whether the glibc __curbrk exists])
41+ AC_CHECK_HEADERS([linux/mman.h sys/syscall.h])
5442
55- AC_MSG_CHECKING([whether __mmap prototype exists])
56- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([# include <sys/mman.h>],[char *tmp = __mmap (NULL, 0, 0, 0, 0, 0);])],
57- [AC_MSG_RESULT([yes])
58- memory_patcher_have___mmap_prototype= 1],
59- [AC_MSG_RESULT([no])])
60- AC_DEFINE_UNQUOTED([OPAL_MEMORY_PATCHER_HAVE___MMAP_PROTO], [$memory_patcher_have___mmap_prototype ],
61- [Whether the internal __mmap call has a prototype])
43+ AC_CHECK_DECLS([__mmap], [], [], [# include <sys/mman.h>])
6244
63- AC_MSG_CHECKING([whether __mmap symbol exists])
64- AC_LINK_IFELSE([AC_LANG_PROGRAM([void *__mmap ();],[char * tmp = __mmap ();])],
65- [AC_MSG_RESULT([yes])
66- memory_patcher_have___mmap= 1],
67- [AC_MSG_RESULT([no])])
68- AC_DEFINE_UNQUOTED([OPAL_MEMORY_PATCHER_HAVE___MMAP], [$memory_patcher_have___mmap ],
69- [Whether the internal __mmap call exists])
45+ AC_CHECK_FUNCS([__mmap])
7046
71- AC_MSG_CHECKING([whether __syscall prototype exists])
72- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([# include <sys/syscall.h>],[char *tmp = __syscall (SYS_mmap, NULL);])],
73- [AC_MSG_RESULT([yes])
74- memory_patcher_have___syscall_prototype= 1],
75- [AC_MSG_RESULT([no])])
76- AC_DEFINE_UNQUOTED([OPAL_MEMORY_PATCHER_HAVE___SYSCALL_PROTO], [$memory_patcher_have___syscall_prototype ],
77- [Whether the internal __syscall call has a prototype])
47+ AC_CHECK_DECLS([__syscall], [], [], [# include <sys/syscall.h>])
7848
79- AC_MSG_CHECKING([whether __syscall symbol exists])
80- AC_LINK_IFELSE([AC_LANG_PROGRAM([void *__syscall ();],[char * tmp = __syscall ();])],
81- [AC_MSG_RESULT([yes])
82- memory_patcher_have___syscall= 1],
83- [AC_MSG_RESULT([no])])
84- AC_DEFINE_UNQUOTED([OPAL_MEMORY_PATCHER_HAVE___SYSCALL], [$memory_patcher_have___syscall ],
85- [Whether the internal __syscall call exists])
86-
87- AC_CHECK_HEADERS([linux/mman.h sys/syscall.h])
49+ AC_CHECK_FUNCS([__syscall])
8850
8951 [$1 ]
90-
91- OPAL_VAR_SCOPE_POP
9252])
0 commit comments