]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
gcc: Fix "argument list too long" from install-plugins
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 3 Dec 2021 03:00:04 +0000 (22:00 -0500)
committerJeff Law <jeffreyalaw@gmail.com>
Fri, 3 Dec 2021 03:00:04 +0000 (22:00 -0500)
When building in longer build paths (200+ characters), the
"echo $(PLUGIN_HEADERS)" from the install-plugins target would cause an
"argument list too long error" on some systems.

Avoid this by calling make's sort function on the list which removes
duplicates and stops the overflow from reaching the echo command.
The original sort is left to handle the the .h and .def files.

2021-10-26 Richard Purdie <richard.purdie@linuxfoundation.org>

gcc/ChangeLog:

* Makefile.in: Fix "argument list too long" from install-plugins.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gcc/Makefile.in

index 81ea8a73b9915229ff93a4c945681531c159c475..2a0be9e66a6c2d6df8516eeebcc58eef7cc31a71 100644 (file)
@@ -3691,7 +3691,7 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype
 # We keep the directory structure for files in config, common/config or
 # c-family and .def files. All other files are flattened to a single directory.
        $(mkinstalldirs) $(DESTDIR)$(plugin_includedir)
-       headers=`echo $(PLUGIN_HEADERS) $$(cd $(srcdir); echo *.h *.def) | tr ' ' '\012' | sort -u`; \
+       headers=`echo $(sort $(PLUGIN_HEADERS)) $$(cd $(srcdir); echo *.h *.def) | tr ' ' '\012' | sort -u`; \
        srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \
        for file in $$headers; do \
          if [ -f $$file ] ; then \