summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek BehĂșn <marek.behun@nic.cz>2021-05-20 13:24:04 +0200
committerTom Rini <trini@konsulko.com>2021-05-24 14:21:30 -0400
commitda48bd9ee5768e9811e4fbbab964c7f9d64fce3d (patch)
tree478d8f917782283f6470fac4a1c39ead68be5566
parentc1094987d1dc4701646c5f3aa254e7a92a02d305 (diff)
downloadu-boot-da48bd9ee5768e9811e4fbbab964c7f9d64fce3d.tar.gz
u-boot-da48bd9ee5768e9811e4fbbab964c7f9d64fce3d.tar.xz
u-boot-da48bd9ee5768e9811e4fbbab964c7f9d64fce3d.zip
build: link with --build-id=none
Some toolchains are compiled so that they pass a --build-id=something parameter to the linker implicitly. This causes U-Boot LTO linking to fail with something like: ld: section .note.gnu.build-id LMA ... overlaps section .text LMA ... because U-Boot's link scripts do not currently handle .note.gnu.build-id section. Fix this by explicitly disabling build-id. Signed-off-by: Marek BehĂșn <marek.behun@nic.cz> Reviewed-by: Simon Glass <sjg@chromium.org>
-rw-r--r--Makefile2
-rw-r--r--scripts/Makefile.spl2
2 files changed, 4 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index d2fdac7d31..a038c6d6b6 100644
--- a/Makefile
+++ b/Makefile
@@ -997,6 +997,8 @@ LDFLAGS_u-boot += $(LDFLAGS_FINAL)
# Avoid 'Not enough room for program headers' error on binutils 2.28 onwards.
LDFLAGS_u-boot += $(call ld-option, --no-dynamic-linker)
+LDFLAGS_u-boot += --build-id=none
+
ifeq ($(CONFIG_ARC)$(CONFIG_NIOS2)$(CONFIG_X86)$(CONFIG_XTENSA),)
LDFLAGS_u-boot += -Ttext $(CONFIG_SYS_TEXT_BASE)
endif
diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl
index 7872cbaabe..5be1a9ba1b 100644
--- a/scripts/Makefile.spl
+++ b/scripts/Makefile.spl
@@ -399,6 +399,8 @@ LDFLAGS_$(SPL_BIN) += -T u-boot-spl.lds $(LDFLAGS_FINAL)
# Avoid 'Not enough room for program headers' error on binutils 2.28 onwards.
LDFLAGS_$(SPL_BIN) += $(call ld-option, --no-dynamic-linker)
+LDFLAGS_$(SPL_BIN) += --build-id=none
+
# Pick the best-match (i.e. SPL_TEXT_BASE for SPL, TPL_TEXT_BASE for TPL)
ifneq ($(CONFIG_$(SPL_TPL_)TEXT_BASE),)
LDFLAGS_$(SPL_BIN) += -Ttext $(CONFIG_$(SPL_TPL_)TEXT_BASE)