diff mbox series

package/gcc: fix powerpc toolchain issues

Message ID ZNRodM7hgvo2nT4T@waldemar-brodkorb.de
State Accepted
Headers show
Series package/gcc: fix powerpc toolchain issues | expand

Commit Message

Waldemar Brodkorb Aug. 10, 2023, 4:32 a.m. UTC
Some of the powerpc CPU's supported by Buildroot are dual mode CPU's,
which means 32 Bit and 64 Bit mode is supported.

See here the gcc documentation for details about --with-cpu-32:
https://gcc.gnu.org/install/configure.html

See here for a discussion on the musl mailinglist about the error:
https://inbox.vuxu.org/musl/20220722162900.GB1320090@port70.net/

Fixes:
 - http://autobuild.buildroot.net/results/450/4509d8cfb7d99beb4ef023f170490def1d90f92c
 - http://autobuild.buildroot.net/results/654/6545a464d49f9f3c6740a5208cfad7f09ec4cb8b
 - http://autobuild.buildroot.net/results/cf8/cf866d5320b069eb1e8b4f05e8e58de0ad2ec7b5

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
---

Thanks to Thomas Petazzoni for pointing me to the gcc docs and the
--with-cpu-32 option via IRC. 

---
 package/gcc/gcc.mk | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Thomas Petazzoni Aug. 26, 2023, 7:53 p.m. UTC | #1
On Thu, 10 Aug 2023 06:32:52 +0200
Waldemar Brodkorb <wbx@openadk.org> wrote:

> Some of the powerpc CPU's supported by Buildroot are dual mode CPU's,
> which means 32 Bit and 64 Bit mode is supported.
> 
> See here the gcc documentation for details about --with-cpu-32:
> https://gcc.gnu.org/install/configure.html
> 
> See here for a discussion on the musl mailinglist about the error:
> https://inbox.vuxu.org/musl/20220722162900.GB1320090@port70.net/
> 
> Fixes:
>  - http://autobuild.buildroot.net/results/450/4509d8cfb7d99beb4ef023f170490def1d90f92c
>  - http://autobuild.buildroot.net/results/654/6545a464d49f9f3c6740a5208cfad7f09ec4cb8b
>  - http://autobuild.buildroot.net/results/cf8/cf866d5320b069eb1e8b4f05e8e58de0ad2ec7b5
> 
> Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
> ---

Applied to master with an improved commit log. Thanks!

Thomas
diff mbox series

Patch

diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk
index 1ecbf7e9b4..3050229176 100644
--- a/package/gcc/gcc.mk
+++ b/package/gcc/gcc.mk
@@ -225,9 +225,17 @@  endif
 ifneq ($(GCC_TARGET_FP32_MODE),)
 HOST_GCC_COMMON_CONF_OPTS += --with-fp-32="$(GCC_TARGET_FP32_MODE)"
 endif
+
+# musl/uClibc-ng does not work with biarch powerpc toolchains, we
+# need to configure gcc explicitely for 32 Bit for CPU's supporting
+# 64 Bit and 32 Bit
 ifneq ($(GCC_TARGET_CPU),)
+ifeq ($(BR2_powerpc),y)
+HOST_GCC_COMMON_CONF_OPTS += --with-cpu-32=$(GCC_TARGET_CPU)
+else
 HOST_GCC_COMMON_CONF_OPTS += --with-cpu=$(GCC_TARGET_CPU)
 endif
+endif
 
 ifneq ($(GCC_TARGET_FPU),)
 HOST_GCC_COMMON_CONF_OPTS += --with-fpu=$(GCC_TARGET_FPU)