summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-09-17Always generate non-empty revision.hTakashi Kokubun
Non-GNU make seems to generate empty revision.h, but it doesn't make sense since https://github.com/ruby/ruby/pull/6382. Also the $(HAVE_BASERUBY:yes=tmp) hack doesn't seem to be working on OpenBSD. I'll remove it to focus on fixing RubyCI first, and then deal with baseruby-missing environments. At least a snapshot should have revision.h and it might work fine though.
2022-09-17Remove git command existence check againTakashi Kokubun
With 33c6dd2cc89c27bbf406508ec39038a181fb99bc, it's no longer necessary. This is what I got on openbsd-current: ``` -bash-5.1$ git -v unknown option: -v usage: git [--version] [--help] [-C <path>] [-c <name>=<value>] [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path] [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare] [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>] [--super-prefix=<path>] [--config-env=<name>=<envvar>] <command> [<args>] -bash-5.1$ git version git version 2.35.1 ```
2022-09-17Fallback to VCS.release_date on VCS::NotFoundErrorTakashi Kokubun
when -q is given. One of the RubyCI servers, freebsd12, had a broken git environment: ``` $ git show fatal: detected dubious ownership in repository at '/usr/home/chkbuild/chkbuild/tmp/build/20220917T123002Z/ruby' To add an exception for this directory, call: git config --global --add safe.directory /usr/home/chkbuild/chkbuild/tmp/build/20220917T123002Z/ruby ``` tool/lib/vcs.rb doesn't work normally for that server. Even for such cases, we'd like to generate a usable revision.h. So this patch lets revision.h fallback to default VCS.release_date when VCS::NotFoundError is raised.
2022-09-17Skip test_wait on MinGW CITakashi Kokubun
This test has been unstable, and it seems like we're not interested in fixing that for MinGW. https://github.com/ruby/ruby/actions/runs/3073317191/jobs/4965373284
2022-09-17Auto-generate the release date on version.h from git CommitDate (#6382)Takashi Kokubun
* Auto-generate the release date on version.h from git CommitDate * Generate revision.h on mswin Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2022-09-17Move case-folding.rb to tooldir with enc-prefixNobuyoshi Nakada
2022-09-17Derive UNICODE_EMOJI_VERSION from UNICODE_VERSIONNobuyoshi Nakada
2022-09-17Emoji files header changed at 15.0 againNobuyoshi Nakada
2022-09-17Follow emoji data files header changeNobuyoshi Nakada
The header of emoji data files in UCD, which were moved at 13.0.0, has been changed since 14.0.0. It seems to be the same as other files in UCD.
2022-09-17[Bug #19005] dynamic_lookup linker option in external librariesNobuyoshi Nakada
The warning against `-undefined dynamic_lookup` is just a warning yet, and many gems seem to pay no attention to warnings. Until it fails actually, keep it as a migration path, except for standard extension libraries and bundled extension gems. Notes: Merged: https://github.com/ruby/ruby/pull/6394 Merged-By: nobu <nobu@ruby-lang.org>
2022-09-17* 2022-09-17 [ci skip]git
2022-09-17[ruby/irb] Support --noscript option to not use first non-option argument as ↵Jeremy Evans
script Also add --script option to turn the option back on. Previously there wasn't a way to get an interactive IRB session and access arguments provided on the command line. Additionally, handle `-` as script as stdin. In Unix-like tools, `-` means to take standard input instead of a file. This doesn't result in exactly the same output for: ``` echo 'p ARGV' > args.rb; irb args.rb a b c ``` and ``` echo 'p ARGV' | irb - a b c ``` Due to how irb handles whether stdin is a tty. However, this change allows use of `-` as a argument, instead of giving an unrecognized switch error. This required some small changes to context.rb (to handle `-` as standard input) and input-method.rb (to have FileInputMethod accept IO arguments in addition to strings). Implements [Feature #15371] https://github.com/ruby/irb/commit/4192683ba2
2022-09-16[ci skip] Fix typos in documentation in io.cPeter Zhu
2022-09-16Invalidate i-cache after link_labels (#6388)Takashi Kokubun
Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2022-09-16Update bundled_gemsKoichi Sasada
Try latest patch to avoid some race on Mac OS X. Notes: Merged: https://github.com/ruby/ruby/pull/6390
2022-09-16Omit a DRb test on MinGWTakashi Kokubun
This test seems to leak a thread and let TestIOWait fail: https://github.com/ruby/ruby/actions/runs/3065426880/jobs/4949517274 DRb almost never seemed to stably work on MinGW. I don't think we intend to fix it either. We should just omit DRb tests when they fail on MinGW.
2022-09-16Now test-bundler nees fake.rbNobuyoshi Nakada
2022-09-16* 2022-09-16 [ci skip]git
2022-09-16Fix splat args (#6385)Jimmy Miller
* Fix splat args Cfuncs were not working properly so I disabled them right now. There were some checks above that were also actually preventing splat args from being called. Finally I did some basic code cleanup after realizing I didn't need to mutate argc so much * Add can't compile for direct cfunc splat call * Fix typo * Update yjit/src/codegen.rs Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com> Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2022-09-15YJIT should die if we compile on Aarch64 with no instruction cache clear ↵Noah Gibbs
available (#6380) YJIT should die if we compile on ARM64 with no icache clear available Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2022-09-15Add asm comments to make disasm more readable (#6377)Maxime Chevalier-Boisvert
Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2022-09-15[rubygems/rubygems] Mask the file mode when extracting filesKevin Newton
When extracting files from the tarball, a mode is retrieved from the header. Occasionally you'll encounter a gem that was packaged on a system whose permission bits result in a value that is larger than the value that File.chmod will allow (anything >= 2^16). In that case the extraction fails with a RangeError, which is pretty esoteric. If you extract the tarball with the tar and gunzip utilities, the file permissions end up being just the bottom 16 bits masked off from the original value. I've mirrored that behavior here. Per the tar spec: > Modes which are not supported by the operating system restoring > files from the archive will be ignored. I think that basically means what I've done here. --- This commit also changes the behavior very slightly with regard to when the chmod is called. Previously it was called while the file descriptor was still open, but after the write call. When write flushes, the file permissions are changed to the mode value from the File.open call, undoing the changes made by FileUtils.chmod. CRuby appears to flush the buffer after the chmod call, whereas TruffleRuby flushes before the chmod call. So the file permissions can change depending on implementation. Both implementations end up getting the correct file permissions for the bottom 9 bits (user, group, world), but differ with regard to the sticky bit in the next 3. To get consistent behavior, this commit changes it to close the file descriptor before attempting to chmod anything, which makes it consistent because the write flushes in both cases. https://github.com/rubygems/rubygems/commit/22ce076e99
2022-09-15Remove warning for old TLS version connectionNobuyoshi Nakada
RubyGems.org already has refused connection requests using older than TLS 1.2.
2022-09-15[rubygems/rubygems] Also added x86_64-darwin-21Hiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/c03e7e1564
2022-09-15[rubygems/rubygems] Added arm64-darwin-22 to lockfiles for testingHiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/d7956e9ce5
2022-09-15Make CodeQL ignore syntax_suggest because of the performance problemNobuyoshi Nakada
https://github.com/github/codeql/discussions/10120#discussioncomment-3485880
2022-09-15Fix style on vm_ivar benchmarks (#6379)Jemma Issroff
Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2022-09-15[ruby/irb] Refine assertion for failuresNobuyoshi Nakada
https://github.com/ruby/irb/commit/fd047512b3
2022-09-15[ruby/irb] `Dir.mktmpdir` creates a directory including the process IDNobuyoshi Nakada
https://github.com/ruby/irb/commit/a15f68ffdb
2022-09-14Add vm_ivar get, get_unitialized, and lazy_set benchmarksJemma Issroff
Notes: Merged: https://github.com/ruby/ruby/pull/6376
2022-09-14YJIT: Implement specialized respond_to? (#6363)John Hawthorn
* Add rb_callable_method_entry_or_negative * YJIT: Implement specialized respond_to? This implements a specialized respond_to? in YJIT. * Update yjit/src/codegen.rs Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com> Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2022-09-15[TravisCI] The source of YAML is no longer bundledNobuyoshi Nakada
2022-09-15[TravisCI] Make gems/src directory writableNobuyoshi Nakada
2022-09-15* 2022-09-15 [ci skip]git
2022-09-15Add noarch-fake.rb targetNobuyoshi Nakada
`yes-fake` depends on it when `arch=noarch` is given, but the rule to generate it from fake.rb.in is ignored now.
2022-09-14Initial support for VM_CALL_ARGS_SPLAT (#6341)Jimmy Miller
* Initial support for VM_CALL_ARGS_SPLAT This implements support for calls with splat (*) for some methods. In benchmarks this made very little difference for most benchmarks, but a large difference for binarytrees. Looking at side exits, many benchmarks now don't exit for splat, but exit for some other reason. Binarytrees however had a number of calls that used splat args that are now much faster. In my non-scientific benchmarking this made splat args performance on par with not using splat args at all. * Fix wording and whitespace Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com> * Get rid of side_effect reassignment Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com> Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2022-09-14YJIT: Add Opnd#with_num_bits to use only 8 bits (#6359)Takashi Kokubun
* YJIT: Add Opnd#sub_opnd to use only 8 bits * Add with_num_bits and let arm64_split use it * Add another assertion to with_num_bits * Use only with_num_bits Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2022-09-14configure.ac: Apply suggestions from code review in #6366Kenta Murata
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
2022-09-14Reuse `opt_arg_append` functionS.H
Notes: Merged: https://github.com/ruby/ruby/pull/6373 Merged-By: nobu <nobu@ruby-lang.org>
2022-09-14configure.ac: Add --with-gmp-dir (#6366)Kenta Murata
Add the `--with-gmp-dir` to specify the prefix directory of GMP. The`--without-gmp` option is preserved for convenience. It can be used to force to reject using GMP even if the `--with-gmp-dir` option is specified. Notes: Merged-By: mrkn <mrkn@ruby-lang.org>
2022-09-14Add comments to touch libyjitNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6371
2022-09-14Touch libyjit.a which may be still old due to the cacheNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6371
2022-09-14Expand dependency for `$(YJIT_LIBS)`Nobuyoshi Nakada
Currently, miniruby is rebuild **always** when yjit is enabled, even if nothing is changed. Notes: Merged: https://github.com/ruby/ruby/pull/6371
2022-09-14Add link to how to build RubyNARUSE, Yui
2022-09-14Manage paths for bundler testsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6370
2022-09-14Pass job-server FDs to bundler testsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6370
2022-09-14-undefined dynamic_lookup is obsoleteNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6370
2022-09-14Replace "Fixes"/"Fixed" in commit logs as well as vcs.rb [ci skip]Nobuyoshi Nakada
Use the same regexp to replace "(#NNNN)" and "GH-NNNN" style references in vcs.rb, too.
2022-09-14[ruby/irb] Fix the error when LC_MESSAGES config value is nilNobuyoshi Nakada
https://github.com/ruby/irb/commit/6bbde84369
2022-09-14configure.ac: Manage OPT_DIR better (#6367)Nobuyoshi Nakada
* Check rpath flag earlier * Manage OPT_DIR at once Notes: Merged-By: mrkn <mrkn@ruby-lang.org>