aboutsummaryrefslogtreecommitdiff
path: root/arch/powerpc/bits/stdint.h (unfollow)
Commit message (Expand)AuthorFilesLines
2019-07-18refactor all stat functions in terms of fstatat•••equivalent logic for fstat+O_PATH fallback and direct use of stat/lstat syscalls where appropriate is kept, now in the fstatat function. this change both improves functionality (now, fstatat forms equivalent to fstat/lstat/stat will work even on kernels too old to have the at functions) and localizes direct interfacing with the kernel stat structure to one file. Rich Felker4-23/+37
2019-07-18remove utterly wrong includes from mips64/n32 bits/stat.h•••these were overlooked during review. bits headers are not allowed to pull in additional headers (note: that rule is currently broken in other places but just for endian.h). string.h has no place here anyway, and including bits/alltypes.h without defining macros to request types from it is a nop. Rich Felker2-6/+0
2019-07-17use register constraint instead of memory operand for riscv64 atomics•••the "A" constraint is simply for an address expression that's a single register, but it's not yet supported by clang, and has no advantage here over just using a register operand for the address. the latter is actually preferable in the a_cas_p case because it avoids aliasing an lvalue onto the memory. Rich Felker1-8/+8
2019-07-17fix riscv64 atomic asm constraints•••most egregious problem was the lack of memory clobber and lack of volatile asm; this made the atomics memory barriers but not compiler barriers. use of "+r" rather than "=r" for a clobbered temp was also wrong, since the initial value is indeterminate. Rich Felker1-6/+10
2019-07-17fix riscv64 syscall asm constraint•••having "+r"(a0) is redundant with "0"(a0) in syscalls with at least 1 arg, which is arguably a constraint violation (clang treats it as such), and an invalid input with indeterminate value in the 0-arg case. use the "=r"(a0) form instead. Rich Felker1-1/+1