diff options
author | PHO <pho@cielonegro.org> | 2023-01-22 00:55:16 +0900 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2023-02-14 11:29:09 -0500 |
commit | 4771602447c877a4ec6e159e016668569e4a5366 (patch) | |
tree | aa5df3ef535ca607f724c3f0d6408439f76504c2 /docs | |
parent | aa3a262d1537b30c21a8b887385cc538440e7a44 (diff) | |
download | haskell-4771602447c877a4ec6e159e016668569e4a5366.tar.gz |
RTS linker: Improve compatibility with NetBSD
1. Hint address to NetBSD mmap(2) has a different semantics from that of
Linux. When a hint address is provided, mmap(2) searches for a free
region at or below the hint but *never* above it. This means we can't
reliably search for free regions incrementally on the userland,
especially when ASLR is enabled. Let the kernel do it for us if we don't
care where the mapped address is going to be.
2. NetBSD not only hates to map pages as rwx, but also disallows to switch
pages from rw- to r-x unless the intention is declared when pages are
initially requested. This means we need a new MemoryAccess mode for
pages that are going to be changed to r-x.
Diffstat (limited to 'docs')
0 files changed, 0 insertions, 0 deletions