On Sun, Mar 20, 2016 at 09:32:44PM +0100, Thomas Petazzoni wrote: > Hello, > > On Sun, 20 Mar 2016 14:36:05 -0400, Rich Felker wrote: > > > > If you mean (1), then before my patch, the ldrex/strex code was only > > > enabled when USE_LDREXSTREX was enabled, and this option had a "depends > > > on COMPILE_IN_THUMB". Hence my patch doesn't change the fact that > > > the ldrex/strex logic is only used on Thumb. Whether it can/should be > > > enabled in non-Thumb configurations is a separate matter from what my > > > patch is doing. > > > > OK, then the logic was wrong before, too. :-) > > Right, but my patch is not making it worse than it was. > > > > If you mean (2), then there is indeed a problem. Though, according to > > > http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/14979.html, > > > "On a v6 or later core (ARM11 onwards) you should use the LDREX/STREX > > > instructions instead", which would suggest that such instructions are > > > available. > > > > Indeed, and it's further complicated by the fact that none of these > > instructions are proper memory barriers so they're basically useless > > without a separate barrier instruction, which does not exist on > > pre-v6, and on v6, only as a coprocessor operation that's not > > available in thumb1 or on uc models. Not until v7 did arm have proper > > working atomics. :( > > Sure. But here as well, my patch is not making things worse I believe.
Agreed. My only concern would be whether your patch makes it harder to fix, but that's not my call to make. Rich _______________________________________________ uClibc mailing list [email protected] http://lists.busybox.net/mailman/listinfo/uclibc
