]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
PowerPC: Fix --disable-multi-arch builds
authorAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Tue, 8 Apr 2014 22:25:14 +0000 (17:25 -0500)
committerAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Wed, 9 Apr 2014 11:22:53 +0000 (06:22 -0500)
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.

ChangeLog
sysdeps/powerpc/powerpc32/power6x/fpu/Implies [new file with mode: 0644]
sysdeps/powerpc/powerpc64/power5+/fpu/Implies
sysdeps/powerpc/powerpc64/power5/fpu/Implies
sysdeps/powerpc/powerpc64/power6x/fpu/Implies [new file with mode: 0644]
sysdeps/powerpc/powerpc64/power6x/fpu/multiarch/Implies
sysdeps/powerpc/powerpc64/power6x/multiarch/Implies [new file with mode: 0644]
sysdeps/powerpc/powerpc64/power7/fpu/Implies
sysdeps/powerpc/powerpc64/power7/strncat.S
sysdeps/powerpc/powerpc64/power8/fpu/Implies
sysdeps/powerpc/powerpc64/power8/fpu/s_isnan.S

index ccfb7e618bd986b722aa26c1f5023e9d42246ff7..7e1c54ca95e41f8de30cc713b58e29ed3b69ad83 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 (file)
index 0000000..d53ce25
--- /dev/null
@@ -0,0 +1 @@
+powerpc/powerpc32/power6/fpu
index c0e67848e2034c00324cdfc478bb456c67116445..f00c50fb49717b4b28100bf828b72760560e84f5 100644 (file)
@@ -1 +1 @@
-powerpc/powerpc64/power5/fpu/multiarch
+powerpc/powerpc64/power5/fpu
index 3740d050a6750ee0c25723170beb397510454a19..6b8c23efa63356c75cc2968e969fef9a2f226997 100644 (file)
@@ -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 (file)
index 0000000..30fa176
--- /dev/null
@@ -0,0 +1 @@
+powerpc/powerpc64/power6/fpu
index f54ff23500b70813a334310b83731e5c896904f1..410d289a6d758982795ef98b9aa5545a7f9bae31 100644 (file)
@@ -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 (file)
index 0000000..bf5d617
--- /dev/null
@@ -0,0 +1 @@
+powerpc/powerpc64/power6/multiarch
index 410d289a6d758982795ef98b9aa5545a7f9bae31..30fa17646ef629b44b15684f1440c7069c49e874 100644 (file)
@@ -1 +1 @@
-powerpc/powerpc64/power6/fpu/multiarch
+powerpc/powerpc64/power6/fpu
index 1a1a95e0300f23c490da1dc507b663b928621a90..e7e36a4de491dd97a79cc4f6e9b4a8da05d5fc19 100644 (file)
@@ -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)
index 7fd86fdf872dd70b9d1ab5f85fcae540ef726f13..1187cdfb0a25847e77b67763d57801528e2e8328 100644 (file)
@@ -1 +1 @@
-powerpc/powerpc64/power7/fpu/multiarch
+powerpc/powerpc64/power7/fpu/
index b03c896acf459fe418881ae432180c166fc62026..cf119e5c98b63b92ca65cecef3851be47f321885 100644 (file)
@@ -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)