kbuild: avoid scripts/kallsyms parsing /dev/null
authorMasahiro Yamada <masahiroy@kernel.org>
Wed, 7 Aug 2024 18:03:00 +0000 (03:03 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Mon, 12 Aug 2024 09:37:27 +0000 (18:37 +0900)
On macOS, as reported by Daniel Gomez, getline() sets ENOTTY to errno
if it is requested to read from /dev/null.

If this is worth fixing, I would rather pass an empty file to
scripts/kallsyms instead of adding the ugly #ifdef __APPLE__.

Fixes: c442db3f49f2 ("kbuild: remove PROVIDE() for kallsyms symbols")
Reported-by: Daniel Gomez <da.gomez@samsung.com>
Closes: https://lore.kernel.org/all/20240807-macos-build-support-v1-12-4cd1ded85694@samsung.com/
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
Reviewed-by: Daniel Gomez <da.gomez@samsung.com>
scripts/link-vmlinux.sh

index f7b2503cdba95610e210de1da71fa5f56d03600a..41c68ae3415d5a13873f64da3be0a29cee7f7df3 100755 (executable)
@@ -219,7 +219,8 @@ kallsymso=
 strip_debug=
 
 if is_enabled CONFIG_KALLSYMS; then
-       kallsyms /dev/null .tmp_vmlinux0.kallsyms
+       truncate -s0 .tmp_vmlinux.kallsyms0.syms
+       kallsyms .tmp_vmlinux.kallsyms0.syms .tmp_vmlinux0.kallsyms
 fi
 
 if is_enabled CONFIG_KALLSYMS || is_enabled CONFIG_DEBUG_INFO_BTF; then