]> git.baikalelectronics.ru Git - kernel.git/commit
kbuild: handle libs-y archives separately from built-in.o archives
authorNicholas Piggin <npiggin@gmail.com>
Mon, 19 Jun 2017 15:52:05 +0000 (01:52 +1000)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Fri, 30 Jun 2017 00:03:03 +0000 (09:03 +0900)
commitb3672b1960988d666bc2186aab19a7d4d2b208d3
treef0c4ea695592ad123e22c85d649ec917796a6652
parent0f5720d151ef69067372d22139d69f198cb785ee
kbuild: handle libs-y archives separately from built-in.o archives

The thin archives build currently puts all lib.a and built-in.o
files together and links them with --whole-archive.

This works because thin archives can recursively refer to thin
archives. However some architectures include libgcc.a, which may
not be a thin archive, or it may not be constructed with the "P"
option, in which case its contents do not get linked correctly.

So don't pull .a libs into the root built-in.o archive. These
libs should already have symbol tables and indexes built, so they
can be direct linker inputs. Move them out of the --whole-archive
option, which restore the conditional linking behaviour of lib.a
to thin archives builds.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Documentation/kbuild/kbuild.txt
Makefile
scripts/link-vmlinux.sh