From 28cb148c1375ba242addba80b0f68e06d2a4d874 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 12 Mar 2022 11:18:22 -0800 Subject: [PATCH] ppc/siteinfo: Fix differences between musl and glibc 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 Signed-off-by: Richard Purdie --- meta/classes/siteinfo.bbclass | 24 ++++++++++++------------ meta/site/powerpc32-linux | 1 - meta/site/powerpc32-linux-glibc | 8 ++++++++ meta/site/powerpc32-linux-musl | 2 ++ meta/site/powerpc64-linux | 1 - meta/site/powerpc64-linux-glibc | 2 ++ meta/site/powerpc64-linux-musl | 1 + 7 files changed, 25 insertions(+), 14 deletions(-) create mode 100644 meta/site/powerpc32-linux-glibc create mode 100644 meta/site/powerpc32-linux-musl create mode 100644 meta/site/powerpc64-linux-glibc create mode 100644 meta/site/powerpc64-linux-musl diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass index c5f4dfda41..3555d5a663 100644 --- a/meta/classes/siteinfo.bbclass +++ b/meta/classes/siteinfo.bbclass @@ -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", diff --git a/meta/site/powerpc32-linux b/meta/site/powerpc32-linux index f8200ce502..501e5b605d 100644 --- a/meta/site/powerpc32-linux +++ b/meta/site/powerpc32-linux @@ -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 index 0000000000..62da435989 --- /dev/null +++ b/meta/site/powerpc32-linux-glibc @@ -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 index 0000000000..8575ba7531 --- /dev/null +++ b/meta/site/powerpc32-linux-musl @@ -0,0 +1,2 @@ +ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=8} + diff --git a/meta/site/powerpc64-linux b/meta/site/powerpc64-linux index 820a4b8440..18f9f29a6b 100644 --- a/meta/site/powerpc64-linux +++ b/meta/site/powerpc64-linux @@ -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 index 0000000000..dc5c28524b --- /dev/null +++ b/meta/site/powerpc64-linux-glibc @@ -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 index 0000000000..38c537dd1b --- /dev/null +++ b/meta/site/powerpc64-linux-musl @@ -0,0 +1 @@ +ac_cv_sizeof_long_double=${ac_cv_sizeof_long_double=8} -- 2.40.1