diff options
author | Rich Felker <dalias@aerifal.cx> | 2011-08-03 19:57:46 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2011-08-03 19:57:46 -0400 |
commit | 5f37fc132a8f41994f37b6712feb2d4fd34c2be0 (patch) | |
tree | aaaa1a58cb009684d183ee7cb21b805c540f6a3e /src/thread/i386 | |
parent | 56385dd5feb4292183c48f62355e1ce4d796957e (diff) | |
download | musl-5f37fc132a8f41994f37b6712feb2d4fd34c2be0.tar.gz musl-5f37fc132a8f41994f37b6712feb2d4fd34c2be0.tar.xz musl-5f37fc132a8f41994f37b6712feb2d4fd34c2be0.zip |
further debloat cancellation handlers
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.
Diffstat (limited to 'src/thread/i386')
-rw-r--r-- | src/thread/i386/cancellation.s (renamed from src/thread/i386/cancellation2.s) | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/thread/i386/cancellation2.s b/src/thread/i386/cancellation.s index beeffb91..75dc6091 100644 --- a/src/thread/i386/cancellation2.s +++ b/src/thread/i386/cancellation.s @@ -3,7 +3,7 @@ .type __pthread_register_cancel,@function __pthread_register_cancel: pushl %eax - call __pthread_register_cancel_3 + call __pthread_do_register popl %eax ret @@ -11,7 +11,7 @@ __pthread_register_cancel: .type __pthread_unregister_cancel,@function __pthread_unregister_cancel: pushl %eax - call __pthread_unregister_cancel_3 + call __pthread_do_unregister popl %eax ret @@ -19,6 +19,16 @@ __pthread_unregister_cancel: .type __pthread_unwind_next,@function __pthread_unwind_next: pushl %eax - call __pthread_unwind_next_3 + call __pthread_do_unwind popl %eax +__pthread_do_unwind: +__pthread_do_register: +__pthread_do_unregister: ret + +.weak __pthread_do_unwind +.weak __pthread_do_register +.weak __pthread_do_unregister +.type __pthread_do_unwind,@function +.type __pthread_do_register,@function +.type __pthread_do_unregister,@function |