From b97ca0103d7765151a2767fdc484ed31fadb869e Mon Sep 17 00:00:00 2001 From: Collin Funk Date: Thu, 13 Mar 2025 19:11:08 -0700 Subject: [PATCH] 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. --- ChangeLog | 6 ++++++ lib/vma-iter.c | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index a32123ed99..fa88455eb5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2025-03-13 Collin Funk + + 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 dup3: Fix behavior for equal file descriptors on Haiku. diff --git a/lib/vma-iter.c b/lib/vma-iter.c index 8e830ae9e0..81efb00d51 100644 --- a/lib/vma-iter.c +++ b/lib/vma-iter.c @@ -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 , 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; -- 2.39.5