NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: lib/57312: Missing atomic symbols generated by gcc



The following reply was made to PR lib/57312; it has been noted by GNATS.

From: Taylor R Campbell <riastradh%NetBSD.org@localhost>
To: Joerg Sonnenberger <joerg%bec.de@localhost>
Cc: gnats-bugs%netbsd.org@localhost, lib-bug-people%netbsd.org@localhost, gnats-admin%netbsd.org@localhost,
	netbsd-bugs%netbsd.org@localhost
Subject: Re: lib/57312: Missing atomic symbols generated by gcc
Date: Mon, 3 Apr 2023 08:10:31 +0000

 > Date: Thu, 30 Mar 2023 21:05:01 +0000 (UTC)
 > From: Joerg Sonnenberger <joerg%bec.de@localhost>
 > 
 > I strongly object to adding implementations that have hidden bugs when
 > used with shared memory, signals and other situations. I'd go a step
 > further and would ask to de-orbit SPARCv8 SMP just for that alone. HPPA
 > etc doesn't matter as RAS is fine for shared memory.
 
 These aren't hidden bugs.  They are spelled out in the C standard:
 
    When the processing of the abstract machine is interrupted by
    receipt of a signal, the values of objects that are neither
    lock-free atomic objects nor of type volatile sig_atomic_t are
    unspecified....  The value of any object modified by the handler
    that is neither a lock-free atomic nor of type volatile
    sig_atomic_t becomes indeterminate when the handler exits....
 
 > I'd also note that the whole atomic API is majorly broken for the
 > non-lockfree case, but I guess no one else cares enough about the hidden
 > bugs... For those that doesn't care, they can use -latomic.
 
 Is this part of the contract of using C11 in NetBSD?  If so, we should
 really ship libatomic.
 


Home | Main Index | Thread Index | Old Index