[PATCH 1/5] kbuild: remove unneeded -nostdlib flag
Masahiro Yamada
masahiroy at kernel.org
Tue Nov 16 19:49:14 PST 2021
The -nostdlib option requests the compiler to not use the standard
system startup files or libraries when linking.
arch/kvm/Makefile adds it to KBUILD_CFLAGS/AFLAGS, but it does not make
sense because those are unrelated to linking.
arch/{mips,riscv,x86}/Makefile passes it to the linker, but it is not
sensible either. As noted above, adding -nostdlib makes sense only
when $(CC) is used as a linker driver, but $(LD) is directly used for
linking barebox. (ld.bfd/ld.lld recognizes the -nostdlib flag, but its
behavior is obscure, and unneeded here.)
Signed-off-by: Masahiro Yamada <masahiroy at kernel.org>
---
arch/kvx/Makefile | 2 +-
arch/mips/Makefile | 2 --
arch/riscv/Makefile | 1 -
arch/x86/Makefile | 2 +-
4 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/arch/kvx/Makefile b/arch/kvx/Makefile
index 13c4e2431..f29eeef92 100644
--- a/arch/kvx/Makefile
+++ b/arch/kvx/Makefile
@@ -8,7 +8,7 @@ ifeq ($(CROSS_COMPILE),)
CROSS_COMPILE := kvx-elf-
endif
-DEFAULT_CFLAGS := -nostdlib -fno-builtin -fstrict-align -g
+DEFAULT_CFLAGS := -fno-builtin -fstrict-align -g
DEFAULT_CFLAGS += -DTEXT_BASE=$(CONFIG_TEXT_BASE)
LIBGCC_PATH = $(dir $(shell $(CC) $(KBUILD_CFLAGS) --print-libgcc-file-name))
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index 4eb6ba772..786695194 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -72,8 +72,6 @@ KBUILD_BINARY := barebox.bin
KBUILD_TARGET := barebox.bin
endif
-LDFLAGS_barebox += -nostdlib
-
machine-$(CONFIG_MACH_MIPS_MALTA) := malta
machine-$(CONFIG_MACH_MIPS_AR231X) := ar231x
machine-$(CONFIG_MACH_MIPS_ATH79) := ath79
diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile
index 0b1278936..23ea6178a 100644
--- a/arch/riscv/Makefile
+++ b/arch/riscv/Makefile
@@ -17,7 +17,6 @@ PBL_CPPFLAGS += $(riscv-cflags-y)
LDFLAGS_pbl += $(riscv-ldflags-y)
cflags-y += $(riscv-cflags-y)
-LDFLAGS_barebox += -nostdlib
LDFLAGS_barebox += $(riscv-ldflags-y)
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index fd871ca21..9fc64cc04 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -54,7 +54,7 @@ lds-$(CONFIG_X86_64) := arch/x86/mach-efi/elf_x86_64_efi.lds
cmd_barebox__ ?= $(LD) $(KBUILD_LDFLAGS) $(LDFLAGS_barebox) -o $@ \
-T $(lds-y) \
- -shared -Bsymbolic -nostdlib -znocombreloc \
+ -shared -Bsymbolic -znocombreloc \
--whole-archive $(BAREBOX_OBJS) \
--no-whole-archive \
$(filter-out $(BAREBOX_LDS) $(BAREBOX_OBJS) FORCE ,$^)
--
2.30.2
More information about the barebox
mailing list