Created
April 28, 2020 15:15
-
-
Save sandip4n/bc168a1349d2e40cf81c7b3cd1fd6cc6 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/sysdeps/powerpc/powerpc64/multiarch/bcopy.c b/sysdeps/powerpc/powerpc64/multiarch/bcopy.c | |
index 2aebfc0a8e..5163cdeea3 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/bcopy.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/bcopy.c | |
@@ -24,6 +24,8 @@ extern __typeof (bcopy) __bcopy_ppc attribute_hidden; | |
extern __typeof (bcopy) __bcopy_power7 attribute_hidden; | |
libc_ifunc (bcopy, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __bcopy_ppc : | |
(hwcap & PPC_FEATURE_HAS_VSX) | |
? __bcopy_power7 | |
: __bcopy_ppc); | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/bzero.c b/sysdeps/powerpc/powerpc64/multiarch/bzero.c | |
index a45f527154..b8c0752731 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/bzero.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/bzero.c | |
@@ -29,6 +29,8 @@ extern __typeof (bzero) __bzero_power7 attribute_hidden; | |
extern __typeof (bzero) __bzero_power8 attribute_hidden; | |
libc_ifunc (__bzero, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __bzero_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __bzero_power8 : | |
(hwcap & PPC_FEATURE_HAS_VSX) | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/memchr.c b/sysdeps/powerpc/powerpc64/multiarch/memchr.c | |
index 072c102f00..449e8c1f8d 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/memchr.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/memchr.c | |
@@ -28,6 +28,8 @@ extern __typeof (__memchr) __memchr_power8 attribute_hidden; | |
/* Avoid DWARF definition DIE on ifunc symbol so that GDB can handle | |
ifunc symbol properly. */ | |
libc_ifunc (__memchr, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __memchr_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __memchr_power8 : | |
(hwcap & PPC_FEATURE_HAS_VSX) | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/memcmp.c b/sysdeps/powerpc/powerpc64/multiarch/memcmp.c | |
index 9869847f12..21383a5bd5 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/memcmp.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/memcmp.c | |
@@ -32,6 +32,8 @@ extern __typeof (memcmp) __memcmp_power8 attribute_hidden; | |
/* Avoid DWARF definition DIE on ifunc symbol so that GDB can handle | |
ifunc symbol properly. */ | |
libc_ifunc_redirected (__redirect_memcmp, memcmp, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __memcmp_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __memcmp_power8 : | |
(hwcap & PPC_FEATURE_HAS_VSX) | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/memcpy.c b/sysdeps/powerpc/powerpc64/multiarch/memcpy.c | |
index 39dfff9642..c23a3318da 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/memcpy.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/memcpy.c | |
@@ -38,6 +38,8 @@ extern __typeof (__redirect_memcpy) __memcpy_power7 attribute_hidden; | |
extern __typeof (__redirect_memcpy) __memcpy_power8_cached attribute_hidden; | |
libc_ifunc (__libc_memcpy, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __memcpy_ppc : | |
((hwcap2 & PPC_FEATURE2_ARCH_2_07) && use_cached_memopt) | |
? __memcpy_power8_cached : | |
(hwcap & PPC_FEATURE_HAS_VSX) | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/memmove.c b/sysdeps/powerpc/powerpc64/multiarch/memmove.c | |
index afb63b6d77..261d9e3a42 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/memmove.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/memmove.c | |
@@ -33,6 +33,8 @@ extern __typeof (__redirect_memmove) __memmove_ppc attribute_hidden; | |
extern __typeof (__redirect_memmove) __memmove_power7 attribute_hidden; | |
libc_ifunc (__libc_memmove, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __memmove_ppc : | |
(hwcap & PPC_FEATURE_HAS_VSX) | |
? __memmove_power7 | |
: __memmove_ppc); | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/mempcpy.c b/sysdeps/powerpc/powerpc64/multiarch/mempcpy.c | |
index 1c9d3cbe09..31418cd962 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/mempcpy.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/mempcpy.c | |
@@ -33,6 +33,8 @@ extern __typeof (__mempcpy) __mempcpy_power7 attribute_hidden; | |
/* Avoid DWARF definition DIE on ifunc symbol so that GDB can handle | |
ifunc symbol properly. */ | |
libc_ifunc_redirected (__redirect___mempcpy, __mempcpy, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __mempcpy_ppc : | |
(hwcap & PPC_FEATURE_HAS_VSX) | |
? __mempcpy_power7 | |
: __mempcpy_ppc); | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/memrchr.c b/sysdeps/powerpc/powerpc64/multiarch/memrchr.c | |
index 064767d2a2..ee1eb5b319 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/memrchr.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/memrchr.c | |
@@ -28,6 +28,8 @@ extern __typeof (__memrchr) __memrchr_power8 attribute_hidden; | |
/* Avoid DWARF definition DIE on ifunc symbol so that GDB can handle | |
ifunc symbol properly. */ | |
libc_ifunc (__memrchr, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __memrchr_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __memrchr_power8 : | |
(hwcap & PPC_FEATURE_HAS_VSX) | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/memset.c b/sysdeps/powerpc/powerpc64/multiarch/memset.c | |
index 6c39b65e2f..32dfe2f388 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/memset.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/memset.c | |
@@ -37,6 +37,8 @@ extern __typeof (__redirect_memset) __memset_power8 attribute_hidden; | |
/* Avoid DWARF definition DIE on ifunc symbol so that GDB can handle | |
ifunc symbol properly. */ | |
libc_ifunc (__libc_memset, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __memset_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __memset_power8 : | |
(hwcap & PPC_FEATURE_HAS_VSX) | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/rawmemchr.c b/sysdeps/powerpc/powerpc64/multiarch/rawmemchr.c | |
index 847157e5f0..d65b72f976 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/rawmemchr.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/rawmemchr.c | |
@@ -29,6 +29,8 @@ extern __typeof (__rawmemchr) __rawmemchr_power7 attribute_hidden; | |
/* Avoid DWARF definition DIE on ifunc symbol so that GDB can handle | |
ifunc symbol properly. */ | |
libc_ifunc_redirected (__redirect___rawmemchr, __rawmemchr, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __rawmemchr_ppc : | |
(hwcap & PPC_FEATURE_HAS_VSX) | |
? __rawmemchr_power7 | |
: __rawmemchr_ppc); | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/stpcpy.c b/sysdeps/powerpc/powerpc64/multiarch/stpcpy.c | |
index 0a63c8f51a..f0ea4e1ca8 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/stpcpy.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/stpcpy.c | |
@@ -28,6 +28,8 @@ extern __typeof (__stpcpy) __stpcpy_power7 attribute_hidden; | |
extern __typeof (__stpcpy) __stpcpy_power8 attribute_hidden; | |
libc_ifunc_hidden (__stpcpy, __stpcpy, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __stpcpy_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __stpcpy_power8 | |
: (hwcap & PPC_FEATURE_HAS_VSX) | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/stpncpy.c b/sysdeps/powerpc/powerpc64/multiarch/stpncpy.c | |
index 17df886431..e7b91bea90 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/stpncpy.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/stpncpy.c | |
@@ -30,6 +30,8 @@ extern __typeof (__stpncpy) __stpncpy_power8 attribute_hidden; | |
# undef __stpncpy | |
libc_ifunc_redirected (__redirect___stpncpy, __stpncpy, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __stpncpy_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __stpncpy_power8 | |
: (hwcap & PPC_FEATURE_HAS_VSX) | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcasecmp.c b/sysdeps/powerpc/powerpc64/multiarch/strcasecmp.c | |
index 3a3b9f5438..97452d4097 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/strcasecmp.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/strcasecmp.c | |
@@ -27,6 +27,8 @@ extern __typeof (__strcasecmp) __strcasecmp_power7 attribute_hidden; | |
extern __typeof (__strcasecmp) __strcasecmp_power8 attribute_hidden; | |
libc_ifunc (__libc_strcasecmp, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __strcasecmp_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __strcasecmp_power8: | |
(hwcap & PPC_FEATURE_HAS_VSX) | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l.c b/sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l.c | |
index 0df6150042..d23884b55d 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/strcasecmp_l.c | |
@@ -32,6 +32,8 @@ extern __typeof (__strcasecmp_l) __strcasecmp_l_power7 attribute_hidden; | |
extern __typeof (__strcasecmp_l) __libc_strcasecmp_l; | |
libc_ifunc (__libc_strcasecmp_l, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __strcasecmp_l_ppc : | |
(hwcap & PPC_FEATURE_HAS_VSX) | |
? __strcasecmp_l_power7 | |
: __strcasecmp_l_ppc); | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcasestr.c b/sysdeps/powerpc/powerpc64/multiarch/strcasestr.c | |
index 1ff7b92e53..652bd56cb2 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/strcasestr.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/strcasestr.c | |
@@ -27,6 +27,8 @@ extern __typeof (__strcasestr) __strcasestr_power8 attribute_hidden; | |
/* Avoid DWARF definition DIE on ifunc symbol so that GDB can handle | |
ifunc symbol properly. */ | |
libc_ifunc (__strcasestr, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __strcasestr_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __strcasestr_power8 | |
: __strcasestr_ppc); | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcat.c b/sysdeps/powerpc/powerpc64/multiarch/strcat.c | |
index 64ae5a87c0..feed2421e8 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/strcat.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/strcat.c | |
@@ -28,6 +28,8 @@ extern __typeof (strcat) __strcat_power8 attribute_hidden; | |
# undef strcat | |
libc_ifunc_redirected (__redirect_strcat, strcat, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __strcat_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __strcat_power8 | |
: (hwcap & PPC_FEATURE_HAS_VSX) | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strchr.c b/sysdeps/powerpc/powerpc64/multiarch/strchr.c | |
index a411fd9c73..eb66d75b0b 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/strchr.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/strchr.c | |
@@ -33,6 +33,8 @@ extern __typeof (strchr) __strchr_power8 attribute_hidden; | |
/* Avoid DWARF definition DIE on ifunc symbol so that GDB can handle | |
ifunc symbol properly. */ | |
libc_ifunc_redirected (__redirect_strchr, strchr, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __strchr_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __strchr_power8 : | |
(hwcap & PPC_FEATURE_HAS_VSX) | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strchrnul.c b/sysdeps/powerpc/powerpc64/multiarch/strchrnul.c | |
index a9e4448f06..a43383affe 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/strchrnul.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/strchrnul.c | |
@@ -28,6 +28,8 @@ extern __typeof (__strchrnul) __strchrnul_power8 attribute_hidden; | |
/* Avoid DWARF definition DIE on ifunc symbol so that GDB can handle | |
ifunc symbol properly. */ | |
libc_ifunc (__strchrnul, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __strchrnul_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __strchrnul_power8 : | |
(hwcap & PPC_FEATURE_HAS_VSX) | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcmp.c b/sysdeps/powerpc/powerpc64/multiarch/strcmp.c | |
index ea710ea62c..375fcaa6a1 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/strcmp.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/strcmp.c | |
@@ -34,10 +34,8 @@ extern __typeof (strcmp) __strcmp_power9 attribute_hidden; | |
# undef strcmp | |
libc_ifunc_redirected (__redirect_strcmp, strcmp, | |
-# ifdef __LITTLE_ENDIAN__ | |
- (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
- ? __strcmp_power9 : | |
-# endif | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __strcmp_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __strcmp_power8 | |
: (hwcap & PPC_FEATURE_HAS_VSX) | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcpy.c b/sysdeps/powerpc/powerpc64/multiarch/strcpy.c | |
index 66ea93b8f4..8f465a3190 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/strcpy.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/strcpy.c | |
@@ -28,6 +28,8 @@ extern __typeof (strcpy) __strcpy_power8 attribute_hidden; | |
#undef strcpy | |
libc_ifunc_redirected (__redirect_strcpy, strcpy, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __strcpy_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __strcpy_power8 | |
: (hwcap & PPC_FEATURE_HAS_VSX) | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strcspn.c b/sysdeps/powerpc/powerpc64/multiarch/strcspn.c | |
index 75dd238918..8d3134af00 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/strcspn.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/strcspn.c | |
@@ -27,6 +27,8 @@ extern __typeof (strcspn) __strcspn_ppc attribute_hidden; | |
extern __typeof (strcspn) __strcspn_power8 attribute_hidden; | |
libc_ifunc (__libc_strcspn, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __strcspn_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __strcspn_power8 | |
: __strcspn_ppc); | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strlen.c b/sysdeps/powerpc/powerpc64/multiarch/strlen.c | |
index e587554221..2106c2fcf0 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/strlen.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/strlen.c | |
@@ -32,6 +32,8 @@ extern __typeof (__redirect_strlen) __strlen_power7 attribute_hidden; | |
extern __typeof (__redirect_strlen) __strlen_power8 attribute_hidden; | |
libc_ifunc (__libc_strlen, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __strlen_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __strlen_power8 : | |
(hwcap & PPC_FEATURE_HAS_VSX) | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncase.c b/sysdeps/powerpc/powerpc64/multiarch/strncase.c | |
index 61fe982a5c..9e1cb4daa0 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/strncase.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/strncase.c | |
@@ -27,6 +27,8 @@ extern __typeof (__strncasecmp) __strncasecmp_power7 attribute_hidden; | |
extern __typeof (__strncasecmp) __strncasecmp_power8 attribute_hidden; | |
libc_ifunc (__libc_strncasecmp, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __strncasecmp_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __strncasecmp_power8: | |
(hwcap & PPC_FEATURE_HAS_VSX) | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncase_l.c b/sysdeps/powerpc/powerpc64/multiarch/strncase_l.c | |
index 1f2f619d3b..e212183775 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/strncase_l.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/strncase_l.c | |
@@ -34,6 +34,8 @@ extern __typeof (__strncasecmp_l) __strncasecmp_l_power7 attribute_hidden; | |
ifunc symbol properly. */ | |
extern __typeof (__strncasecmp_l) __libc_strncasecmp_l; | |
libc_ifunc (__libc_strncasecmp_l, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __strncasecmp_l_ppc : | |
(hwcap & PPC_FEATURE_HAS_VSX) | |
? __strncasecmp_l_power7 | |
: __strncasecmp_l_ppc); | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncat.c b/sysdeps/powerpc/powerpc64/multiarch/strncat.c | |
index 23670e735e..cbfe1b4def 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/strncat.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/strncat.c | |
@@ -26,6 +26,8 @@ extern __typeof (strncat) __strncat_power7 attribute_hidden; | |
extern __typeof (strncat) __strncat_power8 attribute_hidden; | |
libc_ifunc (strncat, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __strncat_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __strncat_power8 | |
: (hwcap & PPC_FEATURE_HAS_VSX) | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncmp.c b/sysdeps/powerpc/powerpc64/multiarch/strncmp.c | |
index af973baaa0..1c632bd3ac 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/strncmp.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/strncmp.c | |
@@ -37,10 +37,8 @@ extern __typeof (strncmp) __strncmp_power9 attribute_hidden; | |
/* Avoid DWARF definition DIE on ifunc symbol so that GDB can handle | |
ifunc symbol properly. */ | |
libc_ifunc_redirected (__redirect_strncmp, strncmp, | |
-# ifdef __LITTLE_ENDIAN__ | |
- (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
- ? __strncmp_power9 : | |
-# endif | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __strncmp_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __strncmp_power8 | |
: (hwcap & PPC_FEATURE_HAS_VSX) | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strncpy.c b/sysdeps/powerpc/powerpc64/multiarch/strncpy.c | |
index 7bacf28aca..c0b0b03594 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/strncpy.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/strncpy.c | |
@@ -33,6 +33,8 @@ extern __typeof (strncpy) __strncpy_power8 attribute_hidden; | |
/* Avoid DWARF definition DIE on ifunc symbol so that GDB can handle | |
ifunc symbol properly. */ | |
libc_ifunc_redirected (__redirect_strncpy, strncpy, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __strncpy_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __strncpy_power8 | |
: (hwcap & PPC_FEATURE_HAS_VSX) | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strnlen.c b/sysdeps/powerpc/powerpc64/multiarch/strnlen.c | |
index 4be7bbcd2f..1184f611c2 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/strnlen.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/strnlen.c | |
@@ -29,6 +29,8 @@ extern __typeof (__strnlen) __strnlen_power8 attribute_hidden; | |
# undef strnlen | |
# undef __strnlen | |
libc_ifunc_redirected (__redirect___strnlen, __strnlen, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __strnlen_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __strnlen_power8 : | |
(hwcap & PPC_FEATURE_HAS_VSX) | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strrchr.c b/sysdeps/powerpc/powerpc64/multiarch/strrchr.c | |
index 8dba36b7cf..6125262692 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/strrchr.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/strrchr.c | |
@@ -31,6 +31,8 @@ extern __typeof (strrchr) __strrchr_power8 attribute_hidden; | |
/* Avoid DWARF definition DIE on ifunc symbol so that GDB can handle | |
ifunc symbol properly. */ | |
libc_ifunc_redirected (__redirect_strrchr, strrchr, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __strrchr_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __strrchr_power8 : | |
(hwcap & PPC_FEATURE_HAS_VSX) | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strspn.c b/sysdeps/powerpc/powerpc64/multiarch/strspn.c | |
index 53391e461d..d9be8d15ac 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/strspn.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/strspn.c | |
@@ -27,6 +27,8 @@ extern __typeof (strspn) __strspn_ppc attribute_hidden; | |
extern __typeof (strspn) __strspn_power8 attribute_hidden; | |
libc_ifunc (__libc_strspn, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __strspn_ppc : | |
(hwcap2 & PPC_FEATURE2_ARCH_2_07) | |
? __strspn_power8 | |
: __strspn_ppc); | |
diff --git a/sysdeps/powerpc/powerpc64/multiarch/strstr.c b/sysdeps/powerpc/powerpc64/multiarch/strstr.c | |
index 95c985f481..c7f58f788f 100644 | |
--- a/sysdeps/powerpc/powerpc64/multiarch/strstr.c | |
+++ b/sysdeps/powerpc/powerpc64/multiarch/strstr.c | |
@@ -30,6 +30,8 @@ extern __typeof (strstr) __strstr_power7 attribute_hidden; | |
/* Avoid DWARF definition DIE on ifunc symbol so that GDB can handle | |
ifunc symbol properly. */ | |
libc_ifunc_redirected (__redirect_strstr, strstr, | |
+ (hwcap2 & PPC_FEATURE2_ARCH_3_00) | |
+ ? __strstr_ppc : | |
(hwcap & PPC_FEATURE_HAS_VSX) | |
? __strstr_power7 | |
: __strstr_ppc); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment