about summary refs log tree commit diff
path: root/src/thread/x32
Commit message (Collapse)AuthorAgeFilesLines
* use explicit __cp_cancel label in cancellable syscall asm for all archsRich Felker2015-11-021-1/+3
| | | | | | | | | | | | | previously, only archs that needed to do stack cleanup defined a __cp_cancel label for acting on cancellation in their syscall asm, and a default definition was provided by a weak alias to __cancel, the C function. this resulted in wrong codegen for arm on gcc versions affected by pr 68178 and possibly similar issues (like pr 66609) on other archs, and also created an inconsistency where the __cp_begin and __cp_end labels were treated as const data but __cp_cancel was treated as a function. this in turn caused incorrect code generation on archs where function pointers point to function descriptors rather than code (for now, only sh/fdpic).
* fix x32 __set_thread_area failure due to junk in upper bitsRich Felker2015-05-021-1/+1
| | | | | the kernel does not properly clear the upper bits of the syscall argument, so we have to do it before the syscall.
* consistently use hidden visibility for cancellable syscall internalsRich Felker2015-04-141-2/+8
| | | | | | | | | | 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.
* x32 port (diff against vanilla x86_64)rofl0r2014-02-234-10/+8
|
* import vanilla x86_64 code as x32rofl0r2014-02-234-0/+70