:: commit 7e5bdaae2e51af4d1c0e5a8c552a0338183ad2d0

Mintsuki <mintsuki@protonmail.com> — 2026-04-17 04:38

parents: c7b26f1fde

lib/libc: Ensure the `__builtin_*` versions of the 4 core `mem*()` functions are preferred

diff --git a/common/lib/libc.h b/common/lib/libc.h
index 803ffd1b..630d5f9c 100644
--- a/common/lib/libc.h
+++ b/common/lib/libc.h
@@ -18,6 +18,12 @@ void *memset(void *, int, size_t);
 void *memcpy(void *restrict, const void *restrict, size_t);
 int memcmp(const void *, const void *, size_t);
 void *memmove(void *, const void *, size_t);
+
+#define memset __builtin_memset
+#define memcpy __builtin_memcpy
+#define memcmp __builtin_memcmp
+#define memmove __builtin_memmove
+
 void *memchr(const void *, int, size_t);
 
 char *strcpy(char *, const char *);
diff --git a/common/libc-compat/string.h b/common/libc-compat/string.h
index df3fa05b..00bf220c 100644
--- a/common/libc-compat/string.h
+++ b/common/libc-compat/string.h
@@ -7,6 +7,12 @@ void *memset(void *, int, size_t);
 void *memcpy(void *restrict, const void *restrict, size_t);
 int memcmp(const void *, const void *, size_t);
 void *memmove(void *, const void *, size_t);
+
+#define memset __builtin_memset
+#define memcpy __builtin_memcpy
+#define memcmp __builtin_memcmp
+#define memmove __builtin_memmove
+
 void *memchr(const void *, int, size_t);
 
 char *strcpy(char *, const char *);
tab: 248 wrap: offon