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 | |
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.
Diffstat (limited to 'sysdeps')
-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 |
10 files changed, 14 insertions, 6 deletions
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) |