[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <c0f0814a-8333-49e1-8e50-740e4c88d94b@app.fastmail.com>
Date: Mon, 05 Jan 2026 23:12:15 +0100
From: "Arnd Bergmann" <arnd@...db.de>
To: "Dave Hansen" <dave.hansen@...el.com>,
"Randy Dunlap" <rdunlap@...radead.org>, linux-kernel@...r.kernel.org
Cc: "Ingo Molnar" <mingo@...nel.org>, "Thomas Gleixner" <tglx@...utronix.de>,
"Borislav Petkov" <bp@...en8.de>,
"Dave Hansen" <dave.hansen@...ux.intel.com>, x86@...nel.org
Subject: Re: [PATCH] x86/cpu: drop unused Kconfig symbol X86_P6_NOP
On Mon, Jan 5, 2026, at 22:05, Dave Hansen wrote:
> On 1/5/26 13:02, Dave Hansen wrote:
>> It's either that or I'm reading the Makefile logic backwards (wouldn't
>> be the first time 🙂.
I saws the same thing, saw your email before I sent my reply
> Oh, and I'd also randomly guess that this binutils "bug" has long since
> been fixed or become irrelevant. So this might be a bit silly to even
> discuss.
>
> But, let's at least make sure to document in the changelog what we
> _might_ be breaking and not pretend that this has zero consequences.
In all binutils versions I can find (2.36.1+), calling 'as --32'
uses the portable NOP instructions for a 16 byte nop:
0: 90 nop
1: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
8: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
f: 90 nop
while passing either --64 or -mtune=generic64 makes it use nopl,
same for -mtime=pentium4 or others:
0: 90 nop
1: 66 66 2e 0f 1f 84 00 data16 nopw %cs:0x0(%eax,%eax,1)
8: 00 00 00 00
c: 0f 1f 40 00 nopl 0x0(%eax)
According to the description of 28f7e66fc1da ("x86: prevent
binutils from being "smart" and generating NOPLs for us"),
gcc-4.3 and later no longer cause the problem, as they don't
pass down -mtune=. I confirmed this with gcc-8 and gcc-15.
Arnd
Powered by blists - more mailing lists