> From: "Joseph S. Myers" <jos...@codesourcery.com> > Date: Mon, 7 Nov 2011 17:24:04 +0100
> On Mon, 7 Nov 2011, Andrew MacLeod wrote: > > > Actually, this target has no lock free support whatsoever? ie, no > > compare_and_swap instruction, nor an implementation of > > sync_lock_test_and_set > > and sync_lock_release? > > > > I think the libstdc++ standard now requires the class atomic_flag to be lock > > free in order to conform (n3242 29.7.2) > > > > So I guess this is the situation which all the atomic tests are not even > > suppose to be run since they aren't supported. My guess is that in the > > previous releases the c++ header files probably provided a locked > > implementation of test_and_set, and so the tests would run. > > For bare-metal targets there should maybe be an option to presume there is > just one thread and map all atomic operations to dumb non-atomic versions, > which is perfectly valid in such a case. But that's a new feature; we > didn't have it for __sync_* either. It'd not be a new feature, that's apparently how it worked until it broke now ...unless you mean something different. brgds, H-P