1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/tool
Peter Zhu 3df16924b4 [Feature #18249] Implement ABI checking
Header file include/ruby/internal/abi.h contains RUBY_ABI_VERSION which
is the ABI version. This value should be bumped whenever an ABI
incompatible change is introduced.

When loading dynamic libraries, Ruby will compare its own
`ruby_abi_version` and the `ruby_abi_version` of the loaded library. If
these two values don't match it will raise a `LoadError`. This feature
can also be turned off by setting the environment variable
`RUBY_RUBY_ABI_CHECK=0`.

This feature will prevent cases where previously installed native gems
fail in unexpected ways due to incompatibility of changes in header
files. This will force the developer to recompile their gems to use the
same header files as the built Ruby.

In Ruby, the ABI version is exposed through
`RbConfig::CONFIG["ruby_abi_version"]`.
2022-02-22 09:55:21 -05:00
..
bundler Sync latest Bundler & RubyGems 2022-02-01 08:09:23 +09:00
dummy-rake-compiler/rake Bundle rbs 1.7.0.beta.5 2021-11-09 03:32:46 +09:00
lib fix parallel test timeout retrying 2022-02-16 17:57:04 +09:00
m4 RUBY_REPLACE_TYPE: check if the target type is a pointer 2022-02-19 15:33:15 +09:00
releng gen-mail.rb: support markdown file path 2022-02-18 21:44:22 +09:00
ruby_vm Treat TS_ICVARC cache as separate from TS_IVC cache 2022-02-02 09:20:34 -08:00
test Let testunit use omit or pend instead of skip 2022-01-16 21:35:09 +09:00
asm_parse.rb
bisect.sh
build-transcode
checksum.rb
ci_functions.sh
colors
darwin-cc
disable_ipv6.sh
downloader.rb
enc-emoji-citrus-gen.rb
enc-emoji4unicode.rb
enc-unicode.rb
eval.rb
expand-config.rb
extlibs.rb
fake.rb
fetch-bundled_gems.rb Fetch the unmerged revision to test of bundled gems 2022-01-14 14:54:29 +09:00
file2lastrev.rb
format-release tag's prefix is "v" 2021-12-25 22:19:02 +09:00
gem-unpack.rb
gen-mailmap.rb
gen_dummy_probes.rb
gen_ruby_tapset.rb
generic_erb.rb
git-refresh
gperf.sed
id2token.rb
ifchange
insns2vm.rb
install-sh
intern_ids.rb
leaked-globals
make-snapshot Revert "Do not include external library sources into packages" 2021-12-25 21:22:02 +09:00
make_hgraph.rb
mdoc2man.rb
merger.rb
mjit_archflag.sh
mjit_tabs.rb
mk_builtin_loader.rb Primitive.mandatory_only? for fast path 2021-11-15 15:58:56 +09:00
mkconfig.rb [Feature #18249] Implement ABI checking 2022-02-22 09:55:21 -05:00
mkrunnable.rb Merge to one regexp 2021-12-14 12:19:44 +09:00
node_name.rb
parse.rb
prereq.status
probes_to_wiki.rb
pure_parser.rb
rbinstall.rb tool/rbinstall.rb: instal ruby.wasm produced by Emscripten 2022-01-06 18:14:24 +09:00
rbuninstall.rb
redmine-backporter.rb
release.sh
rmdirs
run-gcov.rb
run-lcov.rb
runruby.rb
search-cgvars.rb
strip-rdoc.rb
sync_default_gems.rb Sync latest Bundler & RubyGems 2022-02-01 08:09:23 +09:00
test-bundled-gems.rb Relax extention name for macOS 2021-11-15 16:52:10 +09:00
test-coverage.rb
transcode-tblgen.rb
transform_mjit_header.rb [Feature #18249] Implement ABI checking 2022-02-22 09:55:21 -05:00
travis_retry.sh
travis_wait.sh
update-bundled_gems.rb update-bundled_gems.rb: Fix typo and version comparison 2021-12-02 21:13:02 +09:00
update-deps
vtlh.rb
wasm-clangw [wasm] add asyncify based setjmp, fiber, register scan emulation 2022-01-19 11:19:06 +09:00
ytab.sed