summaryrefslogtreecommitdiff
path: root/src/thread/x32
AgeCommit message (Collapse)AuthorLines
2018-09-12make arch __clone backends hiddenRich Felker-0/+1
these are not a public interface and are not intended to be callable from anywhere but the public clone function or other places in libc.
2018-09-05define and use internal macros for hidden visibility, weak refsRich Felker-6/+7
this cleans up what had become widespread direct inline use of "GNU C" style attributes directly in the source, and lowers the barrier to increased use of hidden visibility, which will be useful to recovering some of the efficiency lost when the protected visibility hack was dropped in commit dc2f368e565c37728b0d620380b849c3a1ddd78f, especially on archs where the PLT ABI is costly.
2016-01-22move x32 sysinfo impl and syscall fixup code out of arch/x32/srcRich Felker-0/+38
all such arch-specific translation units are being moved to appropriate arch dirs under the main src tree.
2015-11-02use explicit __cp_cancel label in cancellable syscall asm for all archsRich Felker-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).
2015-05-02fix x32 __set_thread_area failure due to junk in upper bitsRich Felker-1/+1
the kernel does not properly clear the upper bits of the syscall argument, so we have to do it before the syscall.
2015-04-14consistently use hidden visibility for cancellable syscall internalsRich Felker-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.
2014-02-23x32 port (diff against vanilla x86_64)rofl0r-10/+8
2014-02-23import vanilla x86_64 code as x32rofl0r-0/+70