diff options
author | 2024-08-12 22:50:17 +0200 | |
---|---|---|
committer | 2024-08-16 17:23:13 +0200 | |
commit | 0021d6670d1a997549a39bf629da9940bf4068ed (patch) | |
tree | 99b83b72baa95801e3a89a7bdcf02f2e22e7645c | |
parent | selftests/nolibc: run-tests.sh: allow building through LLVM (diff) | |
download | wireguard-linux-0021d6670d1a997549a39bf629da9940bf4068ed.tar.xz wireguard-linux-0021d6670d1a997549a39bf629da9940bf4068ed.zip |
tools/nolibc: crt: mark _start_c() as used
During LTO the reference from the asm startup code to the _start_c()
function is not visible and _start_c() is removed.
This will then lead to errors during linking.
As _start_c() is indeed always used, mark it as such.
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://lore.kernel.org/r/20240812-nolibc-lto-v2-1-736af7bbefa8@weissschuh.net
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
-rw-r--r-- | tools/include/nolibc/crt.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/include/nolibc/crt.h b/tools/include/nolibc/crt.h index ac291574f6c0..bbcd5fd09806 100644 --- a/tools/include/nolibc/crt.h +++ b/tools/include/nolibc/crt.h @@ -22,7 +22,7 @@ extern void (*const __init_array_end[])(int, char **, char**) __attribute__((wea extern void (*const __fini_array_start[])(void) __attribute__((weak)); extern void (*const __fini_array_end[])(void) __attribute__((weak)); -__attribute__((weak)) +__attribute__((weak,used)) void _start_c(long *sp) { long argc; |