No bug.
This commit adds hidden defs for all declarations of __memcmpeq. This
enables usage of __memcmpeq without the PLT for usage internal to
GLIBC.
libc_hidden_proto (__strsep_g)
libc_hidden_proto (strnlen)
libc_hidden_proto (__strnlen)
+libc_hidden_proto (__memcmpeq)
libc_hidden_proto (memmem)
extern __typeof (memmem) __memmem;
libc_hidden_proto (__memmem)
#undef __memcmpeq
strong_alias (memcmp, __memcmpeq)
+libc_hidden_def(__memcmpeq)
#undef __memcmpeq
strong_alias (memcmp, __memcmpeq)
libc_hidden_builtin_def (memcmp)
+libc_hidden_def (__memcmpeq)
weak_alias (memcmp, bcmp)
strong_alias (memcmp, __memcmpeq)
libc_hidden_def (memcmp)
+libc_hidden_def (__memcmpeq)
.weak memcmp
#undef __memcmpeq
strong_alias (memcmp, __memcmpeq)
libc_hidden_builtin_def (memcmp)
+libc_hidden_def (__memcmpeq)
used by IFUNC. */
# define libc_hidden_builtin_def(name) \
.globl __GI_memcmp; __GI_memcmp = memcmp
+
+# undef libc_hidden_def
+# define libc_hidden_def(name) \
+ .globl __GI___memcmpeq; __GI___memcmpeq = __memcmpeq
# endif
# undef weak_alias
weak_alias (memcmp, bcmp)
strong_alias (memcmp, __memcmpeq)
+libc_hidden_def (__memcmpeq)
#endif
#undef __memcmpeq
strong_alias (memcmp, __memcmpeq)
libc_hidden_builtin_def (memcmp)
+libc_hidden_def (__memcmpeq)
weak_alias (memcmp, bcmp)
strong_alias (memcmp, __memcmpeq)
libc_hidden_builtin_def (memcmp)
+libc_hidden_def (__memcmpeq)
libc_hidden_builtin_def (memcmp)
weak_alias (memcmp,bcmp)
strong_alias (memcmp, __memcmpeq)
+libc_hidden_def (__memcmpeq)
libc_hidden_builtin_def (memcmp)
weak_alias (memcmp, bcmp)
strong_alias (memcmp, __memcmpeq)
+libc_hidden_def (__memcmpeq)
#undef libc_hidden_builtin_def
#define libc_hidden_builtin_def(name)
+#undef libc_hidden_def
+#define libc_hidden_def(name)
+
#undef weak_alias
#define weak_alias(a, b)
libc_hidden_builtin_def (memcmp)
weak_alias (memcmp, bcmp)
strong_alias (memcmp, __memcmpeq)
+libc_hidden_def (__memcmpeq)
libc_hidden_builtin_def (memcmp)
weak_alias (memcmp, bcmp)
strong_alias (memcmp, __memcmpeq)
+libc_hidden_def (__memcmpeq)
#undef libc_hidden_builtin_def
#define libc_hidden_builtin_def(name)
+#undef libc_hidden_def
+#define libc_hidden_def(name)
#undef weak_alias
#define weak_alias(name,alias)
#undef strong_alias
#undef libc_hidden_builtin_def
#define libc_hidden_builtin_def(name)
+#undef libc_hidden_def
+#define libc_hidden_def(name)
#undef weak_alias
#define weak_alias(name,alias)
#undef strong_alias
#undef libc_hidden_builtin_def
#define libc_hidden_builtin_def(name)
+#undef libc_hidden_def
+#define libc_hidden_def(name)
#undef weak_alias
#define weak_alias(name,alias)
#undef strong_alias
#undef libc_hidden_builtin_def
#define libc_hidden_builtin_def(name)
+#undef libc_hidden_def
+#define libc_hidden_def(name)
#undef weak_alias
#define weak_alias(name,alias)
#undef strong_alias
libc_hidden_builtin_def (memcmp)
weak_alias (memcmp, bcmp)
strong_alias (memcmp, __memcmpeq)
+libc_hidden_def (__memcmpeq)
libc_hidden_builtin_def (memcmp)
weak_alias (memcmp, bcmp)
strong_alias (memcmp, __memcmpeq)
+libc_hidden_def (__memcmpeq)
libc_hidden_builtin_def (memcmp)
weak_alias (memcmp, bcmp)
strong_alias (memcmp, __memcmpeq)
+libc_hidden_def (__memcmpeq)
strong_alias (MEMCMP_DEFAULT, memcmp)
weak_alias (memcmp, bcmp)
strong_alias (memcmp, __memcmpeq)
+libc_hidden_def (__memcmpeq)
#endif
#if defined SHARED && IS_IN (libc)
)
weak_alias (memcmp, bcmp);
strong_alias (memcmp, __memcmpeq)
+libc_hidden_def (__memcmpeq)
#endif
#undef __memcmpeq
strong_alias (memcmp, __memcmpeq)
libc_hidden_builtin_def (memcmp)
+libc_hidden_def (__memcmpeq)
#undef __memcmpeq
strong_alias (memcmp, __memcmpeq)
libc_hidden_builtin_def (memcmp)
+libc_hidden_def (__memcmpeq)
# ifdef SHARED
# undef libc_hidden_builtin_def
# define libc_hidden_builtin_def(name)
+
+# undef libc_hidden_def
+# define libc_hidden_def(ignored)
# endif
# undef weak_alias
weak_alias (memcmp, bcmp)
# undef __memcmpeq
strong_alias (memcmp, __memcmpeq)
+libc_hidden_def (__memcmpeq)
# ifdef SHARED
__hidden_ver1 (memcmp, __GI_memcmp, __redirect_memcmp)