From b9ce81b912993f5d69e0acedd84ee3458013973c Mon Sep 17 00:00:00 2001 From: Jason Francis Date: Sat, 17 Apr 2021 19:28:36 -0400 Subject: [PATCH] meson: check for madvise() --- config.h.meson | 3 +++ gtk/gtksecurememory.c | 2 +- meson.build | 5 ++++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/config.h.meson b/config.h.meson index 549a677379..22ad215682 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 38d23ed61c..b8de932e8e 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 ') cdata.set('HAVE_MLOCK', 1) endif +if cc.has_function('madvise', prefix: '#include ') + 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