:: commit 00c208a97a09c1008a9a88627ccdc50fb6c5b6e9

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

parents: 318c2d1ba1

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