1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/include/ruby
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
..
backward Check if __assume is supported 2022-02-19 23:32:52 +09:00
fiber Fix typos [ci skip] 2021-12-25 10:33:49 +09:00
internal [Feature #18249] Implement ABI checking 2022-02-22 09:55:21 -05:00
io Add fiber scheduler hooks for pread/pwrite, and add support to IO::Buffer. 2021-12-23 12:20:09 +13:00
assert.h sed -i 's/. They/. They/' 2021-09-10 20:00:06 +09:00
atomic.h Align the implementation precedences with rb_atomic_t definition 2021-09-24 10:11:32 +09:00
backward.h Mark rb_clear_constant_cache as internal use only 2022-01-20 13:54:37 +09:00
debug.h include/ruby/debug.h: add doxygen 2021-09-10 20:00:06 +09:00
defines.h include/ruby/defines.h: add doxygen 2021-09-10 20:00:06 +09:00
encoding.h split include/ruby/encoding.h 2021-10-05 14:18:23 +09:00
intern.h drop varargs.h support 2020-05-11 14:56:51 +09:00
io.h include/ruby/io.h: use 0 as POLLPRI when no support for it 2022-01-19 13:19:58 +09:00
memory_view.h memory_view.c: Add _memory_view_entry member in rb_memory_view_t (#5088) 2021-11-08 12:52:09 +09:00
missing.h [wasm] wasm/missing.{c,h}: add missing libc stubs for wasi-libc 2022-01-19 11:19:06 +09:00
onigmo.h
oniguruma.h
ractor.h Fix typos 2021-11-02 19:17:37 +09:00
random.h include/ruby/random.h: add doxygen 2021-09-10 20:00:06 +09:00
re.h include/ruby/re.h: add doxygen 2021-09-10 20:00:06 +09:00
regex.h include/ruby/regex.h: skip doxygen 2021-09-10 20:00:06 +09:00
ruby.h [Feature #18249] Implement ABI checking 2022-02-22 09:55:21 -05:00
st.h Fix typos (#2958) 2020-03-11 00:43:12 -07:00
subst.h include/ruby/subst.h: skip doxygen 2021-09-10 20:00:06 +09:00
thread.h include/ruby/thread.h: add doxygen 2021-09-10 20:00:06 +09:00
thread_native.h [wasm] add no thread variant for freestanding environment 2022-01-19 11:19:06 +09:00
util.h ruby_scan_oct, ruby_scan_hex: are not pure 2021-09-10 20:00:06 +09:00
version.h Development of 3.1.0 started. 2021-12-26 23:22:26 +09:00
vm.h include/ruby/vm.h: add doxygen 2021-09-10 20:00:06 +09:00
win32.h include/ruby/win32.h: explicitly define HAVE_SHUTDOWN 2022-01-19 17:52:19 +09:00