@@ -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