[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20220516234646.531208-1-cristian.ciocaltea@collabora.com>
Date: Tue, 17 May 2022 02:46:46 +0300
From: Cristian Ciocaltea <cristian.ciocaltea@...labora.com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: "Philip K. Gisslow" <ripxorip@...il.com>,
Zhaoyu Liu <zackary.liu.pro@...il.com>,
cristian.ciocaltea@...labora.com, linux-kernel@...r.kernel.org,
kernel@...labora.com
Subject: [PATCH] scripts/tags.sh: Invoke 'realpath' via 'xargs'
When COMPILED_SOURCE is set, running
make ARCH=x86_64 COMPILED_SOURCE=1 cscope tags
could throw the following errors:
scripts/tags.sh: line 98: /usr/bin/realpath: Argument list too long
cscope: no source files found
scripts/tags.sh: line 98: /usr/bin/realpath: Argument list too long
ctags: No files specified. Try "ctags --help".
This is most likely to happen when the kernel is configured to build a
large number of modules, which has the consequence of passing too many
arguments when calling 'realpath' in 'all_compiled_sources()'.
Let's improve this by invoking 'realpath' through 'xargs', which takes
care of properly limiting the argument list.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@...labora.com>
---
scripts/tags.sh | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/scripts/tags.sh b/scripts/tags.sh
index 16d475b3e203..01fab3d4f90b 100755
--- a/scripts/tags.sh
+++ b/scripts/tags.sh
@@ -95,10 +95,13 @@ all_sources()
all_compiled_sources()
{
- realpath -es $([ -z "$KBUILD_ABS_SRCTREE" ] && echo --relative-to=.) \
- include/generated/autoconf.h $(find $ignore -name "*.cmd" -exec \
- grep -Poh '(?(?=^source_.* \K).*|(?=^ \K\S).*(?= \\))' {} \+ |
- awk '!a[$0]++') | sort -u
+ {
+ echo include/generated/autoconf.h
+ find $ignore -name "*.cmd" -exec \
+ grep -Poh '(?(?=^source_.* \K).*|(?=^ \K\S).*(?= \\))' {} \+ |
+ awk '!a[$0]++'
+ } | xargs realpath -es $([ -z "$KBUILD_ABS_SRCTREE" ] && echo --relative-to=.) |
+ sort -u
}
all_target_sources()
--
2.36.1
Powered by blists - more mailing lists