summaryrefslogtreecommitdiff
path: root/src/thread/i386/cancellation2.s
AgeCommit message (Collapse)AuthorLines
2011-08-03further debloat cancellation handlersRich Felker-24/+0
cleanup push and pop are also no-ops if pthread_exit is not reachable. this can make a big difference for library code which needs to protect itself against cancellation, but which is unlikely to actually be used in programs with threads/cancellation.
2011-08-03fix static linking dependency bloat with cancellationRich Felker-0/+8
previously, pthread_cleanup_push/pop were pulling in all of pthread_create due to dependency on the __pthread_unwind_next function. this was not needed, as cancellation cleanup handlers can never be called unless pthread_exit or pthread_cancel is reachable.
2011-06-14restore use of .type in asm, but use modern @function (vs %function)Rich Felker-0/+2
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.
2011-06-13remove all .size and .type directives for functions from the asmRich Felker-2/+0
these are useless and have caused problems for users trying to build with non-gnu tools like tcc's assembler.
2011-03-25match glibc/lsb cancellation abi on i386Rich Felker-0/+16
glibc made the ridiculous choice to use pass-by-register calling convention for these functions, which is impossible to duplicate directly on non-gcc compilers. instead, we use ugly asm to wrap and convert the calling convention. presumably this works with every compiler anyone could potentially want to use.