From ba64b35806f0eecfaca5bc9ff48a64506a630a12 Mon Sep 17 00:00:00 2001 From: raiden00pl Date: Fri, 19 Sep 2025 11:46:05 +0200 Subject: [PATCH] include/string.h: mark memset and memcpy as used_code Mark memset and memcpy as used_code to fix issues with GCC LTO and CMake which throws many "undefined reference to memset" errors. used_code force the compiler to emit the memset symbol under LTO. Signed-off-by: raiden00pl --- include/string.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/string.h b/include/string.h index 1cfc1e04e56..f000a87e1c7 100644 --- a/include/string.h +++ b/include/string.h @@ -100,10 +100,10 @@ FAR void *memrchr(FAR const void *s, int c, size_t n); FAR void *rawmemchr(FAR const void *s, int c); FAR void *memccpy(FAR void *s1, FAR const void *s2, int c, size_t n); int memcmp(FAR const void *s1, FAR const void *s2, size_t n); -FAR void *memcpy(FAR void *dest, FAR const void *src, size_t n); +FAR void *memcpy(FAR void *dest, FAR const void *src, size_t n) used_code; FAR void *mempcpy(FAR void *dest, FAR const void *src, size_t n); FAR void *memmove(FAR void *dest, FAR const void *src, size_t count); -FAR void *memset(FAR void *s, int c, size_t n); +FAR void *memset(FAR void *s, int c, size_t n) used_code; FAR void *memmem(FAR const void *haystack, size_t haystacklen, FAR const void *needle, size_t needlelen);