]> Savannah Git Hosting - gnulib.git/commitdiff
vma-iter: Detect executable memory segments on Haiku (regr. 2011-01-25).
authorCollin Funk <collin.funk1@gmail.com>
Fri, 14 Mar 2025 02:11:08 +0000 (19:11 -0700)
committerBruno Haible <bruno@clisp.org>
Tue, 1 Apr 2025 14:50:16 +0000 (16:50 +0200)
* lib/vma-iter.c (vma_iterate) [__BEOS__ || __HAIKU__]: Use the
B_EXECUTE_AREA flag.

ChangeLog
lib/vma-iter.c

index a32123ed9977d444ac1e3d99f998be66ae010d6a..fa88455eb53d03d1b9e34b0fd62031657362ced8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2025-03-13  Collin Funk  <collin.funk1@gmail.com>
+
+       vma-iter: Detect executable memory segments on Haiku (regr. 2011-01-25).
+       * lib/vma-iter.c (vma_iterate) [__BEOS__ || __HAIKU__]: Use the
+       B_EXECUTE_AREA flag.
+
 2025-03-12  Collin Funk  <collin.funk1@gmail.com>
 
        dup3: Fix behavior for equal file descriptors on Haiku.
index 8e830ae9e0ed520ae49b7db33730628c4ba6d928..81efb00d514f242c8dd0e63e26d30d5817193397 100644 (file)
@@ -1,5 +1,5 @@
 /* Iteration over virtual memory areas.
-   Copyright (C) 2011-2024 Free Software Foundation, Inc.
+   Copyright (C) 2011-2025 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2011-2017.
 
    This program is free software: you can redistribute it and/or modify
@@ -1692,9 +1692,11 @@ vma_iterate (vma_iterate_callback_fn callback, void *data)
       end = start + info.size;
       flags = 0;
       if (info.protection & B_READ_AREA)
-        flags |= VMA_PROT_READ | VMA_PROT_EXECUTE;
+        flags |= VMA_PROT_READ;
       if (info.protection & B_WRITE_AREA)
         flags |= VMA_PROT_WRITE;
+      if (info.protection & B_EXECUTE_AREA)
+        flags |= VMA_PROT_EXECUTE;
 
       if (callback (data, start, end, flags))
         break;