Assembler warnings
I'm getting some warnings from GCC9 when compiling lh_cas_event_mutex for AArch64
/tmp/cc76Umqe.s: Assembler messages:
/tmp/cc76Umqe.s:2064: Warning: unpredictable: identical transfer and status registers --`stxr w0,x1,[x0]'
/tmp/cc76Umqe.s:2589: Warning: unpredictable: identical transfer and status registers --`stxr w0,x1,[x0]'
/tmp/cc76Umqe.s:3971: Warning: unpredictable: identical transfer and status registers --`stxr w3,x3,[x0]'
These sorts of warnings usually come from one or more missing early-clobber specifiers somewhere in the inline assembly.
I think this was actually the result of pulling in a bug in the originating code which--as I recall--was devised as an LL/SC-only stopgap optimization to MySQL's event mutex. I'm not sure cas_event_mutex ever was (or should be) upstreamed so maybe the right thing to do here is just remove the test since it depends on its own (incorrectly) hand-coded atomics and doesn't relate to anything meaningful in real code.
I'll leave it up to the maintainers whether they want to keep the test. I have a fix for the assembler warning (which I'll post shortly); if the test gets removed instead, that's fine too.