head 1.1; access; symbols pkgsrc-2026Q1:1.1.0.44 pkgsrc-2026Q1-base:1.1 pkgsrc-2025Q4:1.1.0.42 pkgsrc-2025Q4-base:1.1 pkgsrc-2025Q3:1.1.0.40 pkgsrc-2025Q3-base:1.1 pkgsrc-2025Q2:1.1.0.38 pkgsrc-2025Q2-base:1.1 pkgsrc-2025Q1:1.1.0.36 pkgsrc-2025Q1-base:1.1 pkgsrc-2024Q4:1.1.0.34 pkgsrc-2024Q4-base:1.1 pkgsrc-2024Q3:1.1.0.32 pkgsrc-2024Q3-base:1.1 pkgsrc-2024Q2:1.1.0.30 pkgsrc-2024Q2-base:1.1 pkgsrc-2024Q1:1.1.0.28 pkgsrc-2024Q1-base:1.1 pkgsrc-2023Q4:1.1.0.26 pkgsrc-2023Q4-base:1.1 pkgsrc-2023Q3:1.1.0.24 pkgsrc-2023Q3-base:1.1 pkgsrc-2023Q2:1.1.0.22 pkgsrc-2023Q2-base:1.1 pkgsrc-2023Q1:1.1.0.20 pkgsrc-2023Q1-base:1.1 pkgsrc-2022Q4:1.1.0.18 pkgsrc-2022Q4-base:1.1 pkgsrc-2022Q3:1.1.0.16 pkgsrc-2022Q3-base:1.1 pkgsrc-2022Q2:1.1.0.14 pkgsrc-2022Q2-base:1.1 pkgsrc-2022Q1:1.1.0.12 pkgsrc-2022Q1-base:1.1 pkgsrc-2021Q4:1.1.0.10 pkgsrc-2021Q4-base:1.1 pkgsrc-2021Q3:1.1.0.8 pkgsrc-2021Q3-base:1.1 pkgsrc-2021Q2:1.1.0.6 pkgsrc-2021Q2-base:1.1 pkgsrc-2021Q1:1.1.0.4 pkgsrc-2021Q1-base:1.1 pkgsrc-2020Q4:1.1.0.2 pkgsrc-2020Q4-base:1.1; locks; strict; comment @// @; 1.1 date 2020.12.05.12.03.26; author nia; state Exp; branches; next ; commitid Jn4TOYwMCsyP5yyC; desc @@ 1.1 log @mozjs78: Fix configure where the readline library isn't builtin. This commit also moves the location of WRKSRC so that no patches are applied to files in parent directories of WRKSRC. @ text @$NetBSD$ PaX MPROTECT safety for NetBSD. --- js/src/jit/ProcessExecutableMemory.cpp.orig 2020-11-04 10:51:58.000000000 +0000 +++ js/src/jit/ProcessExecutableMemory.cpp @@@@ -362,9 +362,16 @@@@ static void* ReserveProcessExecutableMem // Note that randomAddr is just a hint: if the address is not available // mmap will pick a different address. void* randomAddr = ComputeRandomAllocationAddress(); +#ifdef PROT_MPROTECT + void* p = MozTaggedAnonymousMmap(randomAddr, bytes, + PROT_MPROTECT(PROT_EXEC | PROT_WRITE | PROT_READ), + MAP_NORESERVE | MAP_PRIVATE | MAP_ANON, -1, + 0, "js-executable-memory"); +#else void* p = MozTaggedAnonymousMmap(randomAddr, bytes, PROT_NONE, MAP_NORESERVE | MAP_PRIVATE | MAP_ANON, -1, 0, "js-executable-memory"); +#endif if (p == MAP_FAILED) { return nullptr; } @@@@ -409,8 +416,12 @@@@ static unsigned ProtectionSettingToFlags static MOZ_MUST_USE bool CommitPages(void* addr, size_t bytes, ProtectionSetting protection) { - void* p = MozTaggedAnonymousMmap( - addr, bytes, ProtectionSettingToFlags(protection), + void* p = MozTaggedAnonymousMmap(addr, bytes, +#ifdef PROT_MPROTECT + ProtectionSettingToFlags(protection) | PROT_MPROTECT(PROT_EXEC | PROT_WRITE | PROT_READ), +#else + ProtectionSettingToFlags(protection), +#endif MAP_FIXED | MAP_PRIVATE | MAP_ANON, -1, 0, "js-executable-memory"); if (p == MAP_FAILED) { return false; @