aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* merge revision(s) ↵v2_7_2nagachika2020-10-012-3/+7
| | | | | | | | | | | | 0168094da28c146062db22e69cbd9316418310f9,cdef17096c03099f17ecf0af51f43faa0944f96d,b7d86e330c76b4f9615511307e1c40f4f2937c83: Use libSystem.dylib instead of libm.dylib and libc.dylib Because macOS 11.0(Big Sur) was removed libc and libm from `/usr/lib`. libSystem.dylib is also symlink. Use libSystem.B.dylib Workaroud for macOS Big Sur(11.0)
* merge revision(s) ↵nagachika2020-10-014-30/+21
| | | | | | | | | | | | | | | | | 35ba2783fe6b3316a6bbc6f00bf975ad7185d6e0,e8edc34f0abe176b24975a1fed1f2c3782f0a252: [Backport #16807] Use a linked list to eliminate imemo tmp bufs for managing local tables This patch changes local table memory to be managed by a linked list rather than via the garbage collector. It reduces allocations from the GC and also fixes a use-after-free bug in the concurrent-with-sweep compactor I'm working on. Remove unused struct member I accidentally added this in 35ba2783fe6b3316a6bbc6f00bf975ad7185d6e0, and it's making the size of RVALUE be too big. I'm sorry! orz
* bump teeny version to 2.7.2.nagachika2020-10-011-2/+2
|
* merge revision(s) ↵nagachika2020-10-013-11/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d732bc51bdbfe7d66038731d42e01a511d13b5f8,633a1f15d8228236094ddee12e4e169d655ec49e,95f387f61a4a4ea92635da760b7de5b1e09bb84e,528a3a17977aa1843a26630c96635c3cb161e729,261569d4aac440f25de588cca365163ecf1124a2,e4a9e926f0fe0acf2fbe61da6e075a95d34be066,318be1cb2f9c6f04403c063a5618c6267012ee51,e1855100e46040e73630b378974c17764e0cccee,9cfa811b0f209d714f89fe0de6778c71f77556c7,b68dab866724aacc1cbc6b7d5e1f555dec092346: [Backport #17202] Revert "Revert "Revert "[ruby/fiddle] Use ffi_closure_free by default. (#20)""" This reverts commit 87f6154bb4c67ca77ee353bb1fe25a922036c0e5. It turned out that the change fails to build on macOS https://rubyci.org/logs/rubyci.s3.amazonaws.com/osx1014/ruby-master/log/20200304T074503Z.fail.html.gz ``` + make 'TESTS=--hide-skip -v fiddle' RUBYOPT=-w test-all dyld: lazy symbol binding failed: Symbol not found: _ffi_closure_alloc Referenced from: /Users/hsbt/Documents/cb/tmp/build/20200304T074503Z/ruby/.ext/x86_64-darwin18/fiddle.bundle Expected in: flat namespace dyld: Symbol not found: _ffi_closure_alloc Referenced from: /Users/hsbt/Documents/cb/tmp/build/20200304T074503Z/ruby/.ext/x86_64-darwin18/fiddle.bundle Expected in: flat namespace make: *** [yes-test-all] Abort trap: 6 ``` [ruby/fiddle] Use ffi_closure_free if available [ruby/fiddle] ffi_closure_free is available in the bundled libffi [ruby/fiddle] use ffi_closure_alloc only with 3.2 or later [ruby/fiddle] always use ffi_closure_alloc on Windows Fixed a typo Show libffi version only if set ext/fiddle/extconf.rb: check if ffi_closure_alloc is available to define HAVE_FFI_CLOSURE_ALLOC. The macro is used in closure.c, so have_func check is needed. If pkg-config is not installed, extconf.rb fails to detect the version of libffi, and does not add "-DUSE_FFI_CLOSURE_ALLOC=1" even when system libffi version is >= 3.2. If USE_FFI_CLOSURE_ALLOC is not defined, closure.c attempts to check if HAVE_FFI_CLOSURE_ALLOC is defined or not, but have_func was removed with 528a3a17977aa1843a26630c96635c3cb161e729, so the macro is always not defined. This resulted in this deprecation warning: https://rubyci.org/logs/rubyci.s3.amazonaws.com/ubuntu2004/ruby-master/log/20200512T123003Z.log.html.gz ``` compiling closure.c closure.c: In function 'initialize': closure.c:265:5: warning: 'ffi_prep_closure' is deprecated: use ffi_prep_closure_loc instead [-Wdeprecated-declarations] 265 | result = ffi_prep_closure(pcl, cif, callback, (void *)self); | ^~~~~~ In file included from ./fiddle.h:42, from closure.c:1: /usr/include/x86_64-linux-gnu/ffi.h:334:1: note: declared here 334 | ffi_prep_closure (ffi_closure*, | ^~~~~~~~~~~~~~~~ ``` Do not try ffi_closure_alloc if libffi is <= 3.1 Maybe due to e1855100e46040e73630b378974c17764e0cccee, CentOS, RHEL, and Fedora CIs have started failing with SEGV. Try to avoid ffi_closure_alloc on those environments. https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos8/ruby-master/log/20200512T183004Z.fail.html.gz https://rubyci.org/logs/rubyci.s3.amazonaws.com/fedora32/ruby-master/log/20200512T183004Z.fail.html.gz https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel8/ruby-master/log/20200512T183003Z.fail.html.gz ext/fiddle/extconf.rb: Fix the condition of libffi <= 3.1 ver is [3, 1, 0] which is not less then or equal to [3, 1]
* merge revision(s) ↵nagachika2020-09-3019-67/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f96216df8dfd2d1e206150572912289f4dda7386,0091fac1d8de07e86fef8315ba77609bed9dd7f5,04c704c5c967ea9bded6bf645439fe59c7d9f7d6,23655e6de5ee989feb8c65c7061fe9a71579dc54,7cb8904a12c850ee30dcd67817fa2f9dc3fee813,41168f69fbeb32cfc88210911d62e419b8116589,87f6154bb4c67ca77ee353bb1fe25a922036c0e5: [Backport #17202] Remove "All Rights Reserved." from Copyright statement. Patch assembly so that it aligns properly Removed trailing spaces [ci skip] Fix build error on Apple silicon macOS This patch will fix following build error on macOS 11.0 + Xcode 12 beta. ``` $ ./configure $ make V=1 BASERUBY = /Users/watson/.rbenv/shims/ruby --disable=gems CC = clang -fdeclspec LD = ld LDSHARED = clang -fdeclspec -dynamiclib CFLAGS = -O3 -ggdb3 -Wall -Wextra -Werror=deprecated-declarations -Werror=division-by-zero -Werror=implicit-function-declaration -Werror=implicit-int -Werror=misleading-indentation -Werror=pointer-arith -Werror=shorten-64-to-32 -Werror=write-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Werror=extra-tokens -std=gnu99 -pipe XCFLAGS = -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -DRUBY_DEVEL=1 -fvisibility=hidden -DRUBY_EXPORT -fPIE -DCANONICALIZATION_FOR_MATHN -I. -I.ext/include/arm64-darwin20 -I./include -I. -I./enc/unicode/12.1.0 CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT DLDFLAGS = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -fstack-protector-strong -Wl,-pie -framework Security -framework Foundation SOLIBS = -lpthread -ldl -lobjc LANG = ja_JP.UTF-8 LC_ALL = LC_CTYPE = MFLAGS = Apple clang version 12.0.0 (clang-1200.0.22.19) Target: arm64-apple-darwin20.0.0 Thread model: posix InstalledDir: /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin clang -fdeclspec -O3 -ggdb3 -Wall -Wextra -Werror=deprecated-declarations -Werror=division-by-zero -Werror=implicit-function-declaration -Werror=implicit-int -Werror=misleading-indentation -Werror=pointer-arith -Werror=shorten-64-to-32 -Werror=write-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Werror=extra-tokens -std=gnu99 -pipe -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -DRUBY_DEVEL=1 -fvisibility=hidden -DRUBY_EXPORT -fPIE -DCANONICALIZATION_FOR_MATHN -I. -I.ext/include/arm64-darwin20 -I./include -I. -I./enc/unicode/12.1.0 -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -o cont.o -c cont.c In file included from cont.c:19: ./coroutine/ucontext/Context.h:32:5: error: 'getcontext' is deprecated: first deprecated in macOS 10.6 [-Werror,-Wdeprecated-declarations] getcontext(&context->state); ^ /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ucontext.h:37:6: note: 'getcontext' has been explicitly marked deprecated here int getcontext(ucontext_t *) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) __WATCHOS_PROHIBITED __TVOS_PROHIBITED; ^ In file included from cont.c:19: ./coroutine/ucontext/Context.h:51:5: error: 'makecontext' is deprecated: first deprecated in macOS 10.6 [-Werror,-Wdeprecated-declarations] makecontext(&context->state, (void(*)(void))coroutine_trampoline, 2, (void*)start, (void*)context); ^ /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ucontext.h:38:6: note: 'makecontext' has been explicitly marked deprecated here void makecontext(ucontext_t *, void (*)(), int, ...) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_2_0, __IPHONE_2_0) __WATCHOS_PROHI... ^ In file included from cont.c:19: ./coroutine/ucontext/Context.h:59:5: error: 'swapcontext' is deprecated: first deprecated in macOS 10.6 [-Werror,-Wdeprecated-declarations] swapcontext(&current->state, &target->state); ^ /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/ucontext.h:40:6: note: 'swapcontext' has been explicitly marked deprecated here int swapcontext(ucontext_t * __restrict, const ucontext_t * __restrict) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_6, __IPHONE_2_0, __IPHONE_... ^ 3 errors generated. make: *** [cont.o] Error 1 ``` Extract correct processor name for ARM64 Macs Prefix export symbol prefix to coroutine_transfer Revert "Revert "[ruby/fiddle] Use ffi_closure_free by default. (#20)"" This reverts commit efd641ffab34e433a8d8a7d78914576f2425aa90. This changeset seems to be needed to suppress a warning on Ubuntu 20.04 https://rubyci.org/logs/rubyci.s3.amazonaws.com/ubuntu/ruby-master/log/20200304T033004Z.log.html.gz ``` closure.c:264:5: warning: 'ffi_prep_closure' is deprecated: use ffi_prep_closure_loc instead [-Wdeprecated-declarations] 264 | result = ffi_prep_closure(pcl, cif, callback, (void *)self); | ^~~~~~ ``` I guess there was a reason why the commit was reverted (maybe some CIs failed?), so try it again.
* merge revision(s) ↵nagachika2020-09-302-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 07786edd66f59a529d6febb2e0fe901782991755,1917afa34bca55ba1ea578234132b7e4479ea3c9,0c611d7f4fce67c64bee4815f263c55ef15561c4: test/net/http/test_https.rb: Stop the error due to openssl 1.1.1h On some environments that uses OpenSSL 1.1.1h, the two tests now fail. http://rubyci.s3.amazonaws.com/android29-x86_64/ruby-master/log/20200924T062352Z.fail.html.gz https://github.com/ruby/ruby/runs/1159288773?check_suite_focus=true ``` 1) Failure: TestNetHTTPS#test_get [/data/data/com.termux/files/home/cb/tmp/build/20200924T062352Z/ruby/test/net/http/test_https.rb:47]: <"0\x82\x03\xED0\x82\x02\xD5\xA0\x03..."> expected but was <"0\x82\x03\xE30\x82\x02\xCB\xA0\x03...">. ``` Not sure why, but verify_callback now seems to receive only SERVER_CERT but not CA_CERT. It would be good to investigate the issue furthermore, but tentatively, I want to stop the failures. test/net/http/test_https.rb: the order of verify_callback seems to vary ... depending upon the environment. test/net/http/test_https.rb: The test logic was buggy The expected certs must be `[CA_CERT, SERVER_CERT]` before 1.1.1g and `[SERVER_CERT]` after 1.1.1h.
* merge revision(s) d23d2f3f6fbb5d787b0dd80675c489a692be23e2:nagachika2020-09-292-4/+4
| | | | | | | | [ruby/webrick] Make it more strict to interpret some headers Some regexps were too tolerant. https://github.com/ruby/webrick/commit/8946bb38b4
* merge revision(s) 996af2ce086249e904b2ce95ab2fcd1de7d757be: [Backport ↵nagachika2020-09-2921-140/+120
| | | | | | | | #16345] [Backport #17000] Disable deprecation warning by the default [Feature #16345] And `-w` option turns it on.
* merge revision(s) df14c758fc705c49c2aaf4c9276a8f7229438fbf: [Backport #17181]nagachika2020-09-293-2/+4
| | | | | | | | | Make hash returned by Hash#transform_values not have a default This sets an explicit default of nil. There is probably a better approach of removing the default. Fixes [Bug #17181]
* bump patchlevel to 128nagachika2020-09-201-2/+2
|
* Revert "statement experssion is a GCCism" to pass ICC CI.nagachika2020-09-203-12/+12
| | | | This reverts commit a6b50f379d4b71acac73ac6b22cbe2d2c5b50b3f.
* Skip bundler spec using irb with simulated JRuby environment.nagachika2020-09-172-2/+3
|
* bump patchlevel to 126nagachika2020-09-161-2/+2
|
* Merge latest readline-extaycabta2020-09-162-2/+24
|
* Merge IRB 1.2.6aycabta2020-09-1629-106/+913
|
* Merge Reline 0.1.5aycabta2020-09-1620-153/+914
|
* bump patchlevel to 125nagachika2020-09-151-2/+2
|
* Merge RubyGems 3.1.4Hiroshi SHIBATA2020-09-1526-119/+372
|
* spec/ruby/core/file/utime_spec.rb: far future timestamp may be trancatedYusuke Endoh2020-09-092-5/+7
| | | | | | | | | | | | | | | | | | Under some Ext4 filesystem settings, a timestamp is limited up to 0x37fffffff (2446-05-10). https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout#Inode_Timestamps > Therefore, timestamps should not overflow until May 2446. Actually the spec fails under one of our CI environments, like: ``` 1) File.utime allows Time instances in the far future to set mtime and atime FAILED Expected 2446 == 559444 to be truthy but was false ``` https://rubyci.org/logs/rubyci.s3.amazonaws.com/arch/ruby-master/log/20200208T180002Z.fail.html.gz
* Run a TracePoint test in an insolated processnagachika2020-09-072-9/+11
| | | | | to prevent a random failure like http://ci.rvm.jp/results/trunk-random2@phosphorus-docker/3024287
* * 2020-09-07 [ci skip]git2020-09-071-1/+1
|
* Fix a random test failure by TracePointnagachika2020-09-071-2/+4
| | | | | | | A test worker process may already be enabling TracePoint, which results in changing the insn name in this test. http://ci.rvm.jp/results/trunk-random0@phosphorus-docker/3022750
* merge revision(s) ff5e66034006a875125581114cce19d46843b32a: [Backport #17015]nagachika2020-09-063-2/+19
| | | | | Added `NODE_SPECIAL_EXCESSIVE_COMMA` info to `ARGS` of `RubyVM::AbstractSyntaxTree`.
* merge revision(s) 3e02cd518fbe4d91c2aca7fbc3c5aafa387d3cb7: [Backport #17149]nagachika2020-09-064-3/+21
| | | | | | | | Trace :return of builtin methods using opt_invokebuiltin_delegate_leave insn. Since Ruby 2.7, :return of methods using builtin have not been traced properly.
* merge revision(s) 11963da9e8e98821860fbb0c0f2adc118860c814: [Backport ↵nagachika2020-09-063-3/+9
| | | | | | | | #16603] [Backport #17141] Check type of empty keyword [Bug #16603] Co-authored-by: Yusuke Endoh <mame@ruby-lang.org>
* bump patchlevel to 119nagachika2020-09-051-3/+3
|
* Revert "Don't display singleton class in Method#inspect unless method ↵nagachika2020-09-053-34/+1
| | | | | | | | defined there" [Backport #16771] This reverts commit 0d24fb774d84d4a99454ce10fd343da00049a588.
* merge revision(s) 8e189df32cacef4b21e357a590d349330532baf5: [Backport #17013]nagachika2020-08-073-3/+15
| | | | Add operator info to `OP_ASGN2` of `RubyVM::AbstractSyntaxTree`.
* merge revision(s) d05f04d27dd86c67e4a8dfff4392f806cf577bdf: [Backport #16931]nagachika2020-08-013-2/+3
| | | | | | | | Fixed `defined?` against protected method call Protected methods are restricted to be called according to the class/module in where it is defined, not the actual receiver's class. [Bug #16931]
* Split test_defined_methodNobuyoshi Nakada2020-08-011-1/+22
|
* Fix typo in test namePeter Zhu2020-08-011-1/+1
|
* Test for [Bug #16669]Nobuyoshi Nakada2020-08-011-0/+8
|
* Split test_definedNobuyoshi Nakada2020-08-011-2/+16
|
* bump up patchlevel for a332e8a0ddad90c540c6c52f0db2a45e5955a23dnagachika2020-08-011-3/+3
|
* ruby_2_7 update MinGW Actions workflowMSP-Greg2020-08-011-4/+3
|
* merge revision(s) 1b4d406e3a04032b6d01e92b6d184a16945c6ac3: [Backport ↵nagachika2020-07-263-5/+16
| | | | | | | | #16498] [Backport #16914] Hash#transform_values should return a plain new Hash [Bug #16498]
* partially merge revision adf709a78534c1483ba851ccb0490464ca31503c: [Backport ↵nagachika2020-07-263-14/+21
| | | | | | | | | | | | #16801] Classes made from Struct should have default new singleton method. Co-authored-by: Yusuke Endoh mame@ruby-lang.org Co-authored-by: John Hawthorn john@hawthorn.email Co-authored-by: Adam Hess HParker@github.com Co-authored-by: Jose Cortinas jacortinas@gmail.com Co-authored-by: Jean Boussier jean.boussier@gmail.com
* merge revision(s) ↵nagachika2020-07-2619-14/+32
| | | | | | | | | | | | | | | | | | | | a0bc3f2a1c2c98f225612101cb4e1ea1a6813546,75a0447c15a7ab017bd4240c2a9cc69b134b80b9,f1699314147bad2cf5550cc582693424fdbc2510: [Backport #16846] Suppress C4267 "possible loss of data" warnings Suppress C4267 "possible loss of data" warnings Just cast down explicitly. win32ole: separate global variable declarations and definitions https://gcc.gnu.org/gcc-10/changes.html#c > * GCC now defaults to `-fno-common`. As a result, global > variable accesses are more efficient on various targets. In > C, global variables with multiple tentative definitions now > result in linker errors. With `-fcommon` such definitions are > silently merged during linking.
* merge revision(s) 5e81e8675a020ecd493620a4ff38db8fcf4b972a: [Backport #16780]nagachika2020-07-252-9/+9
| | | | | | Ignore exceptions when closing data connections [Bug #16780] Patch by koshigoe (Masataka SUZUKI). Thanks!
* merge revision(s) cbe4f75ef802f13d05f94e42274b65a062bd3666: [Backport #16834]nagachika2020-07-253-8/+36
| | | | | | | | Fix rb_profile_frame_classpath to handle module singletons Right now `SomeClass.method` is properly named, but `SomeModule.method` is displayed as `#<Module:0x000055eb5d95adc8>.method` which makes profiling annoying.
* merge revision(s) 71c166e11e761dcaaa943f9b94da38f86ada1bdb: [Backport #16854]nagachika2020-07-253-6/+8
| | | | Fixed argument forwarding in reserved word method [Bug #16854]
* merge revision(s) 08529a61153e5c40f57a65272211357511d6e6db: [Backport #16798]nagachika2020-07-253-4/+22
| | | | Compare environment variable names in those manor [Bug #16798]
* merge revision(s) 2f1895fa15386fb3cdc91c5604171290828b9da8: [Backport #16767]nagachika2020-07-253-2/+11
| | | | Fixed formatted substring expansion [Bug #16767]
* merge revision(s) 927308108cced69cae478798004524b9a5d2f252: [Backport #16764]nagachika2020-07-233-9/+33
| | | | Fix source location of autoloaded constant [Bug #16764]
* merge revision(s) da05c1552ee519d8f180b48d97148d28501acb35: [Backport #16749]nagachika2020-07-233-8/+5
| | | | Update to ruby/spec@cc7b9e5
* merge revision(s) 72c02aa4b79731c7f25c9267f74b347f1946c704: [Backport #16662]nagachika2020-07-233-91/+8
| | | | | | | Moved not-implemented method tests [Bug #16662] Test not-implemented method with the dedicated methods, instead of platform dependent features.
* merge revision(s) b23fd59cbb3f097bcd559d0c85a86ff7a1eeeb7e: [Backport #16501]nagachika2020-07-233-8/+60
| | | | | | | | | | | | | | | marshal.c: Support dump and load of a Hash with the ruby2_keywords flag It is useful for a program that dumps and load arguments (like drb). In future, they should deal with both positional arguments and keyword ones explicitly, but until ruby2_keywords is deprecated, it is good to support the flag in marshal. The implementation is similar to String's encoding; it is dumped as a hidden instance variable. [Feature #16501]
* Get rid of use of magic number 'E'Nobuyoshi Nakada2020-07-231-4/+10
|
* merge revision(s) e04418bb16cd99b4a4402e7457d3bdc967284f98: [Backport #16830]nagachika2020-07-233-1/+6
| | | | | | | | [ruby/uri] Check if DN exists https://bugs.ruby-lang.org/issues/16830 https://github.com/ruby/uri/commit/b4bf8c1217
* merge revision(s) a2be428c5fec31b8adbd5ac087e7637ddf7e54d0: [Backport #16826]nagachika2020-07-232-5/+13
| | | | | | Fix ObjectSpace::WeakMap#key? to work if the value is nil * Fixes [Bug #16826]