diff options
author | Adhemerval Zanella <azanella@linux.vnet.ibm.com> | 2014-04-08 17:25:14 -0500 |
---|---|---|
committer | Adhemerval Zanella <azanella@linux.vnet.ibm.com> | 2014-04-09 06:22:53 -0500 |
commit | de21c33c068c8e39afb5711613a7c083c11ce6a1 (patch) | |
tree | aabf4e6e97e698148f0147fb671152c622b9f27d /sysdeps/powerpc/powerpc64 | |
parent | 862c472efa28aedf22908f2735111ab4b9e62811 (diff) | |
download | glibc-de21c33c068c8e39afb5711613a7c083c11ce6a1.tar.gz glibc-de21c33c068c8e39afb5711613a7c083c11ce6a1.tar.xz glibc-de21c33c068c8e39afb5711613a7c083c11ce6a1.zip |
PowerPC: Fix --disable-multi-arch builds
This patch fixes some powerpc32 and powerpc64 builds with --disable-multi-arch option along with different --with-cpu=powerN. It cleanups the Implies directories by removing the multiarch folder for non multiarch config and also fixing two assembly implementations: powerpc64/power7/strncat.S that is calling the wrong strlen; and power8/fpu/s_isnan.S that misses the hidden_def and weak_alias directives.
Diffstat (limited to 'sysdeps/powerpc/powerpc64')
-rw-r--r-- | sysdeps/powerpc/powerpc64/power5+/fpu/Implies | 2 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/power5/fpu/Implies | 2 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/power6x/fpu/Implies | 1 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/power6x/fpu/multiarch/Implies | 2 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/power6x/multiarch/Implies | 1 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/power7/fpu/Implies | 2 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/power7/strncat.S | 4 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/power8/fpu/Implies | 2 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc64/power8/fpu/s_isnan.S | 3 |
9 files changed, 13 insertions, 6 deletions
diff --git a/sysdeps/powerpc/powerpc64/power5+/fpu/Implies b/sysdeps/powerpc/powerpc64/power5+/fpu/Implies index c0e67848e2..f00c50fb49 100644 --- a/sysdeps/powerpc/powerpc64/power5+/fpu/Implies +++ b/sysdeps/powerpc/powerpc64/power5+/fpu/Implies @@ -1 +1 @@ -powerpc/powerpc64/power5/fpu/multiarch +powerpc/powerpc64/power5/fpu diff --git a/sysdeps/powerpc/powerpc64/power5/fpu/Implies b/sysdeps/powerpc/powerpc64/power5/fpu/Implies index 3740d050a6..6b8c23efa6 100644 --- a/sysdeps/powerpc/powerpc64/power5/fpu/Implies +++ b/sysdeps/powerpc/powerpc64/power5/fpu/Implies @@ -1 +1 @@ -powerpc/powerpc64/power4/fpu/multiarch +powerpc/powerpc64/power4/fpu/ diff --git a/sysdeps/powerpc/powerpc64/power6x/fpu/Implies b/sysdeps/powerpc/powerpc64/power6x/fpu/Implies new file mode 100644 index 0000000000..30fa17646e --- /dev/null +++ b/sysdeps/powerpc/powerpc64/power6x/fpu/Implies @@ -0,0 +1 @@ +powerpc/powerpc64/power6/fpu diff --git a/sysdeps/powerpc/powerpc64/power6x/fpu/multiarch/Implies b/sysdeps/powerpc/powerpc64/power6x/fpu/multiarch/Implies index f54ff23500..410d289a6d 100644 --- a/sysdeps/powerpc/powerpc64/power6x/fpu/multiarch/Implies +++ b/sysdeps/powerpc/powerpc64/power6x/fpu/multiarch/Implies @@ -1 +1 @@ -sysdeps/powerpc/powerpc64/power6/fpu/multiarch +powerpc/powerpc64/power6/fpu/multiarch diff --git a/sysdeps/powerpc/powerpc64/power6x/multiarch/Implies b/sysdeps/powerpc/powerpc64/power6x/multiarch/Implies new file mode 100644 index 0000000000..bf5d6171a5 --- /dev/null +++ b/sysdeps/powerpc/powerpc64/power6x/multiarch/Implies @@ -0,0 +1 @@ +powerpc/powerpc64/power6/multiarch diff --git a/sysdeps/powerpc/powerpc64/power7/fpu/Implies b/sysdeps/powerpc/powerpc64/power7/fpu/Implies index 410d289a6d..30fa17646e 100644 --- a/sysdeps/powerpc/powerpc64/power7/fpu/Implies +++ b/sysdeps/powerpc/powerpc64/power7/fpu/Implies @@ -1 +1 @@ -powerpc/powerpc64/power6/fpu/multiarch +powerpc/powerpc64/power6/fpu diff --git a/sysdeps/powerpc/powerpc64/power7/strncat.S b/sysdeps/powerpc/powerpc64/power7/strncat.S index 1a1a95e030..e7e36a4de4 100644 --- a/sysdeps/powerpc/powerpc64/power7/strncat.S +++ b/sysdeps/powerpc/powerpc64/power7/strncat.S @@ -38,7 +38,9 @@ #endif #ifndef STRLEN -# define STRLEN __strlen_ppc +/* For builds with no IFUNC support, local calls should be made to internal + GLIBC symbol (created by libc_hidden_builtin_def). */ +# define STRLEN __GI_strlen #endif #define FRAMESIZE (FRAME_MIN_SIZE+32) diff --git a/sysdeps/powerpc/powerpc64/power8/fpu/Implies b/sysdeps/powerpc/powerpc64/power8/fpu/Implies index 7fd86fdf87..1187cdfb0a 100644 --- a/sysdeps/powerpc/powerpc64/power8/fpu/Implies +++ b/sysdeps/powerpc/powerpc64/power8/fpu/Implies @@ -1 +1 @@ -powerpc/powerpc64/power7/fpu/multiarch +powerpc/powerpc64/power7/fpu/ diff --git a/sysdeps/powerpc/powerpc64/power8/fpu/s_isnan.S b/sysdeps/powerpc/powerpc64/power8/fpu/s_isnan.S index b03c896acf..cf119e5c98 100644 --- a/sysdeps/powerpc/powerpc64/power8/fpu/s_isnan.S +++ b/sysdeps/powerpc/powerpc64/power8/fpu/s_isnan.S @@ -39,6 +39,9 @@ EALIGN (__isnan, 4, 0) blr END (__isnan) +hidden_def (__isnan) +weak_alias (__isnan, isnan) + /* It turns out that the 'double' version will also always work for single-precision. */ strong_alias (__isnan, __isnanf) |