summaryrefslogtreecommitdiff
path: root/src/thread/microblaze
AgeCommit message (Collapse)AuthorLines
2018-09-12make arch __set_thread_area backends hiddenRich Felker-0/+1
this is not a public interface, and does not even necessarily match the syscall on all archs that have a syscall by that name. on archs where it's implemented in C, no action on the source file is needed; the hidden declaration in pthread_arch.h suffices.
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.
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-04-14consistently use hidden visibility for cancellable syscall internalsRich Felker-3/+9
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-09clone: make clone a wrapper around __cloneBobby Bingham-4/+1
The architecture-specific assembly versions of clone did not set errno on failure, which is inconsistent with glibc. __clone still returns the error via its return value, and clone is now a wrapper that sets errno as needed. The public clone has also been moved to src/linux, as it's not directly related to the pthreads API. __clone is called by pthread_create, which does not report errors via errno. Though not strictly necessary, it's nice to avoid clobbering errno here.
2012-10-19fix order of syscall args for microblaze clone syscallRich Felker-3/+2
with this commit, based on testing with patches to qemu which are not yet upstream,
2012-10-18ensure microblaze __set_thread_area returns successRich Felker-1/+2
since it did not set the return-value register, the caller could wrongly interpret this as failure.
2012-10-17fix microblaze asm relocations for shared libcRich Felker-1/+1
only @PLT relocations are considered functions for purposes of -Bsymbolic-functions, so always use @PLT. it should not hurt in the static-linked case.
2012-09-29microblaze portRich Felker-0/+65
based on initial work by rdp, with heavy modifications. some features including threads are untested because qemu app-level emulation seems to be broken and I do not have a proper system image for testing.