mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00
tools/nolibc: disable function sanitizer for _start_c()
Both constructors and main() may be executed with different function signatures than they are actually using. This is intentional but trips up UBSAN. Disable the function sanitizer of UBSAN in _start_c(). Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Acked-by: Willy Tarreau <w@1wt.eu> Link: https://lore.kernel.org/r/20250419-nolibc-ubsan-v2-3-060b8a016917@weissschuh.net
This commit is contained in:
parent
f4152715dc
commit
9fca5554af
1 changed files with 5 additions and 0 deletions
|
@ -7,6 +7,8 @@
|
|||
#ifndef _NOLIBC_CRT_H
|
||||
#define _NOLIBC_CRT_H
|
||||
|
||||
#include "compiler.h"
|
||||
|
||||
char **environ __attribute__((weak));
|
||||
const unsigned long *_auxv __attribute__((weak));
|
||||
|
||||
|
@ -25,6 +27,9 @@ extern void (*const __fini_array_end[])(void) __attribute__((weak));
|
|||
|
||||
void _start_c(long *sp);
|
||||
__attribute__((weak,used))
|
||||
#if __nolibc_has_feature(undefined_behavior_sanitizer)
|
||||
__attribute__((no_sanitize("function")))
|
||||
#endif
|
||||
void _start_c(long *sp)
|
||||
{
|
||||
long argc;
|
||||
|
|
Loading…
Add table
Reference in a new issue