Re: [PATCH v1] perf jevents: Fix build issue in '*/' in event descriptions

From: Arnaldo Carvalho de Melo
Date: Mon Dec 09 2024 - 15:28:32 EST


On Mon, Dec 09, 2024 at 10:35:34AM -0800, Ian Rogers wrote:
> On Wed, Nov 13, 2024 at 8:56 AM Ian Rogers <irogers@xxxxxxxxxx> wrote:
> >
> > For big string offsets we output comments for what string the offset
> > is for. If the string contains a '*/' as seen in Intel Arrowlake event
> > descriptions, then this causes C parsing issues for the generated
> > pmu-events.c. Catch such '*/' values and escape to avoid this.
> >
> > Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
>
> Ping.

A fixes: is missing, probably this should go via perf-tools, i.e. for
this merge window?

- Arnaldo

> Thanks,
> Ian
>
> > ---
> > tools/perf/pmu-events/jevents.py | 5 ++++-
> > 1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/perf/pmu-events/jevents.py b/tools/perf/pmu-events/jevents.py
> > index 6e71b09dbc2a..028cf3c43881 100755
> > --- a/tools/perf/pmu-events/jevents.py
> > +++ b/tools/perf/pmu-events/jevents.py
> > @@ -430,8 +430,11 @@ class JsonEvent:
> > def to_c_string(self, metric: bool) -> str:
> > """Representation of the event as a C struct initializer."""
> >
> > + def fix_comment(s: str) -> str:
> > + return s.replace('*/', '\*\/')
> > +
> > s = self.build_c_string(metric)
> > - return f'{{ { _bcs.offsets[s] } }}, /* {s} */\n'
> > + return f'{{ { _bcs.offsets[s] } }}, /* {fix_comment(s)} */\n'
> >
> >
> > @lru_cache(maxsize=None)
> > --
> > 2.47.0.277.g8800431eea-goog
> >