about summary refs log tree commit diff
path: root/src/thread/x86_64/clone.s
Commit message (Collapse)AuthorAgeFilesLines
* overhaul clone syscall wrappingRich Felker2011-09-181-20/+29
| | | | | | | | | | | | | | | | | | | | several things are changed. first, i have removed the old __uniclone function signature and replaced it with the "standard" linux __clone/clone signature. this was necessary to expose clone to applications anyway, and it makes it easier to port __clone to new archs, since it's now testable independently of pthread_create. secondly, i have removed all references to the ugly ldt descriptor structure (i386 only) from the c code and pthread structure. in places where it is needed, it is now created on the stack just when it's needed, in assembly code. thus, the i386 __clone function takes the desired thread pointer as its argument, rather than an ldt descriptor pointer, just like on all other sane archs. this should not affect applications since there is really no way an application can use clone with threads/tls in a way that doesn't horribly conflict with and clobber the underlying implementation's use. applications are expected to use clone only for creating actual processes, possibly with new namespace features and whatnot.
* restore use of .type in asm, but use modern @function (vs %function)Rich Felker2011-06-141-0/+1
| | | | | | | | this seems to be necessary to make the linker accept the functions in a shared library (perhaps to generate PLT entries?) strictly speaking libc-internal asm should not need it. i might clean that up later.
* remove all .size and .type directives for functions from the asmRich Felker2011-06-131-2/+0
| | | | | these are useless and have caused problems for users trying to build with non-gnu tools like tcc's assembler.
* fix initial stack alignment in new threads on x86_64Rich Felker2011-04-221-1/+1
|
* patch from njk: make x86_64 __uniclone branchless.Rich Felker2011-02-161-6/+6
|
* Port musl to x86-64. One giant commit!Nicholas J. Kain2011-02-151-0/+22