summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMasahiro Yamada <masahiroy@kernel.org>2025-03-13 19:26:03 +0900
committerMasahiro Yamada <masahiroy@kernel.org>2025-03-15 21:22:52 +0900
commitba4d705046fb568bad4aeffeb79db78d4e835a1f (patch)
treef7473fbe59f8c4c5b4b00f5f4c2452bcc0d6542c
parent479fde496586efa1105496c536c4c65bed43fe2b (diff)
kbuild: do not generate .tmp_vmlinux*.map when CONFIG_VMLINUX_MAP=y
Commit 5cc124720461 ("kbuild: add CONFIG_VMLINUX_MAP expert option") mentioned that "the .map file can be rather large (several MB), and that's a waste of space when one isn't interested in these things." If that is the case, generating map files for the intermediate tmp_vmlinux* files is also a waste of space. It is unlikely that anyone would be interested in the .tmp_vmlinux*.map files. This commit stops passing the -Map= option when linking the .tmp_vmlinux* intermediates. I also hard-coded the file name 'vmlinux.map' instead of ${output}.map because a later commit will introduce vmlinux.unstripped but I want to keep the current name of the map file. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Acked-by: Ard Biesheuvel <ardb@kernel.org>
-rwxr-xr-xscripts/link-vmlinux.sh9
1 files changed, 7 insertions, 2 deletions
diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh
index 56a077d204cf..96ae0bb65308 100755
--- a/scripts/link-vmlinux.sh
+++ b/scripts/link-vmlinux.sh
@@ -97,8 +97,8 @@ vmlinux_link()
ldflags="${ldflags} ${wl}--strip-debug"
fi
- if is_enabled CONFIG_VMLINUX_MAP; then
- ldflags="${ldflags} ${wl}-Map=${output}.map"
+ if [ -n "${generate_map}" ]; then
+ ldflags="${ldflags} ${wl}-Map=vmlinux.map"
fi
${ld} ${ldflags} -o ${output} \
@@ -210,6 +210,7 @@ fi
btf_vmlinux_bin_o=
kallsymso=
strip_debug=
+generate_map=
if is_enabled CONFIG_KALLSYMS; then
true > .tmp_vmlinux0.syms
@@ -278,6 +279,10 @@ fi
strip_debug=
+if is_enabled CONFIG_VMLINUX_MAP; then
+ generate_map=1
+fi
+
vmlinux_link vmlinux
# fill in BTF IDs