scripts/tags.sh: Invoke 'realpath' via 'xargs'
authorCristian Ciocaltea <cristian.ciocaltea@collabora.com>
Mon, 16 May 2022 23:46:46 +0000 (02:46 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 3 Mar 2023 10:45:53 +0000 (11:45 +0100)
commit1aee4ab2c1075f858a338dfda175a3f84eac2987
tree5a3b41b113b131dfd406ab03e1fe901e16474c91
parent06740b433d9dc76f4cdaf711064961d4810b365a
scripts/tags.sh: Invoke 'realpath' via 'xargs'

commit 7394d2ebb651a9f62e08c6ab864aac015d27c64d upstream.

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@collabora.com>
Link: https://lore.kernel.org/r/20220516234646.531208-1-cristian.ciocaltea@collabora.com
Cc: Carlos Llamas <cmllamas@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
scripts/tags.sh