[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