[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <b98efe11-a11e-5787-49a7-c151efdf9401@arm.com>
Date: Mon, 11 Apr 2022 14:02:46 -0500
From: Jeremy Linton <jeremy.linton@....com>
To: Mark Rutland <mark.rutland@....com>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Cc: linux-arch@...r.kernel.org, gcc@....gnu.org,
catalin.marinas@....com, will@...nel.org, marcan@...can.st,
maz@...nel.org, szabolcs.nagy@....com, f.fainelli@...il.com,
opendmb@...il.com, Andrew Pinski <pinskia@...il.com>,
Ard Biesheuvel <ardb@...nel.org>,
Peter Zijlstra <peterz@...radead.org>, x86@...nel.org,
andrew.cooper3@...rix.com
Subject: Re: GCC 12 miscompilation of volatile asm (was: Re: [PATCH] arm64/io:
Remind compiler that there is a memory side effect)
Hi,
On 4/11/22 05:31, Mark Rutland wrote:
> On Tue, Apr 05, 2022 at 01:51:30PM +0100, Mark Rutland wrote:
>> Hi all,
>>
>> [adding kernel folk who work on asm stuff]
>>
>> As a heads-up, GCC 12 (not yet released) appears to erroneously optimize away
>> calls to functions with volatile asm. Szabolcs has raised an issue on the GCC
>> bugzilla:
>>
>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105160
>>
>> ... which is a P1 release blocker, and is currently being investigated.
>
> Jan Hubicka fixed this in GCC commit:
>
> aabb9a261ef060cf ("Propagate nondeterministic and side_effects flags in modref summary after inlining")
>
> ... and all my local tests look good with that applied.
>
> Compiler explorer's trunk build now has that fix, so the examples from before
> now look good:
>
> aarch64: https://godbolt.org/z/vMczqjYvs
>
> x86_64: https://godbolt.org/z/cveff9hq5
>
> Jeremy, now that the real issue has been identified and fixed, I assume you'll
> send a revert for commit:
>
> 8d3ea3d402db94b6 ("net: bcmgenet: Use stronger register read/writes to assure ordering")
>
> ... ?
Yes, that's the plan.
Thanks,
Powered by blists - more mailing lists