+2016-06-06 Tulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>
+
+ * sysdeps/powerpc/powerpc64/power8/strcasestr.S (__strcasestr):
+ New symbol defined as libc_hidden_def.
+ (strcasestr): Became a weak alias to __strcasestr.
+ * sysdeps/powerpc/powerpc64/power8/strncpy.S: Handle memset calls
+ according to multi-arch support. Move __stpncpy hidden
+ definition from here to...
+ * sysdeps/powerpc/powerpc64/power8/stpncpy.S: ...here. Add
+ symbol stpncpy.
+ * sysdeps/powerpc/powerpc64/multiarch/stpncpy-power8.S: Undefine
+ libc_hidden_builtin_def.
+ * sysdeps/powerpc/powerpc64/multiarch/strncpy-power8.S: Specify which
+ memset symbol to use when multi-arch support is available.
+
2016-06-06 Stefan Liebler <stli@linux.vnet.ibm.com>
* dlfcn/tst-rec-dlopen.c: Include string.h.
TRACEBACK(__stpncpy_power8) \
END_2(__stpncpy_power8)
+#undef libc_hidden_builtin_def
+#define libc_hidden_builtin_def(name)
+
#include <sysdeps/powerpc/powerpc64/power8/stpncpy.S>
#undef libc_hidden_builtin_def
#define libc_hidden_builtin_def(name)
+/* memset is used to pad the end of the string. */
+#define MEMSET __memset_power8
+
#include <sysdeps/powerpc/powerpc64/power8/strncpy.S>
#define USE_AS_STPNCPY
#include <sysdeps/powerpc/powerpc64/power8/strncpy.S>
+
+weak_alias (__stpncpy, stpncpy)
+libc_hidden_def (__stpncpy)
+libc_hidden_builtin_def (stpncpy)
/* TODO: change this to .machine power8 when the minimum required binutils
allows it. */
.machine power7
-EALIGN (strcasestr, 4, 0)
+EALIGN (__strcasestr, 4, 0)
CALL_MCOUNT 2
mflr r0 /* Load link register LR to r0. */
std r31, -8(r1) /* Save callers register r31. */
cfi_restore(r31)
mtlr r0 /* Branch to link register. */
blr
-END (strcasestr)
+END (__strcasestr)
+
+weak_alias (__strcasestr, strcasestr)
+libc_hidden_def (__strcasestr)
libc_hidden_builtin_def (strcasestr)
# define FUNC_NAME strncpy
#endif
+#ifndef MEMSET
+/* For builds without IFUNC support, local calls should be made to internal
+ GLIBC symbol (created by libc_hidden_builtin_def). */
+# ifdef SHARED
+# define MEMSET __GI_memset
+# else
+# define MEMSET memset
+# endif
+#endif
+
#define FRAMESIZE (FRAME_MIN_SIZE+48)
/* Implements the function
stdu r1,-FRAMESIZE(r1)
cfi_adjust_cfa_offset(FRAMESIZE)
- bl __memset_power8
+ bl MEMSET
nop
/* Restore the stack frame. */
b L(zero_pad_start_1)
END (FUNC_NAME)
-#ifdef USE_AS_STPNCPY
-libc_hidden_def (__stpncpy)
-#else
+#ifndef USE_AS_STPNCPY
libc_hidden_builtin_def (strncpy)
#endif