Skip to content

Commit

Permalink
Fixed leaked global symbols
Browse files Browse the repository at this point in the history
  • Loading branch information
nobu committed Dec 26, 2020
1 parent 73cd495 commit 292230c
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 13 deletions.
14 changes: 9 additions & 5 deletions gc.c
Expand Up @@ -4640,7 +4640,7 @@ static void read_barrier_handler(intptr_t address)
}

#if defined(_WIN32)
LPTOP_LEVEL_EXCEPTION_FILTER old_handler;
static LPTOP_LEVEL_EXCEPTION_FILTER old_handler;
typedef void (*signal_handler)(int);
static signal_handler old_sigsegv_handler;

Expand All @@ -4659,13 +4659,15 @@ static LONG WINAPI read_barrier_signal(EXCEPTION_POINTERS * info)
}
}

static void uninstall_handlers(void)
static void
uninstall_handlers(void)
{
signal(SIGSEGV, old_sigsegv_handler);
SetUnhandledExceptionFilter(old_handler);
}

static void install_handlers(void)
static void
install_handlers(void)
{
/* Remove SEGV handler so that the Unhandled Exception Filter handles it */
old_sigsegv_handler = signal(SIGSEGV, NULL);
Expand Down Expand Up @@ -4701,13 +4703,15 @@ read_barrier_signal(int sig, siginfo_t * info, void * data)
sigprocmask(SIG_SETMASK, &prev_set, NULL);
}

static void uninstall_handlers(void)
static void
uninstall_handlers(void)
{
sigaction(SIGBUS, &old_sigbus_handler, NULL);
sigaction(SIGSEGV, &old_sigsegv_handler, NULL);
}

static void install_handlers(void)
static void
install_handlers(void)
{
struct sigaction action;
memset(&action, 0, sizeof(struct sigaction));
Expand Down
7 changes: 4 additions & 3 deletions vm_insnhelper.c
Expand Up @@ -237,7 +237,7 @@ static bool vm_stack_canary_was_born = false;

#ifndef MJIT_HEADER
MJIT_FUNC_EXPORTED void
vm_check_canary(const rb_execution_context_t *ec, VALUE *sp)
rb_vm_check_canary(const rb_execution_context_t *ec, VALUE *sp)
{
const struct rb_control_frame_struct *reg_cfp = ec->cfp;
const struct rb_iseq_struct *iseq;
Expand Down Expand Up @@ -284,6 +284,7 @@ vm_check_canary(const rb_execution_context_t *ec, VALUE *sp)
rb_bug("see above.");
}
#endif
#define vm_check_canary(ec, sp) rb_vm_check_canary(ec, sp)

#else
#define vm_check_canary(ec, sp)
Expand Down Expand Up @@ -5334,7 +5335,7 @@ vm_trace(rb_execution_context_t *ec, rb_control_frame_t *reg_cfp)

#if VM_CHECK_MODE > 0
NORETURN( NOINLINE( COLDFUNC
void vm_canary_is_found_dead(enum ruby_vminsn_type i, VALUE c)));
void rb_vm_canary_is_found_dead(enum ruby_vminsn_type i, VALUE c)));

void
Init_vm_stack_canary(void)
Expand All @@ -5349,7 +5350,7 @@ Init_vm_stack_canary(void)

#ifndef MJIT_HEADER
MJIT_FUNC_EXPORTED void
vm_canary_is_found_dead(enum ruby_vminsn_type i, VALUE c)
rb_vm_canary_is_found_dead(enum ruby_vminsn_type i, VALUE c)
{
/* Because a method has already been called, why not call
* another one. */
Expand Down
2 changes: 1 addition & 1 deletion vm_insnhelper.h
Expand Up @@ -153,7 +153,7 @@ CC_SET_FASTPATH(const struct rb_callcache *cc, vm_call_handler func, bool enable
*canary = Qfalse; /* cleanup */ \
} \
else { \
vm_canary_is_found_dead(insn, *canary); \
rb_vm_canary_is_found_dead(insn, *canary); \
} \
}
#else
Expand Down
4 changes: 2 additions & 2 deletions vm_sync.c
Expand Up @@ -14,7 +14,7 @@ vm_locked(rb_vm_t *vm)

#if RUBY_DEBUG > 0
void
ASSERT_vm_locking(void)
RUBY_ASSERT_vm_locking(void)
{
if (rb_multi_ractor_p()) {
rb_vm_t *vm = GET_VM();
Expand All @@ -23,7 +23,7 @@ ASSERT_vm_locking(void)
}

void
ASSERT_vm_unlocking(void)
RUBY_ASSERT_vm_unlocking(void)
{
if (rb_multi_ractor_p()) {
rb_vm_t *vm = GET_VM();
Expand Down
6 changes: 4 additions & 2 deletions vm_sync.h
Expand Up @@ -126,8 +126,10 @@ rb_vm_lock_leave_cr(struct rb_ractor_struct *cr, unsigned int *levp, const char
#define RB_VM_LOCK_LEAVE_NO_BARRIER() RB_VM_LOCK_LEAVE_LEV(&_lev); }

#if RUBY_DEBUG > 0
void ASSERT_vm_locking(void);
void ASSERT_vm_unlocking(void);
void RUBY_ASSERT_vm_locking(void);
void RUBY_ASSERT_vm_unlocking(void);
#define ASSERT_vm_locking() RUBY_ASSERT_vm_locking()
#define ASSERT_vm_unlocking() RUBY_ASSERT_vm_unlocking()
#else
#define ASSERT_vm_locking()
#define ASSERT_vm_unlocking()
Expand Down

0 comments on commit 292230c

Please sign in to comment.