summaryrefslogtreecommitdiff
path: root/05/musl-0.6.0/src/thread/i386
diff options
context:
space:
mode:
authorpommicket <pommicket@gmail.com>2022-02-20 13:18:21 -0800
committerpommicket <pommicket@gmail.com>2022-02-20 13:18:21 -0800
commit9bc8a11afeed3569736b89754012e3ca22ee10f6 (patch)
tree5f0ec0d5c05f879b1ee86adfa654ed3ef2178d5f /05/musl-0.6.0/src/thread/i386
parent0f97a589b800bdb71dda05984192f0f66a52edaa (diff)
conclusion
Diffstat (limited to '05/musl-0.6.0/src/thread/i386')
-rw-r--r--05/musl-0.6.0/src/thread/i386/__set_thread_area.s22
-rw-r--r--05/musl-0.6.0/src/thread/i386/__unmapself.s22
-rw-r--r--05/musl-0.6.0/src/thread/i386/clone.s27
3 files changed, 71 insertions, 0 deletions
diff --git a/05/musl-0.6.0/src/thread/i386/__set_thread_area.s b/05/musl-0.6.0/src/thread/i386/__set_thread_area.s
new file mode 100644
index 0000000..9bf698b
--- /dev/null
+++ b/05/musl-0.6.0/src/thread/i386/__set_thread_area.s
@@ -0,0 +1,22 @@
+.text
+.global __set_thread_area
+.type __set_thread_area,%function
+__set_thread_area:
+ pushl %ebx
+ movl 8(%esp),%ecx
+ movl $-1,4(%ecx)
+ movl %ecx,8(%ecx)
+ movl $0xfffff,12(%ecx)
+ movl $0x51,16(%ecx)
+ leal 4(%ecx),%ebx
+ movl $243,%eax
+ int $128
+ popl %ebx
+ testl %eax,%eax
+ jnz 1f
+ movl 4(%ecx),%ecx
+ leal 3(,%ecx,8),%ecx
+ movw %cx,%gs
+1:
+ ret
+.size __set_thread_area,.-__set_thread_area
diff --git a/05/musl-0.6.0/src/thread/i386/__unmapself.s b/05/musl-0.6.0/src/thread/i386/__unmapself.s
new file mode 100644
index 0000000..5c67496
--- /dev/null
+++ b/05/musl-0.6.0/src/thread/i386/__unmapself.s
@@ -0,0 +1,22 @@
+.text
+.global __unmapself
+.type __unmapself,%function
+__unmapself:
+ call 1f
+ .long -1
+ .long -1
+1: popl %ecx
+ xorl %ebx,%ebx
+ xorl %edx,%edx
+ movl $8,%esi
+ movl $175,%eax
+ int $128
+ movl $91,%eax
+ movl 4(%esp),%ebx
+ movl 8(%esp),%ecx
+ int $128
+ xorl %ebx,%ebx
+ movl $1,%eax
+ int $128
+
+.size __unmapself,.-__unmapself
diff --git a/05/musl-0.6.0/src/thread/i386/clone.s b/05/musl-0.6.0/src/thread/i386/clone.s
new file mode 100644
index 0000000..53405cf
--- /dev/null
+++ b/05/musl-0.6.0/src/thread/i386/clone.s
@@ -0,0 +1,27 @@
+.text
+.global __uniclone
+.type __uniclone,%function
+__uniclone:
+ movl 4(%esp),%ecx
+ subl $24,%ecx
+ movl 8(%esp),%eax
+ movl %eax,16(%ecx)
+ movl 12(%esp),%eax
+ movl %eax,24(%ecx)
+ pushl %ebx
+ pushl %esi
+ pushl %edi
+ pushl %ebp
+ movl %eax,8(%eax)
+ leal 20(%eax),%edx
+ leal 4(%eax),%esi
+ movl %edx,%edi
+ movl $0x7d0f00,%ebx
+ movl $120,%eax
+ int $128
+ popl %ebp
+ popl %edi
+ popl %esi
+ popl %ebx
+ ret
+.size __uniclone,.-__uniclone