summaryrefslogtreecommitdiff
path: root/tools/include/nolibc/string.h
diff options
context:
space:
mode:
authorWilly Tarreau <w@1wt.eu>2022-02-07 19:23:44 +0300
committerPaul E. McKenney <paulmck@kernel.org>2022-04-21 03:05:45 +0300
commit07f47ea06fe9d38c5e8d9068fba2468ed8bb8b59 (patch)
tree1d0f2aae37ca62815b334841bf63b0b60b79182f /tools/include/nolibc/string.h
parentd9390de638cd9788090c6299273a41a8cfa0b499 (diff)
downloadlinux-07f47ea06fe9d38c5e8d9068fba2468ed8bb8b59.tar.xz
tools/nolibc: move exported functions to their own section
Some functions like raise() and memcpy() are permanently exported because they're needed by libgcc on certain platforms. However most of the time they are not needed and needlessly take space. Let's move them to their own sub-section, called .text.nolibc_<function>. This allows ld to get rid of them if unused when passed --gc-sections. Signed-off-by: Willy Tarreau <w@1wt.eu> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Diffstat (limited to 'tools/include/nolibc/string.h')
-rw-r--r--tools/include/nolibc/string.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/include/nolibc/string.h b/tools/include/nolibc/string.h
index c550c9ba8f4c..c1661589cb3c 100644
--- a/tools/include/nolibc/string.h
+++ b/tools/include/nolibc/string.h
@@ -69,7 +69,7 @@ void *memmove(void *dst, const void *src, size_t len)
}
/* must be exported, as it's used by libgcc on ARM */
-__attribute__((weak,unused))
+__attribute__((weak,unused,section(".text.nolibc_memcpy")))
void *memcpy(void *dst, const void *src, size_t len)
{
return _nolibc_memcpy_up(dst, src, len);