summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Francis <jason@cycles.network>2021-04-17 19:28:36 -0400
committerJason Francis <jason@cycles.network>2021-04-17 19:30:20 -0400
commitb27ec5ebde495e3d83d63a87a32d136c5f22fa37 (patch)
treeba0b752d3350c62f3530595f5883b094c9c1c762
parent6622ebb310c488a614627d56e931de802e2c3b55 (diff)
downloadgtk+-b27ec5ebde495e3d83d63a87a32d136c5f22fa37.tar.gz
meson: check for madvise()
-rw-r--r--config.h.meson3
-rw-r--r--gtk/gtksecurememory.c2
-rw-r--r--meson.build5
3 files changed, 8 insertions, 2 deletions
diff --git a/config.h.meson b/config.h.meson
index fc2dd0b3d2..bc1d778f2c 100644
--- a/config.h.meson
+++ b/config.h.meson
@@ -76,6 +76,9 @@
/* Define to 1 if you have a working `mmap' system call. */
#mesondefine HAVE_MMAP
+/* Define to 1 if you have a working `madvise' system call. */
+#mesondefine HAVE_MADVISE
+
/* Define to 1 if you have the `posix_fallocate' function. */
#mesondefine HAVE_POSIX_FALLOCATE
diff --git a/gtk/gtksecurememory.c b/gtk/gtksecurememory.c
index 6dff307e65..a7aa34c447 100644
--- a/gtk/gtksecurememory.c
+++ b/gtk/gtksecurememory.c
@@ -943,7 +943,7 @@ sec_acquire_pages (size_t *sz,
DEBUG_ALLOC ("gtk-secure-memory: new block ", *sz);
-#if defined(MADV_DONTDUMP)
+#if defined(HAVE_MADVISE) && defined(MADV_DONTDUMP)
if (madvise (pages, *sz, MADV_DONTDUMP) < 0) {
if (show_warning && gtk_secure_warnings) {
/*
diff --git a/meson.build b/meson.build
index 641208158c..d802838d09 100644
--- a/meson.build
+++ b/meson.build
@@ -220,10 +220,13 @@ if cc.compiles(uint128_t_src, name : '__uint128_t available')
cdata.set('HAVE_UINT128_T', 1)
endif
-# Check for mlock
+# Check for mlock and madvise
if cc.has_function('mlock', prefix: '#include <sys/mman.h>')
cdata.set('HAVE_MLOCK', 1)
endif
+if cc.has_function('madvise', prefix: '#include <sys/mman.h>')
+ cdata.set('HAVE_MADVISE', 1)
+endif
# Disable deprecation checks for all libraries we depend on on stable branches.
# This is so newer versions of those libraries don't cause more warnings with