diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2017-06-09 15:24:13 +1000 |
---|---|---|
committer | Nolen Johnson <johnsonnolen@gmail.com> | 2023-03-18 19:41:43 +0100 |
commit | 43076241b514e16fdbbdeebaf77ad62da38d109e (patch) | |
tree | eab2498438b93ec4be61ecabc56cca120a33e7f4 /scripts/link-vmlinux.sh | |
parent | aa04fc78256d4b166d942a89b5f2cd7e86eb96df (diff) |
kbuild: thin archives final link close --whole-archives option
Close the --whole-archives option with --no-whole-archive. Some
architectures end up including additional .o and files multiple
times after this, and they get duplicate symbols when they are
brought under the --whole-archives option.
This matches more closely with the incremental final link.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Change-Id: I6efef94b96f62802de5efe10a5e5171d8983ab49
Diffstat (limited to 'scripts/link-vmlinux.sh')
-rwxr-xr-x | scripts/link-vmlinux.sh | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh index ed6a0127f724..43a74357cd90 100755 --- a/scripts/link-vmlinux.sh +++ b/scripts/link-vmlinux.sh @@ -63,7 +63,7 @@ modpost_link() local objects if [ -n "${CONFIG_THIN_ARCHIVES}" ]; then - objects="--whole-archive built-in.o" + objects="--whole-archive built-in.o --no-whole-archive" else objects="${KBUILD_VMLINUX_INIT} \ --start-group \ @@ -83,7 +83,7 @@ vmlinux_link() if [ "${SRCARCH}" != "um" ]; then if [ -n "${CONFIG_THIN_ARCHIVES}" ]; then - objects="--whole-archive built-in.o ${1}" + objects="--whole-archive built-in.o ${1} --no-whole-archive" else objects="${KBUILD_VMLINUX_INIT} \ --start-group \ @@ -96,7 +96,7 @@ vmlinux_link() -T ${lds} ${objects} else if [ -n "${CONFIG_THIN_ARCHIVES}" ]; then - objects="-Wl,--whole-archive built-in.o ${1}" + objects="-Wl,--whole-archive built-in.o ${1} -Wl,--no-whole-archive" else objects="${KBUILD_VMLINUX_INIT} \ -Wl,--start-group \ |