Bug #13438 » 0001-Remove-HEAP_ALIGN_LOG-setting-in-configure.ac-for-Op.patch
| configure.ac | ||
|---|---|---|
|   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 | ||
| 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), | ||
- « Previous
- 1
- 2
- 3
- 4
- Next »