mirror of
https://git.busybox.net/buildroot.git
synced 2024-11-26 23:13:27 +08:00
package/gcc: fix powerpc toolchain issues with 64-bit capable cores
Some of the powerpc CPUs supported by Buildroot are dual mode CPUs, which means 32 Bit and 64 Bit mode is supported, and for any 64-bit capable CPU, GCC defaults to using 64-bit, even if the toolchain tuple starts with powerpc-* (and not powerpc64-*). This causes issues when building toolchains with uClibc or musl. In order to resolve this, we force GCC to understand we want to generate 32-bit code, using the --with-cpu-32 option. 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> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
parent
19da044715
commit
5acaac7122
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user