musl/arch/mips/bits
Rich Felker de7e99c585 make pointers used in robust list volatile
when manipulating the robust list, the order of stores matters,
because the code may be asynchronously interrupted by a fatal signal
and the kernel will then access the robust list in what is essentially
an async-signal context.

previously, aliasing considerations made it seem unlikely that a
compiler could reorder the stores, but proving that they could not be
reordered incorrectly would have been extremely difficult. instead
I've opted to make all the pointers used as part of the robust list,
including those in the robust list head and in the individual mutexes,
volatile.

in addition, the format of the robust list has been changed to point
back to the head at the end, rather than ending with a null pointer.
this is to match the documented kernel robust list ABI. the null
pointer, which was previously used, only worked because faults during
access terminate the robust list processing.
2014-08-17 00:46:26 -04:00
..
alltypes.h.in make pointers used in robust list volatile 2014-08-17 00:46:26 -04:00
endian.h better support for reverse-endian variants of arm/mips/microblaze 2012-10-18 21:50:55 -04:00
errno.h fix numerous mips abi constant definition mismatches 2012-11-05 14:29:04 -05:00
fcntl.h add O_TMPFILE flag, new in linux 3.11 2013-11-23 23:47:48 +00:00
fenv.h mips: add mips-sf subarch support (soft-float) 2014-02-24 23:16:29 +01:00
float.h fix the nominal type of LDBL_* limits on archs with ld64 2013-11-20 18:28:18 -05:00
io.h fix breakage from introducing bits header for sys/io.h 2012-11-18 19:58:15 -05:00
ioctl.h fix ioctl _IOR, _IOW, etc macros to avoid signed overflow (2<<30) 2013-05-26 15:49:08 +00:00
ipc.h fix broken semctl on systems that don't use IPC_64 flag 2012-09-22 08:02:42 -04:00
limits.h support configurable page size on mips, powerpc and microblaze 2013-09-15 02:00:32 +00:00
mman.h add missing mmap options and madvices to bits/mman.h based on linux headers 2013-01-12 19:42:39 +01:00
msg.h fix mips sysv ipc bits headers 2013-09-14 14:44:03 -04:00
posix.h initial version of mips (o32) port, based on work by Richard Pennington (rdp) 2012-07-11 04:22:13 -04:00
reg.h begin sys/user.h and sys/reg.h fixes for ports 2012-11-23 20:05:43 -05:00
resource.h fix RLIMIT_ constants for mips 2014-04-15 19:17:52 -04:00
sem.h fix semid_ds structure on mips 2014-03-12 11:46:17 +01:00
setjmp.h fix size of mips jmp_buf 2014-03-18 21:52:24 -04:00
shm.h sys/shm.h: move arch specific structs to bits/ 2014-02-23 11:07:18 +01:00
signal.h fix signal.h breakage from moving stack_t to arch-specific bits 2014-03-18 23:27:45 -04:00
socket.h fix missing SO_RCVBUFFORCE and SO_SNDBUFFORCE in mips socket.h 2014-04-30 14:47:06 -04:00
stat.h initial version of mips (o32) port, based on work by Richard Pennington (rdp) 2012-07-11 04:22:13 -04:00
statfs.h fix statfs struct on mips 2014-03-12 18:08:58 +01:00
stdarg.h initial version of mips (o32) port, based on work by Richard Pennington (rdp) 2012-07-11 04:22:13 -04:00
stdint.h remove SIG_ATOMIC_MIN/MAX from stdint bits headers 2013-07-22 17:02:03 -04:00
syscall.h add syscall numbers for the new renameat2 syscall 2014-07-20 18:42:21 +02:00
termios.h fix namespace violations in termios.h, at least mostly 2014-01-08 19:20:55 -05:00
user.h make sys/procfs.h mostly work on most archs 2012-11-25 22:28:18 -05:00