musl/arch
Rich Felker a294f539c7 use memory constraints for mips atomic asm
despite lacking the semantic content that the asm accesses the
pointed-to object rather than just using its address as a value, the
mips asm was not actually broken. the asm blocks were declared
volatile, meaning that the compiler must treat them as having unknown
side effects.

however changing the asm to use memory constraints is desirable not
just from a semantic correctness and consistency standpoint, but also
produces better code. the compiler is able to use base/offset
addressing expressions for the atomic object's address rather than
having to load the address into a single register. this improves
access to global locks in static libc, and access to non-zero-offset
atomic fields in synchronization primitives, etc.
2014-07-19 13:51:35 -04:00
..
arm refactor to remove arch-specific relocation code from dynamic linker 2014-06-18 02:44:02 -04:00
i386 add tlsdesc support for i386 2014-06-19 02:50:45 -04:00
microblaze remove cruft from microblaze atomic.h 2014-07-19 13:03:30 -04:00
mips use memory constraints for mips atomic asm 2014-07-19 13:51:35 -04:00
or1k add or1k (OpenRISC 1000) architecture port 2014-07-18 14:10:23 -04:00
powerpc fix build breakage from ppc asm constraints change 2014-07-19 13:43:46 -04:00
sh refactor to remove arch-specific relocation code from dynamic linker 2014-06-18 02:44:02 -04:00
x32 refactor to remove arch-specific relocation code from dynamic linker 2014-06-18 02:44:02 -04:00
x86_64 add tlsdesc support for x86_64 2014-06-19 15:26:04 -04:00