
Hi,
On Thu, 2022-01-27 at 14:35, Simon Glass wrote:
Hi,
On Fri, 21 Jan 2022 at 13:11, Milan P. Stanić mps@arvanta.net wrote:
Hi,
it works and build pass without error or warning. Tested on alpine edge aarch64 bare metal.
Thank you
On Fri, 2022-01-21 at 18:00, Heinrich Schuchardt wrote:
sdl.c is compiled against the SDL library.
Trying to redefine wchar_t with -fshort-wchar is not necessary and leads to build failures when compiling against musl.
Cc: Milan P. Stanić mps@arvanta.net Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com
Tested-by: Milan P. Stanić mps@arvanta.net
arch/sandbox/Makefile | 7 +++++++ arch/sandbox/cpu/Makefile | 11 ++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/arch/sandbox/Makefile b/arch/sandbox/Makefile index f6cf859f24..0bdd322f12 100644 --- a/arch/sandbox/Makefile +++ b/arch/sandbox/Makefile @@ -4,3 +4,10 @@ head-y := arch/sandbox/cpu/start.o arch/sandbox/cpu/os.o head-$(CONFIG_SANDBOX_SDL) += arch/sandbox/cpu/sdl.o libs-y += arch/sandbox/cpu/ libs-y += arch/sandbox/lib/
+# sdl.c fails to compile with -fshort-wchar using musl. +cmd_cc_sdl.o = $(CC) $(filter-out -nostdinc -fshort-wchar, \
$(patsubst -I%,-idirafter%,$(c_flags))) -c -o $@ $<
+$(obj)/sdl.o: $(src)/sdl.c FORCE
$(call if_changed_dep,cc_sdl.o)
diff --git a/arch/sandbox/cpu/Makefile b/arch/sandbox/cpu/Makefile index de7fe7f391..b74c866e56 100644 --- a/arch/sandbox/cpu/Makefile +++ b/arch/sandbox/cpu/Makefile @@ -7,7 +7,7 @@
obj-y := cache.o cpu.o state.o extra-y := start.o os.o -extra-$(CONFIG_SANDBOX_SDL) += sdl.o +extra-$(CONFIG_SANDBOX_SDL) += sdl.o obj-$(CONFIG_SPL_BUILD) += spl.o obj-$(CONFIG_ETH_SANDBOX_RAW) += eth-raw-os.o
@@ -19,8 +19,6 @@ cmd_cc_os.o = $(CC) $(filter-out -nostdinc, \
$(obj)/os.o: $(src)/os.c FORCE $(call if_changed_dep,cc_os.o) -$(obj)/sdl.o: $(src)/sdl.c FORCE
$(call if_changed_dep,cc_os.o)
# eth-raw-os.c is built in the system env, so needs standard includes # CFLAGS_REMOVE_eth-raw-os.o cannot be used to drop header include path @@ -30,3 +28,10 @@ cmd_cc_eth-raw-os.o = $(CC) $(filter-out -nostdinc, \
$(obj)/eth-raw-os.o: $(src)/eth-raw-os.c FORCE $(call if_changed_dep,cc_eth-raw-os.o)
+# sdl.c fails to build with -fshort-wchar using musl +cmd_cc_sdl.o = $(CC) $(filter-out -nostdinc -fshort-wchar, \
$(patsubst -I%,-idirafter%,$(c_flags))) -c -o $@ $<
+$(obj)/sdl.o: $(src)/sdl.c FORCE
$(call if_changed_dep,cc_sdl.o)
-- 2.33.1
This fails on gitlab.
https://source.denx.de/u-boot/custodians/u-boot-dm/-/jobs/382812
$ tools/buildman/buildman -o ${UBOOT_TRAVIS_BUILD_DIR} -w -E -W -e --board ${TEST_PY_BD} ${OVERRIDE} Building current source for 1 boards (1 thread, 40 jobs per thread) sandbox: + sandbox +/usr/bin/ld: error: LLVM gold plugin: linking module flags 'wchar_size': IDs have conflicting values in 'arch/sandbox/cpu/sdl.o' and 'ld-temp.o' +clang: error: linker command failed with exit code 1 (use -v to see invocation) +make[1]: *** [Makefile:1799: u-boot] Error 1 +make: *** [Makefile:177: sub-make] Error 2 0 0 1 /1 sandbox Completed: 1 total built, duration 0:00:22, rate 0.05 Running after_script
Please can you take a look?
I tested with clang and lld, and clang ld.gold in lxc and bare metal build. didn't had this errors.
Could be that this problem appears on docker only.