[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251124190500.773e7e1d@pumpkin>
Date: Mon, 24 Nov 2025 19:05:00 +0000
From: david laight <david.laight@...box.com>
To: Alexandre Chartre <alexandre.chartre@...cle.com>
Cc: Borislav Petkov <bp@...en8.de>, Peter Zijlstra <peterz@...radead.org>,
linux-kernel@...r.kernel.org, linux-tip-commits@...r.kernel.org, Josh
Poimboeuf <jpoimboe@...nel.org>, x86@...nel.org
Subject: Re: [tip: objtool/core] objtool: Function to get the name of a CPU
feature
On Mon, 24 Nov 2025 13:40:47 +0100
Alexandre Chartre <alexandre.chartre@...cle.com> wrote:
> On 11/24/25 13:26, Borislav Petkov wrote:
> > On Mon, Nov 24, 2025 at 12:59:42PM +0100, Peter Zijlstra wrote:
> >> On Mon, Nov 24, 2025 at 10:44:01AM -0000, tip-bot2 for Alexandre Chartre wrote:
> >>> The following commit has been merged into the objtool/core branch of tip:
> >>>
> >>> Commit-ID: afff4e5820e9a0d609740a83c366f3f0335db342
> >>> Gitweb: https://git.kernel.org/tip/afff4e5820e9a0d609740a83c366f3f0335db342
> >>> Author: Alexandre Chartre <alexandre.chartre@...cle.com>
> >>> AuthorDate: Fri, 21 Nov 2025 10:53:36 +01:00
> >>> Committer: Peter Zijlstra <peterz@...radead.org>
> >>> CommitterDate: Mon, 24 Nov 2025 11:35:06 +01:00
> >>>
> >>> objtool: Function to get the name of a CPU feature
> >
> > Also, this commit name needs a verb.
> >
> >> Boris just reported that this doesn't work on mawk, since it uses a GNU
> >> awk extension (3rd argument for match()).
> >>
> >> Could you please look at writing this in strict POSIX awk?
> >
> > The fail is:
> >
> > awk: ../arch/x86/tools/gen-cpu-feature-names-x86.awk: line 20: syntax error at or near ,
> > awk: ../arch/x86/tools/gen-cpu-feature-names-x86.awk: line 23: syntax error at or near }
> > awk: ../arch/x86/tools/gen-cpu-feature-names-x86.awk: line 26: syntax error at or near ,
> > awk: ../arch/x86/tools/gen-cpu-feature-names-x86.awk: line 29: syntax error at or near }
> > make[5]: *** [arch/x86/Build:21: /root/kernel/linux/tools/objtool/arch/x86/lib/cpu-feature-names.c] Error 2
> > make[5]: *** Deleting file '/root/kernel/linux/tools/objtool/arch/x86/lib/cpu-feature-names.c'
> > make[4]: *** [/root/kernel/linux/tools/build/Makefile.build:142: arch/x86] Error 2
> > make[4]: *** Waiting for unfinished jobs....
> > make[3]: *** [Makefile:104: /root/kernel/linux/tools/objtool/objtool-in.o] Error 2
> > make[2]: *** [Makefile:73: objtool] Error 2
> > make[1]: *** [/root/kernel/linux/Makefile:1449: tools/objtool] Error 2
> > make: *** [Makefile:248: __sub-make] Error 2
> >
> > ls -al /usr/bin/awk
> > lrwxrwxrwx 1 root root 21 Feb 19 2021 /usr/bin/awk -> /etc/alternatives/awk
> > ls -al /etc/alternatives/awk
> > lrwxrwxrwx 1 root root 13 Feb 19 2021 /etc/alternatives/awk -> /usr/bin/mawk
> >
> > That's debian.
> >
>
> Ok. I am working on it.
Can't you just use sed ?
There is no read need for the header or final }
Since you need the header file included for the array bounds you might as well use the
names for the array index.
So something like (worked before I retyped it):
sed -n -E '/^#define (X86_(FEATURE|BUG)_([^ ]*)).*/s// [ \1 ] = "\1",/p'
(That is [^<space><tab>]* in the middle)
The final .* matches the rest of the line, you could add some 'pattern' to further
verify the match.
It should be possible to just put that into the Makefile generating the include
file in the object directory.
Getting the comments would be more 'interesting', the " would need escaping as well.
David
Powered by blists - more mailing lists