about summary refs log tree commit diff
path: root/sysdeps/powerpc/powerpc64/be/power7
diff options
context:
space:
mode:
authorGabriel F. T. Gomes <gabriel@inconstante.eti.br>2018-03-09 16:59:14 -0300
committerGabriel F. T. Gomes <gabriel@inconstante.eti.br>2018-04-27 16:32:01 -0300
commit3a33b0696937d3c8324e517512f8dc952166a7ab (patch)
treebd3db4fedb5ea7b1d996a57335cba9613533c514 /sysdeps/powerpc/powerpc64/be/power7
parenta3fb6b6bc3f2f33e93f4c9575105f3b5f39cb201 (diff)
downloadglibc-3a33b0696937d3c8324e517512f8dc952166a7ab.tar.gz
glibc-3a33b0696937d3c8324e517512f8dc952166a7ab.tar.xz
glibc-3a33b0696937d3c8324e517512f8dc952166a7ab.zip
powerpc64*: fix the order of implied sysdeps directories
The creation of the divergent sysdeps directory for powerpc64le

commit 2f7f3cd8cd302bb10908c86f3f7b349df0a78e6a
Author: Paul E. Murphy <murphyp@linux.vnet.ibm.com>
Date:   Fri Jul 15 18:04:40 2016 -0500

    powerpc64le: Create divergent sysdep directory for powerpc64le.

allowed float128 to be enabled for powerpc64le (little-endian) and not
for powerpc64 (big-endian).  Since the only intended difference between
them was the presence or absence of the float128 interface, the sysdeps
directory for powerpc64le explicitly reused the files from powerpc64
(through the use of Implies files).

Although this works, it also means that files under the powerpc64
directory might be preferred over files under powerpc64le.  For
instance, on a build for powerpc64le with target set to power9, a file
from powerpc64/power5 might get built, even though a file with the same
name exists in powerpc64le/power8.  That happens because the processor
hierarchy was only defined in the sysdeps directory for powerpc64 (and
borrowed by powerpc64le).

This patch fixes this behavior, by creating new subdirectories under
powerpc64 (i.e.: powerpc64/be and powerpc64/le) and creating new Implies
files to provide the hierarchy of processors for powerpc64 and
powerpc64le separately.  These changes have no effect on installed,
stripped binaries (which remain unchanged).

Tested that installed stripped binaries are unchanged and that there are
no regressions on powerpc64 and powerpc64le.
Diffstat (limited to 'sysdeps/powerpc/powerpc64/be/power7')
-rw-r--r--sysdeps/powerpc/powerpc64/be/power7/Implies3
-rw-r--r--sysdeps/powerpc/powerpc64/be/power7/fpu/Implies2
-rw-r--r--sysdeps/powerpc/powerpc64/be/power7/fpu/multiarch/Implies1
-rw-r--r--sysdeps/powerpc/powerpc64/be/power7/multiarch/Implies1
4 files changed, 7 insertions, 0 deletions
diff --git a/sysdeps/powerpc/powerpc64/be/power7/Implies b/sysdeps/powerpc/powerpc64/be/power7/Implies
new file mode 100644
index 0000000000..b1853f1873
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/be/power7/Implies
@@ -0,0 +1,3 @@
+powerpc/powerpc64/power7
+powerpc/powerpc64/be/power6/fpu
+powerpc/powerpc64/be/power6
diff --git a/sysdeps/powerpc/powerpc64/be/power7/fpu/Implies b/sysdeps/powerpc/powerpc64/be/power7/fpu/Implies
new file mode 100644
index 0000000000..33830fe120
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/be/power7/fpu/Implies
@@ -0,0 +1,2 @@
+powerpc/powerpc64/power7/fpu
+powerpc/powerpc64/be/power6/fpu
diff --git a/sysdeps/powerpc/powerpc64/be/power7/fpu/multiarch/Implies b/sysdeps/powerpc/powerpc64/be/power7/fpu/multiarch/Implies
new file mode 100644
index 0000000000..6da6f27f08
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/be/power7/fpu/multiarch/Implies
@@ -0,0 +1 @@
+powerpc/powerpc64/be/power6/fpu/multiarch
diff --git a/sysdeps/powerpc/powerpc64/be/power7/multiarch/Implies b/sysdeps/powerpc/powerpc64/be/power7/multiarch/Implies
new file mode 100644
index 0000000000..86cbf9e528
--- /dev/null
+++ b/sysdeps/powerpc/powerpc64/be/power7/multiarch/Implies
@@ -0,0 +1 @@
+powerpc/powerpc64/be/power6/multiarch