Re: [PATCH 1/1] perf build: fix "argument list too long" in second location
From: Markus Mayer
Date: Fri Apr 10 2026 - 21:08:12 EST
On Fri, 10 Apr 2026 at 02:25, James Clark <james.clark@xxxxxxxxxx> wrote:
>
> On 09/04/2026 11:14 pm, Markus Mayer wrote:
> > Turns out that displaying "RM $^" via quiet_cmd_rm can also upset the
> > shell and cause it to display "argument list too long".
> >
> > Trying to quote $^ doesn't help.
> >
> > In the end, *not* displaying the (potentially long) list of files is
> > probably the right thing to do for a "quiet" message, anyway. Instead,
> > let's display a count of how many files were removed. There is always
> > V=1 if more detail is required.
> >
> > TEST linux/tools/perf/pmu-events/metric_test.log
> > RM ...634 orphan file(s)...
> > LD linux/tools/perf/util/perf-util-in.o
> >
> > Also move the comment regarding xargs before the rule, so it doesn't
> > show up in the build output.
> >
>
> I'm assuming this is just a cosmetic issue so it doesn't need a fixes
> tag? And "upsetting the shell" doesn't cause a build failure?
No. It's not just cosmetic. It absolutely DOES cause a build failure.
>From the cover letter in this thread:
GEN linux/tools/perf/pmu-events/arch/arm64/arm/neoverse-v3/extra-metricgroups.json
TEST linux/tools/perf/pmu-events/metric_test.log
make[5]: /bin/sh: Argument list too long
make[5]: *** [pmu-events/Build:220: prune_orphans] Error 127
> Otherwise looks good to me.
>
> Reviewed-by: James Clark <james.clark@xxxxxxxxxx>
Thanks!
Regards,
-Markus
> > Signed-off-by: Markus Mayer <mmayer@xxxxxxxxxxxx>
> > ---
> > tools/perf/pmu-events/Build | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/tools/perf/pmu-events/Build b/tools/perf/pmu-events/Build
> > index dc5f94862a3b..dc1df2d57ddc 100644
> > --- a/tools/perf/pmu-events/Build
> > +++ b/tools/perf/pmu-events/Build
> > @@ -211,10 +211,10 @@ ifneq ($(strip $(ORPHAN_FILES)),)
> >
> > # Message for $(call echo-cmd,rm). Generally cleaning files isn't part
> > # of a build step.
> > -quiet_cmd_rm = RM $^
> > +quiet_cmd_rm = RM ...$(words $^) orphan file(s)...
> >
> > +# The list of files can be long. Use xargs to prevent issues.
> > prune_orphans: $(ORPHAN_FILES)
> > - # The list of files can be long. Use xargs to prevent issues.
> > $(Q)$(call echo-cmd,rm)echo "$^" | xargs rm -f
> >
> > JEVENTS_DEPS += prune_orphans
>