path: root/Documentation/kbuild/makefiles.txt
diff options
authorNicholas Piggin <npiggin@gmail.com>2018-02-11 00:25:03 +1000
committerMasahiro Yamada <yamada.masahiro@socionext.com>2018-03-26 02:01:19 +0900
commit6358d6e8b9846c2ff6fd1d4ad2809145635dd813 (patch)
tree3e2ac4f41fef7aaa4207eec852b992f0cfa3b73c /Documentation/kbuild/makefiles.txt
parentkbuild: Improve portability of some sed invocations (diff)
kbuild: remove incremental linking option
This removes the old `ld -r` incremental link option, which has not been selected by any architecture since June 2017. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'Documentation/kbuild/makefiles.txt')
1 files changed, 8 insertions, 2 deletions
diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt
index 71e9feefb63c..750aea9edd35 100644
--- a/Documentation/kbuild/makefiles.txt
+++ b/Documentation/kbuild/makefiles.txt
@@ -153,8 +153,14 @@ more details, with real examples.
Kbuild compiles all the $(obj-y) files. It then calls
- "$(LD) -r" to merge these files into one built-in.o file.
- built-in.o is later linked into vmlinux by the parent Makefile.
+ "$(AR) rcSTP" to merge these files into one built-in.o file.
+ This is a thin archive without a symbol table, which makes it
+ unsuitable as a linker input.
+ The scripts/link-vmlinux.sh script later makes an aggregate
+ built-in.o with "${AR} rcsTP", which creates the thin archive
+ with a symbol table and an index, making it a valid input for
+ the final vmlinux link passes.
The order of files in $(obj-y) is significant. Duplicates in
the lists are allowed: the first instance will be linked into