diff --git a/lib/libc/include/libc_private.h b/lib/libc/include/libc_private.h index 6a000c7fa6b9..6d8ed0496c64 100644 --- a/lib/libc/include/libc_private.h +++ b/lib/libc/include/libc_private.h @@ -396,7 +396,7 @@ int __strerror_rl(int errnum, char *strerrbuf, size_t buflen, #ifdef CHERI_LIB_C18N __pid_t __sys_rfork(int); -int sigaction_c18n(int, const struct sigaction *, struct sigaction *); +int _rtld_sigaction(int, const struct sigaction *, struct sigaction *); #endif #endif /* _LIBC_PRIVATE_H_ */ diff --git a/lib/libc/sys/sigaction.c b/lib/libc/sys/sigaction.c index 568dc7dc4526..809881ca4d3f 100644 --- a/lib/libc/sys/sigaction.c +++ b/lib/libc/sys/sigaction.c @@ -35,19 +35,6 @@ __weak_reference(__sys_sigaction, __sigaction); __weak_reference(sigaction, __libc_sigaction); -#ifdef CHERI_LIB_C18N -/* - * This weak symbol will always be resolved at runtime. - */ -#pragma weak _rtld_sigaction -int _rtld_sigaction(int, const struct sigaction *, struct sigaction *); - -int -sigaction_c18n(int sig, const struct sigaction *act, struct sigaction *oact) -{ - return (_rtld_sigaction(sig, act, oact)); -} -#endif #pragma weak sigaction int diff --git a/lib/libsys/interposing_table.c b/lib/libsys/interposing_table.c index 989aa6f75652..1b075d67ff2a 100644 --- a/lib/libsys/interposing_table.c +++ b/lib/libsys/interposing_table.c @@ -57,7 +57,7 @@ static interpos_func_t __libsys_interposing[INTERPOS_MAX] = { SLOT(sendto, __sys_sendto), SLOT(setcontext, __sys_setcontext), #ifdef CHERI_LIB_C18N - SLOT(sigaction, sigaction_c18n), + SLOT(sigaction, _rtld_sigaction), #else SLOT(sigaction, __sys_sigaction), #endif