From 9cc8fbf6a8515374f3e7c2810209efe5f8c36312 Mon Sep 17 00:00:00 2001 From: Jeremy Evans Date: Wed, 6 Jun 2018 12:23:55 -0700 Subject: [PATCH] Remove HEAP_ALIGN_LOG setting in configure.ac for OpenBSD/MirOS The ruby setting was renamed to HEAP_PAGE_ALIGN_LOG, but the configure.in (now configure.ac) file was not updated, so the setting had no effect. The configure setting is unnecessary after OpenBSD 5.2 and MirOS has been discontinued (with the last release being over 10 years ago), so it is better to just remove the related configure setting. --- configure.ac | 28 ---------------------------- gc.c | 2 -- 2 files changed, 30 deletions(-) diff --git a/configure.ac b/configure.ac index 13065140a6..04f120621b 100644 --- a/configure.ac +++ b/configure.ac @@ -1568,34 +1568,6 @@ AS_IF([test $rb_cv_stack_end_address != no], [ AC_DEFINE_UNQUOTED(STACK_END_ADDRESS, $rb_cv_stack_end_address) ]) -# posix_memalign(memptr, alignment, size) implemented for OpenBSD 4.8 doesn't work if alignment > MALLOC_PAGESIZE. -# [ruby-core:42158] https://bugs.ruby-lang.org/issues/5901 -# OpenBSD 5.2 fixed the problem. (src/lib/libc/stdlib/malloc.c:1.142) -# MirOS #10semel has the problem but fixed in the repository. (src/lib/libc/stdlib/malloc.c:1.9) -AS_CASE(["$target_os"], -[openbsd*|mirbsd*], [ - AC_CACHE_CHECK(for heap align log on openbsd, rb_cv_page_size_log, - [rb_cv_page_size_log=no - for page_log in 12 13; do - AC_TRY_RUN([ -#include -#include - -int -main() { - if ((int)log2((double)sysconf(_SC_PAGESIZE)) != $page_log) return 1; - return 0; -} - ], - rb_cv_page_size_log="$page_log"; break) - done]) - AS_IF([test $rb_cv_page_size_log != no], [ - AC_DEFINE_UNQUOTED(HEAP_ALIGN_LOG, $rb_cv_page_size_log) - ], [ - AC_DEFINE_UNQUOTED(HEAP_ALIGN_LOG, 12) - ]) -]) - dnl Checks for library functions. AC_TYPE_GETGROUPS AC_TYPE_SIGNAL diff --git a/gc.c b/gc.c index feac07279a..bbfcafd151 100644 --- a/gc.c +++ b/gc.c @@ -656,10 +656,8 @@ typedef struct rb_objspace { } rb_objspace_t; -#ifndef HEAP_PAGE_ALIGN_LOG /* default tiny heap size: 16KB */ #define HEAP_PAGE_ALIGN_LOG 14 -#endif #define CEILDIV(i, mod) (((i) + (mod) - 1)/(mod)) enum { HEAP_PAGE_ALIGN = (1UL << HEAP_PAGE_ALIGN_LOG), -- 2.16.2