head 1.2; access; symbols pkgsrc-2026Q2:1.1.0.50 pkgsrc-2026Q2-base:1.1 pkgsrc-2026Q1:1.1.0.48 pkgsrc-2026Q1-base:1.1 pkgsrc-2025Q4:1.1.0.46 pkgsrc-2025Q4-base:1.1 pkgsrc-2025Q3:1.1.0.44 pkgsrc-2025Q3-base:1.1 pkgsrc-2025Q2:1.1.0.42 pkgsrc-2025Q2-base:1.1 pkgsrc-2025Q1:1.1.0.40 pkgsrc-2025Q1-base:1.1 pkgsrc-2024Q4:1.1.0.38 pkgsrc-2024Q4-base:1.1 pkgsrc-2024Q3:1.1.0.36 pkgsrc-2024Q3-base:1.1 pkgsrc-2024Q2:1.1.0.34 pkgsrc-2024Q2-base:1.1 pkgsrc-2024Q1:1.1.0.32 pkgsrc-2024Q1-base:1.1 pkgsrc-2023Q4:1.1.0.30 pkgsrc-2023Q4-base:1.1 pkgsrc-2023Q3:1.1.0.28 pkgsrc-2023Q3-base:1.1 pkgsrc-2023Q2:1.1.0.26 pkgsrc-2023Q2-base:1.1 pkgsrc-2023Q1:1.1.0.24 pkgsrc-2023Q1-base:1.1 pkgsrc-2022Q4:1.1.0.22 pkgsrc-2022Q4-base:1.1 pkgsrc-2022Q3:1.1.0.20 pkgsrc-2022Q3-base:1.1 pkgsrc-2022Q2:1.1.0.18 pkgsrc-2022Q2-base:1.1 pkgsrc-2022Q1:1.1.0.16 pkgsrc-2022Q1-base:1.1 pkgsrc-2021Q4:1.1.0.14 pkgsrc-2021Q4-base:1.1 pkgsrc-2021Q3:1.1.0.12 pkgsrc-2021Q3-base:1.1 pkgsrc-2021Q2:1.1.0.10 pkgsrc-2021Q2-base:1.1 pkgsrc-2021Q1:1.1.0.8 pkgsrc-2021Q1-base:1.1 pkgsrc-2020Q4:1.1.0.6 pkgsrc-2020Q4-base:1.1 pkgsrc-2020Q3:1.1.0.4 pkgsrc-2020Q3-base:1.1 pkgsrc-2020Q2:1.1.0.2 pkgsrc-2020Q2-base:1.1; locks; strict; comment @ * @; 1.2 date 2026.08.25.17.33.13; author wiz; state dead; branches; next 1.1; commitid UIVD8ABupUq3M2TG; 1.1 date 2020.04.25.05.56.36; author dsainty; state Exp; branches; next ; commitid 0syYCPspfYcleJ5C; desc @@ 1.2 log @*: remove emacs26*. emacs27*, emacs28* We still have 20, 21, and 29-31, that's plenty of versions. @ text @$NetBSD: patch-src_unexmacosx.c,v 1.1 2020/04/25 05:56:36 dsainty Exp $ Pull in patch from upstream to fix a build failure under MacOS X. Fix unexec failure on macOS 10.15.4 * src/unexmacosx.c (unexec_regions_merge): Align region start addresses to page boundaries and then merge regions. http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=888ffd960c06d56a409a7ff15b1d930d25c56089 --- src/unexmacosx.c +++ src/unexmacosx.c @@@@ -503,22 +503,34 @@@@ unexec_regions_sort_compare (const void *a, const void *b) static void unexec_regions_merge (void) { - int i, n; - unexec_region_info r; - vm_size_t padsize; - qsort (unexec_regions, num_unexec_regions, sizeof (unexec_regions[0]), &unexec_regions_sort_compare); - n = 0; - r = unexec_regions[0]; - padsize = r.range.address & (pagesize - 1); - if (padsize) + + /* Align each region start address to a page boundary. */ + for (unexec_region_info *cur = unexec_regions; + cur < unexec_regions + num_unexec_regions; cur++) { - r.range.address -= padsize; - r.range.size += padsize; - r.filesize += padsize; + vm_size_t padsize = cur->range.address & (pagesize - 1); + if (padsize) + { + cur->range.address -= padsize; + cur->range.size += padsize; + cur->filesize += padsize; + + unexec_region_info *prev = cur == unexec_regions ? NULL : cur - 1; + if (prev + && prev->range.address + prev->range.size > cur->range.address) + { + prev->range.size = cur->range.address - prev->range.address; + if (prev->filesize > prev->range.size) + prev->filesize = prev->range.size; + } + } } - for (i = 1; i < num_unexec_regions; i++) + + int n = 0; + unexec_region_info r = unexec_regions[0]; + for (int i = 1; i < num_unexec_regions; i++) { if (r.range.address + r.range.size == unexec_regions[i].range.address && r.range.size - r.filesize < 2 * pagesize) @@@@ -530,17 +542,6 @@@@ unexec_regions_merge (void) { unexec_regions[n++] = r; r = unexec_regions[i]; - padsize = r.range.address & (pagesize - 1); - if (padsize) - { - if ((unexec_regions[n-1].range.address - + unexec_regions[n-1].range.size) == r.range.address) - unexec_regions[n-1].range.size -= padsize; - - r.range.address -= padsize; - r.range.size += padsize; - r.filesize += padsize; - } } } unexec_regions[n++] = r; @ 1.1 log @Pull in patch from upstream to fix a build failure under MacOS X. Fix unexec failure on macOS 10.15.4 * src/unexmacosx.c (unexec_regions_merge): Align region start addresses to page boundaries and then merge regions. http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=888ffd960c06d56a409a7ff15b1d930d25c56089 Bump PKGREVISION of emacs26 and emacs26-nox11. @ text @d1 1 a1 1 $NetBSD$ @