about summary refs log tree commit diff
path: root/src/thread/i386
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2011-08-03 19:57:46 -0400
committerRich Felker <dalias@aerifal.cx>2011-08-03 19:57:46 -0400
commit5f37fc132a8f41994f37b6712feb2d4fd34c2be0 (patch)
treeaaaa1a58cb009684d183ee7cb21b805c540f6a3e /src/thread/i386
parent56385dd5feb4292183c48f62355e1ce4d796957e (diff)
downloadmusl-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