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. Best regards, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com _______________________________________________ uClibc mailing list [email protected] http://lists.busybox.net/mailman/listinfo/uclibc
