]> code.ossystems Code Review - openembedded-core.git/commitdiff
ppc/siteinfo: Fix differences between musl and glibc
authorKhem Raj <raj.khem@gmail.com>
Sat, 12 Mar 2022 19:18:22 +0000 (11:18 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 15 Mar 2022 08:38:28 +0000 (08:38 +0000)
There is a key difference between glibc and musl when it comes to
ppc/ppc64 and that is that musl does not support 128-bit long IBM doubles format
it only supports 128-bit long double IEEE format on ppc64 alone.
this change ensures that we account for this change, so far we have been
doing it a bit wrong for ppc/musl case.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/siteinfo.bbclass
meta/site/powerpc32-linux
meta/site/powerpc32-linux-glibc [new file with mode: 0644]
meta/site/powerpc32-linux-musl [new file with mode: 0644]
meta/site/powerpc64-linux
meta/site/powerpc64-linux-glibc [new file with mode: 0644]
meta/site/powerpc64-linux-musl [new file with mode: 0644]

index c5f4dfda412eecdd11a47418fd0b95c96aba8155..3555d5a6631d25802118fef105fedef143875c81 100644 (file)
@@ -101,18 +101,18 @@ def siteinfo_data_for_machine(arch, os, d):
         "mips64el-linux-gnun32": "mipsel-linux bit-32",
         "mipsisa64r6-linux-gnun32": "mipsisa32r6-linux bit-32",
         "mipsisa64r6el-linux-gnun32": "mipsisa32r6el-linux bit-32",
-        "powerpc-linux": "powerpc32-linux",
-        "powerpc-linux-musl": "powerpc-linux powerpc32-linux",
-        "powerpcle-linux": "powerpc32-linux",
-        "powerpcle-linux-musl": "powerpc-linux powerpc32-linux",
-        "powerpc-linux-gnuspe": "powerpc-linux powerpc32-linux",
-        "powerpc-linux-muslspe": "powerpc-linux powerpc32-linux",
-        "powerpc64-linux-gnuspe": "powerpc-linux powerpc64-linux",
-        "powerpc64-linux-muslspe": "powerpc-linux powerpc64-linux",
-        "powerpc64-linux": "powerpc-linux powerpc64-linux",
-        "powerpc64-linux-musl": "powerpc-linux powerpc64-linux",
-        "powerpc64le-linux": "powerpc-linux powerpc64-linux",
-        "powerpc64le-linux-musl": "powerpc-linux powerpc64-linux",
+        "powerpc-linux": "powerpc32-linux powerpc32-linux-glibc",
+        "powerpc-linux-musl": "powerpc-linux powerpc32-linux powerpc32-linux-musl",
+        "powerpcle-linux": "powerpc32-linux powerpc32-linux-glibc",
+        "powerpcle-linux-musl": "powerpc-linux powerpc32-linux powerpc32-linux-musl",
+        "powerpc-linux-gnuspe": "powerpc-linux powerpc32-linux powerpc32-linux-glibc",
+        "powerpc-linux-muslspe": "powerpc-linux powerpc32-linux powerpc32-linux-musl",
+        "powerpc64-linux-gnuspe": "powerpc-linux powerpc64-linux powerpc64-linux-glibc",
+        "powerpc64-linux-muslspe": "powerpc-linux powerpc64-linux powerpc64-linux-musl",
+        "powerpc64-linux": "powerpc-linux powerpc64-linux powerpc64-linux-glibc",
+        "powerpc64-linux-musl": "powerpc-linux powerpc64-linux powerpc64-linux-musl",
+        "powerpc64le-linux": "powerpc-linux powerpc64-linux powerpc64-linux-glibc",
+        "powerpc64le-linux-musl": "powerpc-linux powerpc64-linux powerpc64-linux-musl",
         "riscv32-linux": "riscv32-linux",
         "riscv32-linux-musl": "riscv32-linux",
         "riscv64-linux": "riscv64-linux",
index f8200ce50291068ce356fd3f1c24467bbb6a6aaf..501e5b605decd9662beed71e7a574cec160a8664 100644 (file)
@@ -8,7 +8,6 @@ ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
 ac_cv_sizeof_int_p=${ac_cv_sizeof_int_p=4}
 ac_cv_sizeof_long=${ac_cv_sizeof_long=4}
 ac_cv_sizeof_long_p=${ac_cv_sizeof_long_p=4}
-ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=16}
 ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=4}
 ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
 ac_cv_sizeof_long_long_int=${ac_cv_sizeof_long_long_int=8}
diff --git a/meta/site/powerpc32-linux-glibc b/meta/site/powerpc32-linux-glibc
new file mode 100644 (file)
index 0000000..62da435
--- /dev/null
@@ -0,0 +1,8 @@
+ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=16}
+
+# libc
+libc_cv_ppc_machine=${libc_cv_ppc_machine=yes}
+libc_cv_mlong_double_128ibm=${libc_cv_mlong_double_128ibm=yes}
+libc_cv_mabi_ibmlongdouble=${libc_cv_mabi_ibmlongdouble=yes}
+libc_cv_mlong_double_128=${libc_cv_mlong_double_128=yes}
+
diff --git a/meta/site/powerpc32-linux-musl b/meta/site/powerpc32-linux-musl
new file mode 100644 (file)
index 0000000..8575ba7
--- /dev/null
@@ -0,0 +1,2 @@
+ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=8}
+
index 820a4b844033792598b7ca34f2a7bd966f173b42..18f9f29a6b5239d82baf33ac77c236a341a6d9b2 100644 (file)
@@ -4,7 +4,6 @@ ac_cv_sizeof_double=${ac_cv_sizeof_double=8}
 ac_cv_sizeof_float=${ac_cv_sizeof_float=4}
 ac_cv_sizeof_int=${ac_cv_sizeof_int=4}
 ac_cv_sizeof_long=${ac_cv_sizeof_long=8}
-ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=16}
 ac_cv_sizeof_long_int=${ac_cv_sizeof_long_int=8}
 ac_cv_sizeof_long_long=${ac_cv_sizeof_long_long=8}
 ac_cv_sizeof_long_long_int=${ac_cv_sizeof_long_long_int=8}
diff --git a/meta/site/powerpc64-linux-glibc b/meta/site/powerpc64-linux-glibc
new file mode 100644 (file)
index 0000000..dc5c285
--- /dev/null
@@ -0,0 +1,2 @@
+ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=16}
+
diff --git a/meta/site/powerpc64-linux-musl b/meta/site/powerpc64-linux-musl
new file mode 100644 (file)
index 0000000..38c537d
--- /dev/null
@@ -0,0 +1 @@
+ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=8}