Bug #13438 » 0001-Remove-overriding-of-HEAP_PAGE_ALIGN_LOG.patch
| configure.in | ||
|---|---|---|
| 
       AC_DEFINE_UNQUOTED(STACK_END_ADDRESS, $rb_cv_stack_end_address) 
   | 
||
| 
     fi 
   | 
||
| 
     # 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]) 
   | 
||
| 
       if test $rb_cv_page_size_log != no; then 
   | 
||
| 
         AC_DEFINE_UNQUOTED(HEAP_ALIGN_LOG, $rb_cv_page_size_log) 
   | 
||
| 
       else 
   | 
||
| 
         AC_DEFINE_UNQUOTED(HEAP_ALIGN_LOG, 12) 
   | 
||
| 
       fi 
   | 
||
| 
     ]) 
   | 
||
| 
     dnl Checks for library functions. 
   | 
||
| 
     AC_TYPE_GETGROUPS 
   | 
||
| 
     AC_TYPE_SIGNAL 
   | 
||
| gc.c | ||
|---|---|---|
| 
     } 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), 
   | 
||