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 | |
parent | 862c472efa28aedf22908f2735111ab4b9e62811 (diff) | |
download | glibc-de21c33c068c8e39afb5711613a7c083c11ce6a1.zip glibc-de21c33c068c8e39afb5711613a7c083c11ce6a1.tar.gz glibc-de21c33c068c8e39afb5711613a7c083c11ce6a1.tar.bz2 |
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.
-rw-r--r-- | ChangeLog | 17 | ||||
-rw-r--r-- | sysdeps/powerpc/powerpc32/power6x/fpu/Implies | 1 | ||||
-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 |
11 files changed, 31 insertions, 6 deletions
@@ -1,3 +1,20 @@ +2014-04-09 Adhemerval Zanella <azanella@linux.vnet.ibm.com> + + * sysdeps/powerpc/powerpc32/power6x/fpu/Implies: New file. + * sysdeps/powerpc/powerpc64/power6x/fpu/Implies: new file. + * sysdeps/powerpc/powerpc64/power6x/multiarch/Implies: New file. + * sysdeps/powerpc/powerpc64/power5+/fpu/Implies: Remove multiarch + imply folder. + * sysdeps/powerpc/powerpc64/power5/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power7/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power8/fpu/Implies: Likewise. + * sysdeps/powerpc/powerpc64/power6x/fpu/multiarch/Implies: Adjust + correct imply path. + * sysdeps/powerpc/powerpc64/power7/strncat.S (STRLEN): Define correct + strlen symbol for non multi-arch builds. + * sysdeps/powerpc/powerpc64/power8/fpu/s_isnan.S (__isnan): Add + missing hidden_def and weak_alias. + 2014-04-08 Carlos O'Donell <carlos@redhat.com> * manual/ipc.texi (sem_close): AC-unsafe because of aculock. diff --git a/sysdeps/powerpc/powerpc32/power6x/fpu/Implies b/sysdeps/powerpc/powerpc32/power6x/fpu/Implies new file mode 100644 index 0000000..d53ce25 --- /dev/null +++ b/sysdeps/powerpc/powerpc32/power6x/fpu/Implies @@ -0,0 +1 @@ +powerpc/powerpc32/power6/fpu diff --git a/sysdeps/powerpc/powerpc64/power5+/fpu/Implies b/sysdeps/powerpc/powerpc64/power5+/fpu/Implies index c0e6784..f00c50f 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 3740d05..6b8c23e 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 0000000..30fa176 --- /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 f54ff23..410d289 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 0000000..bf5d617 --- /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 410d289..30fa176 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 1a1a95e..e7e36a4 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 7fd86fd..1187cdf 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 b03c896..cf119e5 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) |