Hi,

 In the course of verifying my data race fix patch series[1] with a BWX 
system (credit to Magnus Lindholm <linm...@gmail.com> for sharing hardware 
for the purpose of this effort) I came across a suspicious progression 
triggered with the newly-added `-msafe-partial' option and certain 
optimisations enabled:

 FAIL: gcc.c-torture/execute/pr64242.c   -O0  execution test
 FAIL: gcc.c-torture/execute/pr64242.c   -O1  execution test
-FAIL: gcc.c-torture/execute/pr64242.c   -O2  execution test
-FAIL: gcc.c-torture/execute/pr64242.c   -O3 -g  execution test
 FAIL: gcc.c-torture/execute/pr64242.c   -Os  execution test
-FAIL: gcc.c-torture/execute/pr64242.c   -O2 -flto -fno-use-linker-plugin 
-flto-partition=none  execution test
 FAIL: gcc.c-torture/execute/pr64242.c   -O2 -flto -fuse-linker-plugin 
-fno-fat-lto-objects  execution test

and my assessment was this is pure luck from instruction shuffling with an 
otherwise broken `builtin_longjmp' handler in the Alpha backend, which 
needs a similar fix to ones made for other backends such as the MIPS one.

 This mini patch series fixes PR64242 for Alpha, on top of a port of 
commit 41439bf6a647 ("builtins.c (expand_builtin_longjmp): Added two 
memory clobbers.")[2], back from 2003.

 Verified with the `alpha-linux-gnu' target using EV45 hardware, except 
for the Go frontend testsuite verified with the `alphaev56-linux-gnu' 
target and the `-mcpu=ev4' option using said BWX system, due to Go tests 
intermittently exhausting the virtual memory limit set to 112MiB with my 
test system (which I'd consider a conceptual problem and an unreasonable 
requirement with the test cases, which are supposed to be small, aren't 
they?).

 OK to apply?

  Maciej

References:

[1] "Fix data races with sub-longword accesses on Alpha",
    
<https://inbox.sourceware.org/gcc-patches/alpine.deb.2.21.2411141652300.9...@angie.orcam.me.uk/>

[2] "Nonlocal gotos: wrong frame pointer handling", 
    
<https://inbox.sourceware.org/gcc-patches/200311211303.44675.krebb...@de.ibm.com/>

  Maciej

Reply via email to