[前][次][番号順一覧][スレッド一覧]

ruby-changes:53867

From: shyouhei <ko1@a...>
Date: Thu, 29 Nov 2018 15:16:37 +0900 (JST)
Subject: [ruby-changes:53867] shyouhei:r66086 (trunk): Remove HEAP_ALIGN_LOG setting in configure.ac for OpenBSD/MirOS

shyouhei	2018-11-29 15:16:31 +0900 (Thu, 29 Nov 2018)

  New Revision: 66086

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=66086

  Log:
    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.
    
    Fix [Bug #13438]
    From: Jeremy Evans <code@j...>

  Modified files:
    trunk/configure.ac
    trunk/gc.c
Index: configure.ac
===================================================================
--- configure.ac	(revision 66085)
+++ configure.ac	(revision 66086)
@@ -1641,34 +1641,6 @@ AS_IF([test $rb_cv_stack_end_address != https://github.com/ruby/ruby/blob/trunk/configure.ac#L1641
   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 <math.h>
-#include <unistd.h>
-
-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
Index: gc.c
===================================================================
--- gc.c	(revision 66085)
+++ gc.c	(revision 66086)
@@ -649,10 +649,8 @@ typedef struct rb_objspace { https://github.com/ruby/ruby/blob/trunk/gc.c#L649
 } 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),

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]