diff options
author | pommicket <pommicket@gmail.com> | 2022-02-20 13:18:21 -0800 |
---|---|---|
committer | pommicket <pommicket@gmail.com> | 2022-02-20 13:18:21 -0800 |
commit | 9bc8a11afeed3569736b89754012e3ca22ee10f6 (patch) | |
tree | 5f0ec0d5c05f879b1ee86adfa654ed3ef2178d5f /05/musl-0.6.0/src/thread/i386 | |
parent | 0f97a589b800bdb71dda05984192f0f66a52edaa (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.s | 22 | ||||
-rw-r--r-- | 05/musl-0.6.0/src/thread/i386/__unmapself.s | 22 | ||||
-rw-r--r-- | 05/musl-0.6.0/src/thread/i386/clone.s | 27 |
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 |