[PATCH] aarch64: Remove duplicate memchr/strlen in libc.a (BZ 31777)

Adhemerval Zanella adhemerval.zanella@linaro.org
Wed May 22 13:13:21 GMT 2024


The generic version provides weak definitions of memchr/strlen,
which are already provided by the ifunc resolvers.
---
 sysdeps/aarch64/multiarch/memchr_generic.S | 3 +++
 sysdeps/aarch64/multiarch/strlen_generic.S | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/sysdeps/aarch64/multiarch/memchr_generic.S b/sysdeps/aarch64/multiarch/memchr_generic.S
index 0ed5811745..8d554275ba 100644
--- a/sysdeps/aarch64/multiarch/memchr_generic.S
+++ b/sysdeps/aarch64/multiarch/memchr_generic.S
@@ -24,6 +24,9 @@
 # undef libc_hidden_builtin_def
 # define libc_hidden_builtin_def(name)
 
+# undef weak_alias
+# define weak_alias(a, b)
+
 /* Add a hidden definition for use within libc.so.  */
 # ifdef SHARED
 	.globl __GI_memchr; __GI_memchr = __memchr_generic
diff --git a/sysdeps/aarch64/multiarch/strlen_generic.S b/sysdeps/aarch64/multiarch/strlen_generic.S
index f980a9a68f..ceeafe920c 100644
--- a/sysdeps/aarch64/multiarch/strlen_generic.S
+++ b/sysdeps/aarch64/multiarch/strlen_generic.S
@@ -30,6 +30,9 @@
 # undef libc_hidden_builtin_def
 # define libc_hidden_builtin_def(name)
 
+# undef weak_alias
+# define weak_alias(a, b)
+
 # ifdef SHARED
 /* It doesn't make sense to send libc-internal strlen calls through a PLT. */
 	.globl __GI_strlen; __GI_strlen = __strlen_generic
-- 
2.43.0



More information about the Libc-alpha mailing list