diff options
author | Masahiro Yamada <yamada.masahiro@socionext.com> | 2019-01-17 01:10:03 +0100 |
---|---|---|
committer | Masahiro Yamada <yamada.masahiro@socionext.com> | 2019-01-28 01:11:17 +0100 |
commit | dee9495303f2c6d63a20c43a26420765909898eb (patch) | |
tree | 743ef93dc34e18f12cd67d7379979ee4651e6c96 /scripts/Makefile.build | |
parent | kbuild: skip 'addtree' and 'flags' magic for external module build (diff) | |
download | linux-dee9495303f2c6d63a20c43a26420765909898eb.tar.xz linux-dee9495303f2c6d63a20c43a26420765909898eb.zip |
kbuild: remove top-level built-in.a
The symbol table in the final archive is unneeded; the linker does not
require the symbol table after the --whole-archive option. Every object
file in the archive is included in the link anyway.
Pass thin archives from subdirectories directly to the linker, and
remove the final archiving step.
Fix up the document and comments as well.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Nicholas Piggin <npiggin@gmail.com>
Diffstat (limited to 'scripts/Makefile.build')
-rw-r--r-- | scripts/Makefile.build | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/scripts/Makefile.build b/scripts/Makefile.build index fd03d60f6c5a..681ab58a1548 100644 --- a/scripts/Makefile.build +++ b/scripts/Makefile.build @@ -394,14 +394,10 @@ $(obj)/%.asn1.c $(obj)/%.asn1.h: $(src)/%.asn1 $(objtree)/scripts/asn1_compiler $(sort $(subdir-obj-y)): $(subdir-ym) ; # -# Rule to compile a set of .o files into one .o file +# Rule to compile a set of .o files into one .a file (without symbol table) # ifdef builtin-target -# 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.a with a symbol -# table and index. quiet_cmd_ar_builtin = AR $@ cmd_ar_builtin = rm -f $@; \ $(AR) rcSTP$(KBUILD_ARFLAGS) $@ $(filter $(real-obj-y), $^) @@ -426,7 +422,7 @@ $(modorder-target): $(subdir-ym) FORCE $(Q)(cat /dev/null; $(modorder-cmds)) > $@ # -# Rule to compile a set of .o files into one .a file +# Rule to compile a set of .o files into one .a file (with symbol table) # ifdef lib-target quiet_cmd_link_l_target = AR $@ |