| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
[Bug #13538] [ruby-dev:50106]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58548 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Defining PACKED_STRUCT_UNALIGNED to a noop in ruby/config.h (via
`configure') prevents the definition in include/ruby/defines.h
from working
This should have been fixed in r46914, so there's a size
regression for some objects since Ruby 2.2+. I do not believe
we can backport to existing releases, either, since it can
affect ABI.
Add a test for Time objects on common x86-based platforms to
check for future regressions.
* configure.in: remove PACKED_STRUCT_UNALIGNED definition
* test/ruby/test_time.rb (test_memsize): new test for x86
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* configure.in (--with-git): honor environment variable GIT if
set.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58388 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* configure.in (RUBY_SETJMP_TYPE): optional flag to save signal
mask.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58352 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
| |
* configure.in: default HAVE_BASERUBY to yes, for auto detection.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* configure.in, win32/configure.bat: allow --without-baseruby
option to use already generated files without baseruby.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58296 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* configure.in, win32/configure.bat: add --with-git option to
tell git command to use, or not to use git.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58295 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* configure.in: add rpath flags which is needed for OPTDIR as well
as -L options, when it is given. [ruby-dev:50065] [Bug #13411]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58287 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
| |
Looking at the generated shell script (also the autoconf manual), it
seems AC_SEARCH_LIBS() m4 macro does not define HAVE_LIBsomething C
preprocessor macros, unlike AC_CHECK_LIB() which does define them.
This previous change effectively killed building with GMP because
building that mode depends on existence of HAVE_LIBGMP. [Bug #13402]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
| |
* configure.in: define HAVE_MALLOC_CONF when using jemalloc.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These methods are useful for safe/concurrent file I/O in
multi-thread/process environments and also fairly standard
nowadays especially in systems supporting pthreads.
Based on patches by Avseyev <sergey.avseyev@gmail.com> at
[ruby-core:79290]. [Feature #4532]
* configure.in: check for pwrite(2). pread() is already used
internally for IO.copy_stream.
* io.c: implement wrappers for pread(2) and pwrite(2) and expose
them in IO.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* configure.in: syscall is no longer supported on macOS since
10.12. [ruby-core:80300] [Bug #13361]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
| |
* configure.in (RUBY_SO_NAME): [EXPERIMENTAL] use the given name
literally if --with-soname is specified.
[ruby-core:79972] [Misc #13296]
[ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We already check for __builtin_mul_overflow in configure but never
actually referred it before. Why not call it if available, because
that should render supposedly-optimial assembly outputs.
Optionally if __builtin_mul_overflow_p is available, which is the case
for recent GCC, use that to detect fixnum overflow. This is much
faster than the previous. On my machine generated assembly of
numeric.c:int_pow reduces from 480 to 448 bytes, according to nm(1).
Also on my machine, following script boosts from 7.819 to 6.929 sec.
time ./miniruby -e 'i=0; while i < 30_000_000 do i += 1; 7 ** 23; end'
Signed-off-by: Urabe, Shyouhei <shyouhei@ruby-lang.org>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
| |
* configure.in: check whether frexp and modf are broken.
* include/ruby/win32.h (frexp, modf): ignore bad declarations when
compiling as C++. [ruby-core:79859] [Bug #13267]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
NOTE:
(1) Fixnum's LSB is always 1.
It means you can always run `x - 1` without overflow.
(2) Of course `z = x + (y-1)` may overflow.
Now z's LSB is always 1, and the MSB of true result is also 1.
You can get true result in long as `(1<<63)|(z>>1)`,
and it equals to `(z<<63)|(z>>1)` == `ror(z)`.
GCC and Clang have __builtin_add_ovewflow:
* https://gcc.gnu.org/onlinedocs/gcc/Integer-Overflow-Builtins.html
* https://clang.llvm.org/docs/LanguageExtensions.html#checked-arithmetic-builtins
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
| |
* configure.in (--with-gmp, --with-jemalloc): use AC_SEARCH_LIBS
to check if no library is required, instead of AC_CHECK_LIB.
[ruby-core:79368] [Bug #13175]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
| |
Needs DTRACE_OBJ when "$rb_cv_prog_dtrace_g" = rebuild, too.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* configure.in (RUBY_DTRACE_AVAILABLE): try -xnolibs first.
[ruby-core:78676] [Bug #13041]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
| |
* configure.in (RUBY_DTRACE_AVAILABLE): remove a garbage space.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
| |
* configure.in (RUBY_DTRACE_AVAILABLE, RUBY_DTRACE_POSTPROCESS):
incorporate dtrace build fix on FreeBSD, dtrace needs -xnolibs
in a jail. [ruby-core:78676] [Bug #13041]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57093 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* configure.in (enable_dtrace): reduce repeated
RUBY_DTRACE_AVAILABLE checks.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* configure.in (crypt.h): crypt_r() was added in FreeBSD 12.0 but
is declared in unistd.h. [ruby-core:78664] [Bug #13038]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
| |
The `compatibility_version` should have an API version and the
`current_version` should have a program version of Ruby, but they have
been reversed and the binary compatibility has never worked.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* configure.in: make compressed debug section optional.
[ruby-core:78121] [Bug #12934]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
| |
warnings as described in r49410.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
fall through warnings but it is too noisy.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=7652
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
| |
as RbConfig::CONFIG['CC_VERSION_MESSAGE']. [Feature #12896]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* file.c: include sys/sysmacros.h for ArchLinux which deprecated
use of major() and minor() in sys/types.h.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56549 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* configure.in (ac_cv_func_round): round(3) in x86_64-w64-mingw32
is not accurate in an edge case. [ruby-core:77794] [Bug #12878]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
| |
* configure.in (DLDFLAGS): fallback to LDFLAGS.
[ruby-core:72444] [Bug #11863]
* configure.in (LIBRUBY_DLDFLAGS): fallback to DLDFLAGS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
| |
* configure.in (RUBY_APPEND_OPTION, RUBY_PREPEND_OPTION): expand
the option to be appended/prepended when matching, as well as
RUBY_APPEND_OPTIONS and RUBY_PREPEND_OPTIONS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
| |
* configure.in (DLDFLAGS): append --compress-debug-sections=zlib
if available, which reduces the size of LIBRUBY_SO by half or
more.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56445 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
| |
* configure.in (install-static-library): add option to enable/
disable to install static ruby library. defaulted to "no" if
enable-shared. [Feature #12845]
* tool/rbinstall.rb (local-arch-lib): respect the option.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56434 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
actually check its availability rather to check GCC's version.
* configure.in (WARN_UNUSED_RESULT): moved to here.
* configure.in (RUBY_FUNC_ATTRIBUTE): change function declaration
to return int rather than void, because it makes no sense for a
warn_unused_result attributed function to return void.
Funny thing however is that it also makes no sense for noreturn
attributed function to return int. So there is a fundamental
conflict between them. While I tested this, I confirmed both
GCC 6 and Clang 3.8 prefers int over void to correctly detect
necessary attributes under this setup. Maybe subject to change
in future.
* internal.h (UNINITIALIZED_VAR): renamed to MAYBE_UNUSED, then
moved to configure.in for the same reason we move
WARN_UNUSED_RESULT.
* configure.in (MAYBE_UNUSED): moved to here.
* internal.h (__has_attribute): deleted, because it has no use now.
* string.c (rb_str_enumerate_lines): refactor macro rename.
* string.c (rb_str_enumerate_bytes): ditto.
* string.c (rb_str_enumerate_chars): ditto.
* string.c (rb_str_enumerate_codepoints): ditto.
* thread.c (do_select): ditto.
* vm_backtrace.c (rb_debug_inspector_open): ditto.
* vsnprintf.c (BSD_vfprintf): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56169 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
|
| |
compiler option replacable in Makefile.
* win32/Makefile.sub (OUTFLAG, COUTFLAG): ditto.
* win32/Makeile.sub, win32/setup.mak (CC): should not append `-nologo`
option forcely.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55638 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
| |
at least Solaris 10 and 11 doesn't have sig_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
| |
* configure.in, include/ruby/defines.h (RUBY_USE_SETJMPEX):
include setjmpex.h only when using setjmpex() for RUBY_SETJMP.
the header of mingw32 overrides setjmp() by setjmpex().
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
|
|
|
| |
* missing/crypt.h (struct crypt_data): remove unnecessary member
"initialized".
* missing/crypt.c (des_setkey_r): nothing to be initialized in
crypt_data.
* configure.in (struct crypt_data): check for "initialized" in
struct crypt_data, which may be only in glibc, and isn't on AIX
at least.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55272 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
| |
* configure.in: no longer workaround crypt_r by r55247.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
| |
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
|
|
| |
* configure.in: revert r55237. replace crypt, not crypt_r, and
check if crypt is broken more.
* missing/crypt.c: move crypt_r.c
* string.c (rb_str_crypt): use crypt_r if provided by the system.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
| |
* string.c (rb_str_crypt): use reentrant crypt_r.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
|
|
|
|
|
| |
* configure.in (XCFLAGS): merge flags only for ruby itself from
ruby_cflags.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|