diff mbox series

[3/5] haiku build fix

Message ID CA+XhMqzxVaM2UHMjpOiwL-bM2GZb8KwSrXf1=+LTUy53mZGRWw@mail.gmail.com
State New
Headers show
Series [1/5] haiku build fix | expand

Commit Message

David Carlier June 26, 2020, 10:07 a.m. UTC
From 56890fa5728d11c72232348b3f3273e2df31c197 Mon Sep 17 00:00:00 2001
From: David Carlier <devnexen@gmail.com>
Date: Fri, 26 Jun 2020 10:40:58 +0000
Subject: [PATCH 3/5] Checking mlockall symbol presence

Signed-off-by: David Carlier <devnexen@gmail.com>
---
 configure  | 15 +++++++++++++++
 os-posix.c |  4 ++++
 2 files changed, 19 insertions(+)

--
2.26.0

Comments

Peter Maydell June 26, 2020, 10:58 a.m. UTC | #1
On Fri, 26 Jun 2020 at 11:11, David CARLIER <devnexen@gmail.com> wrote:
>
> From 56890fa5728d11c72232348b3f3273e2df31c197 Mon Sep 17 00:00:00 2001
> From: David Carlier <devnexen@gmail.com>
> Date: Fri, 26 Jun 2020 10:40:58 +0000
> Subject: [PATCH 3/5] Checking mlockall symbol presence
>
> Signed-off-by: David Carlier <devnexen@gmail.com>

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

thanks
-- PMM
diff mbox series

Patch

diff --git a/configure b/configure
index f040b07463..34b0f0f036 100755
--- a/configure
+++ b/configure
@@ -2379,6 +2379,18 @@  else
   pty_h=no
 fi

+cat > $TMPC <<EOF
+#include <sys/mman.h>
+int main(int argc, char *argv[]) {
+    return mlockall(MCL_FUTURE);
+}
+EOF
+if compile_prog "" "" ; then
+  have_mlockall=yes
+else
+  have_mlockall=no
+fi
+
 #########################################
 # vhost interdependencies and host support

@@ -7767,6 +7779,9 @@  fi
 if test "$pty_h" = "yes" ; then
   echo "CONFIG_PTY=y" >> $config_host_mak
 fi
+if test "$have_mlockall" = "yes" ; then
+  echo "CONFIG_MLOCKALL=y" >> $config_host_mak
+fi
 if test "$fuzzing" = "yes" ; then
   if test "$have_fuzzer" = "yes"; then
     FUZZ_LDFLAGS=" -fsanitize=address,fuzzer"
diff --git a/os-posix.c b/os-posix.c
index 3cd52e1e70..e02b566940 100644
--- a/os-posix.c
+++ b/os-posix.c
@@ -337,6 +337,7 @@  bool is_daemonized(void)

 int os_mlock(void)
 {
+#if defined CONFIG_MLOCKALL
     int ret = 0;

     ret = mlockall(MCL_CURRENT | MCL_FUTURE);
@@ -345,4 +346,7 @@  int os_mlock(void)
     }

     return ret;
+#else
+    return -ENOSYS;
+#endif
 }