Re: [PATCH 1/1] perf build: fix "argument list too long" in second location
From: James Clark
Date: Tue Apr 14 2026 - 06:51:05 EST
On 11/04/2026 02:07, Markus Mayer wrote:
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
Ah in that case it should have a fixes: tag then. And it's worth putting the actual build failure in the commit message IMO.
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