Project

General

Profile

Feature #21539 » protected.patch

protected - recommended - dalehamel (Dale Hamel), 10/15/2026 12:25 PM

View differences:

vm.c
VALUE rb_str_concat_literals(size_t, const VALUE*);
VALUE vm_exec(rb_execution_context_t *);
__attribute__((visibility("protected"))) VALUE vm_exec(rb_execution_context_t *);
extern const char *const rb_debug_counter_names[];
......
bool ruby_vm_keep_script_lines;
#ifdef RB_THREAD_LOCAL_SPECIFIER
RB_THREAD_LOCAL_SPECIFIER rb_execution_context_t *ruby_current_ec;
RUBY_SYMBOL_EXPORT_BEGIN
__attribute__((visibility("protected"))) RB_THREAD_LOCAL_SPECIFIER rb_execution_context_t *ruby_current_ec;
RUBY_SYMBOL_EXPORT_END
#ifdef RUBY_NT_SERIAL
RB_THREAD_LOCAL_SPECIFIER rb_atomic_t ruby_nt_serial;
-- a/thread_pthread.h
++ b/thread_pthread.h
......
# ifdef RB_THREAD_CURRENT_EC_NOINLINE
NOINLINE(struct rb_execution_context_struct *rb_current_ec(void));
# else
RUBY_EXTERN RB_THREAD_LOCAL_SPECIFIER struct rb_execution_context_struct *ruby_current_ec;
RUBY_SYMBOL_EXPORT_BEGIN
RUBY_EXTERN __attribute__((visibility("protected"))) RB_THREAD_LOCAL_SPECIFIER struct rb_execution_context_struct *ruby_current_ec;
RUBY_SYMBOL_EXPORT_END
// for RUBY_DEBUG_LOG()
RUBY_EXTERN RB_THREAD_LOCAL_SPECIFIER rb_atomic_t ruby_nt_serial;
-- a/symbol.c
++ b/symbol.c
......
VALUE ids;
} rb_symbols_t;
rb_symbols_t ruby_global_symbols = {
RUBY_SYMBOL_EXPORT_BEGIN
__attribute__((visibility("protected"))) rb_symbols_t ruby_global_symbols = {
.next_id = tNEXT_ID,
};
RUBY_SYMBOL_EXPORT_END
struct sym_set_static_sym_entry {
VALUE sym;
(1-1/2)