From f439f7c60b3734d3920c32aee027c2cb73621682 Mon Sep 17 00:00:00 2001 From: Moritz Bitsch <moritz@h6t.eu> Date: Fri, 18 Feb 2022 00:06:38 +0100 Subject: [PATCH] package/pkg-cargo.mk: fix building cargo packages on 32bit arm There are duplicated symbols between rustc and gcc. Specifying --allow-multiple-definition to the linker as workaround until rustc is fixed. rust-lang issue: https://github.com/rust-lang/compiler-builtins/issues/420 Fixes: http://autobuild.buildroot.net/results/53f/53f5598b8e520caaa135fb4923c09da382dab329 Signed-off-by: Moritz Bitsch <moritz@h6t.eu> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> --- package/pkg-cargo.mk | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/package/pkg-cargo.mk b/package/pkg-cargo.mk index 6f5125f1d4..f7e3f39503 100644 --- a/package/pkg-cargo.mk +++ b/package/pkg-cargo.mk @@ -46,6 +46,14 @@ PKG_CARGO_ENV = \ CARGO_BUILD_TARGET="$(RUSTC_TARGET_NAME)" \ CARGO_TARGET_$(call UPPERCASE,$(RUSTC_TARGET_NAME))_LINKER=$(notdir $(TARGET_CROSS))gcc +# +# This is a workaround for https://github.com/rust-lang/compiler-builtins/issues/420 +# and should be removed when fixed upstream +# +ifeq ($(NORMALIZED_ARCH),arm) + PKG_CARGO_ENV += RUSTFLAGS="-Clink-arg=-Wl,--allow-multiple-definition" +endif + HOST_PKG_CARGO_ENV = \ $(PKG_COMMON_CARGO_ENV)