From f49821ee32b76b1a356fab17316eb62430182ecf Mon Sep 17 00:00:00 2001 From: Nicholas Piggin Date: Sun, 11 Feb 2018 00:25:04 +1000 Subject: kbuild: rename built-in.o to built-in.a Incremental linking is gone, so rename built-in.o to built-in.a, which is the usual extension for archive files. This patch does two things, first is a simple search/replace: git grep -l 'built-in\.o' | xargs sed -i 's/built-in\.o/built-in\.a/g' The second is to invert nesting of nested text manipulations to avoid filtering built-in.a out from libs-y2: -libs-y2 := $(filter-out %.a, $(patsubst %/, %/built-in.a, $(libs-y))) +libs-y2 := $(patsubst %/, %/built-in.a, $(filter-out %.a, $(libs-y))) Signed-off-by: Nicholas Piggin Signed-off-by: Masahiro Yamada --- scripts/Makefile.build | 10 +++++----- scripts/Makefile.lib | 6 +++--- scripts/link-vmlinux.sh | 20 ++++++++++---------- scripts/namespace.pl | 2 +- 4 files changed, 19 insertions(+), 19 deletions(-) (limited to 'scripts') diff --git a/scripts/Makefile.build b/scripts/Makefile.build index 672cf5bfd724..7cd2f4a6c2ac 100644 --- a/scripts/Makefile.build +++ b/scripts/Makefile.build @@ -77,7 +77,7 @@ obj-y += $(obj)/lib-ksyms.o endif ifneq ($(strip $(obj-y) $(need-builtin)),) -builtin-target := $(obj)/built-in.o +builtin-target := $(obj)/built-in.a endif modorder-target := $(obj)/modules.order @@ -104,7 +104,7 @@ ifneq ($(KBUILD_ENABLE_EXTRA_GCC_CHECKS),) cmd_checkdoc = $(srctree)/scripts/kernel-doc -none $< ; endif -# Do section mismatch analysis for each module/built-in.o +# Do section mismatch analysis for each module/built-in.a ifdef CONFIG_DEBUG_SECTION_MISMATCH cmd_secanalysis = ; scripts/mod/modpost $@ endif @@ -458,15 +458,15 @@ $(sort $(subdir-obj-y)): $(subdir-ym) ; # ifdef builtin-target -# built-in.o archives are made with no symbol table or index which +# built-in.a archives are made with no symbol table or index which # makes them small and fast, but unable to be used by the linker. -# scripts/link-vmlinux.sh builds an aggregate built-in.o with a symbol +# scripts/link-vmlinux.sh builds an aggregate built-in.a with a symbol # table and index. cmd_make_builtin = rm -f $@; $(AR) rcSTP$(KBUILD_ARFLAGS) cmd_make_empty_builtin = rm -f $@; $(AR) rcSTP$(KBUILD_ARFLAGS) quiet_cmd_link_o_target = AR $@ -# If the list of objects to link is empty, just create an empty built-in.o +# If the list of objects to link is empty, just create an empty built-in.a cmd_link_o_target = $(if $(strip $(obj-y)),\ $(cmd_make_builtin) $@ $(filter $(obj-y), $^) \ $(cmd_secanalysis),\ diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index a6f538b31ad6..5fd60af76d98 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -27,7 +27,7 @@ modorder := $(patsubst %/,%/modules.order, $(filter %/, $(obj-y)) $(obj-m:.o=.ko # Handle objects in subdirs # --------------------------------------------------------------------------- -# o if we encounter foo/ in $(obj-y), replace it by foo/built-in.o +# o if we encounter foo/ in $(obj-y), replace it by foo/built-in.a # and add the directory to the list of dirs to descend into: $(subdir-y) # o if we encounter foo/ in $(obj-m), remove it from $(obj-m) # and add the directory to the list of dirs to descend into: $(subdir-m) @@ -35,7 +35,7 @@ __subdir-y := $(patsubst %/,%,$(filter %/, $(obj-y))) subdir-y += $(__subdir-y) __subdir-m := $(patsubst %/,%,$(filter %/, $(obj-m))) subdir-m += $(__subdir-m) -obj-y := $(patsubst %/, %/built-in.o, $(obj-y)) +obj-y := $(patsubst %/, %/built-in.a, $(obj-y)) obj-m := $(filter-out %/, $(obj-m)) # Subdirectories we need to descend into @@ -54,7 +54,7 @@ multi-objs-m := $(foreach m, $(multi-used-m), $($(m:.o=-objs)) $($(m:.o=-y))) # $(subdir-obj-y) is the list of objects in $(obj-y) which uses dir/ to # tell kbuild to descend -subdir-obj-y := $(filter %/built-in.o, $(obj-y)) +subdir-obj-y := $(filter %/built-in.a, $(obj-y)) # Replace multi-part objects by their individual parts, look at local dir only real-objs-y := $(foreach m, $(filter-out $(subdir-obj-y), $(obj-y)), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y))),$($(m:.o=-objs)) $($(m:.o=-y)),$(m))) diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh index 601ca8b528b3..08ca08e9105c 100755 --- a/scripts/link-vmlinux.sh +++ b/scripts/link-vmlinux.sh @@ -4,7 +4,7 @@ # link vmlinux # # vmlinux is linked from the objects selected by $(KBUILD_VMLINUX_INIT) and -# $(KBUILD_VMLINUX_MAIN) and $(KBUILD_VMLINUX_LIBS). Most are built-in.o files +# $(KBUILD_VMLINUX_MAIN) and $(KBUILD_VMLINUX_LIBS). Most are built-in.a files # from top-level directories in the kernel tree, others are specified in # arch/$(ARCH)/Makefile. Ordering when linking is important, and # $(KBUILD_VMLINUX_INIT) must be first. $(KBUILD_VMLINUX_LIBS) are archives @@ -18,7 +18,7 @@ # | +--< init/version.o + more # | # +--< $(KBUILD_VMLINUX_MAIN) -# | +--< drivers/built-in.o mm/built-in.o + more +# | +--< drivers/built-in.a mm/built-in.a + more # | # +--< $(KBUILD_VMLINUX_LIBS) # | +--< lib/lib.a + more @@ -51,13 +51,13 @@ info() # # Traditional incremental style of link does not require this step # -# built-in.o output file +# built-in.a output file # archive_builtin() { - info AR built-in.o - rm -f built-in.o; - ${AR} rcsTP${KBUILD_ARFLAGS} built-in.o \ + info AR built-in.a + rm -f built-in.a; + ${AR} rcsTP${KBUILD_ARFLAGS} built-in.a \ ${KBUILD_VMLINUX_INIT} \ ${KBUILD_VMLINUX_MAIN} } @@ -69,7 +69,7 @@ modpost_link() local objects objects="--whole-archive \ - built-in.o \ + built-in.a \ --no-whole-archive \ --start-group \ ${KBUILD_VMLINUX_LIBS} \ @@ -88,7 +88,7 @@ vmlinux_link() if [ "${SRCARCH}" != "um" ]; then objects="--whole-archive \ - built-in.o \ + built-in.a \ --no-whole-archive \ --start-group \ ${KBUILD_VMLINUX_LIBS} \ @@ -99,7 +99,7 @@ vmlinux_link() -T ${lds} ${objects} else objects="-Wl,--whole-archive \ - built-in.o \ + built-in.a \ -Wl,--no-whole-archive \ -Wl,--start-group \ ${KBUILD_VMLINUX_LIBS} \ @@ -164,7 +164,7 @@ cleanup() rm -f .tmp_System.map rm -f .tmp_kallsyms* rm -f .tmp_vmlinux* - rm -f built-in.o + rm -f built-in.a rm -f System.map rm -f vmlinux rm -f vmlinux.o diff --git a/scripts/namespace.pl b/scripts/namespace.pl index 729c547fc9e1..6135574a6f39 100755 --- a/scripts/namespace.pl +++ b/scripts/namespace.pl @@ -164,7 +164,7 @@ sub linux_objects s:^\./::; if (/.*\.o$/ && ! ( - m:/built-in.o$: + m:/built-in.a$: || m:arch/x86/vdso/: || m:arch/x86/boot/: || m:arch/ia64/ia32/ia32.o$: -- cgit v1.2.3