From: Richard Purdie Subject: [PATCH 2/5] gcc: Fix "argument list too long" from install-plugins 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 gcc/ChangeLog: * Makefile.in: Fix "argument list too long" from install-plugins Signed-off-by: Richard Purdie Submitted [https://gcc.gnu.org/pipermail/gcc-patches/2021-October/582722.html] Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=66e157188bd2f789809e17e85f917534c9381599] --- gcc/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: gcc-11.2.0/gcc/Makefile.in =================================================================== --- gcc-11.2.0.orig/gcc/Makefile.in +++ gcc-11.2.0/gcc/Makefile.in @@ -3678,7 +3678,7 @@ install-plugin: installdirs lang.install # 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 \