| Commit message (Expand) | Author | Age | Files | Lines |
| * | work around mips detached thread exit breakage due to kernel regression•••linux kernel commit 46e12c07b3b9603c60fc1d421ff18618241cb081 caused
the mips syscall mechanism to fail with EFAULT when the userspace
stack pointer is invalid, breaking __unmapself used for detached
thread exit. the workaround is to set $sp to a known-valid, readable
address, and the simplest one to obtain is the address of the current
function, which is available (per o32 calling convention) in $25.
| Rich Felker | 2015-06-20 | 1 | -0/+1 |
| * | mark mips cancellable syscall code as code•••otherwise disassemblers treat it as data.
| Rich Felker | 2015-05-25 | 1 | -0/+3 |
| * | consistently use hidden visibility for cancellable syscall internals•••in a few places, non-hidden symbols were referenced from asm in ways
that assumed ld-time binding. while these is no semantic reason these
symbols need to be hidden, fixing the references without making them
hidden was going to be ugly, and hidden reduces some bloat anyway.
in the asm files, .global/.hidden directives have been moved to the
top to unclutter the actual code.
| Rich Felker | 2015-04-14 | 1 | -3/+8 |
| * | prepare cancellation syscall asm for possibility of __cancel returning | Rich Felker | 2015-02-20 | 1 | -8/+12 |
| * | fix clobbering of caller's stack in mips __clone function•••this was resulting in crashes in posix_spawn on mips, and would have
affected applications calling clone too. since the prototype for
__clone has it as a variadic function, it may not assume that 16($sp)
is writable for use in making the syscall. instead, it needs to
allocate additional stack space, and then adjust the stack pointer
back in both of the code paths for the parent process/thread.
| Rich Felker | 2013-09-16 | 1 | -0/+3 |
| * | fix child stack alignment on mips clone•••unlike other archs, the mips version of clone was not doing anything
to align the stack pointer. this seems to have been the cause for some
SIGBUS crashes that were observed in posix_spawn.
| Rich Felker | 2013-09-14 | 1 | -0/+1 |
| * | update mips cancellation-point syscall asm with 7-arg and r25 fixes•••these fixes were already made to the normal syscall asm but not the
cancellation point version.
| Rich Felker | 2012-09-15 | 1 | -2/+5 |
| * | fix mips syscall_cp_asm code (saved register usage) | Rich Felker | 2012-09-09 | 1 | -2/+2 |
| * | mips clone: don't free stack space used to copy arg•••the mips abi reserves stack space equal to the size of the in-register
args for the callee to save the args, if desired. this would cause the
beginning of the thread structure to be clobbered...
| Rich Felker | 2012-07-11 | 1 | -1/+0 |
| * | fix mips clone() on real linux kernel•••the old code worked in qemu app-level emulation, but not on real
kernels where the clone syscall does not copy the register values to
the new thread. save arguments on the new thread stack instead.
| Rich Felker | 2012-07-11 | 1 | -4/+7 |
| * | fix clone() on mips (args were in wrong order)•••with this change, threads on mips seem to be working
| Rich Felker | 2012-07-11 | 1 | -3/+2 |
| * | first attempt at making threads work on mips | Rich Felker | 2012-07-11 | 3 | -0/+67 |