https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99277
--- Comment #4 from Thiago Macieira <thiago at kde dot org> --- (In reply to Jonathan Wakely from comment #3) > We've done things this way for years. When C++20 support is no longer > experimental is when the ABI will be fixed. Based on the discussion, I've removed the "can't be fixed later" part of the summary. (In reply to Jakub Jelinek from comment #2) > Regarding 32-bit vs. 64-bit futex, I guess it depends on what the 64-bit > object holds, if it holds a counter, the usual way how to handle it is to do > futex on the least significant half of the counter. But if it holds a pointer value, then we can't do that trick. We'd need to do a pointer+counter (generation) trick, which requires a 16-byte compare-exchange to update, with the futex pointing to the lower half of the counter portion. I'm just saying that we may have sufficient argument now to change Linus' mind on having a 64-bit futex support. Whether that applies to 32-bit architectures or not, I don't know and is not in my interest area to research.