summaryrefslogtreecommitdiff
path: root/src/thread/x86_64
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2011-06-14 23:15:08 -0400
committerRich Felker <dalias@aerifal.cx>2011-06-14 23:15:08 -0400
commitc7d19f9923c66a2ddb47272f1e8fec8b804f54c4 (patch)
treeb5eee6681995cd3f661ccfc36fc044ae0330e69f /src/thread/x86_64
parent836ba93d93f901d25e8ed4ac34209cf547d8e217 (diff)
downloadmusl-c7d19f9923c66a2ddb47272f1e8fec8b804f54c4.tar.gz
restore use of .type in asm, but use modern @function (vs %function)
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.
Diffstat (limited to 'src/thread/x86_64')
-rw-r--r--src/thread/x86_64/__set_thread_area.s1
-rw-r--r--src/thread/x86_64/__unmapself.s1
-rw-r--r--src/thread/x86_64/clone.s1
-rw-r--r--src/thread/x86_64/syscall_cp.s1
4 files changed, 4 insertions, 0 deletions
diff --git a/src/thread/x86_64/__set_thread_area.s b/src/thread/x86_64/__set_thread_area.s
index 75f19a86..99c5356a 100644
--- a/src/thread/x86_64/__set_thread_area.s
+++ b/src/thread/x86_64/__set_thread_area.s
@@ -1,6 +1,7 @@
/* Copyright 2011 Nicholas J. Kain, licensed GNU LGPL 2.1 or later */
.text
.global __set_thread_area
+.type __set_thread_area,@function
__set_thread_area:
mov %rdi,%rsi /* shift for syscall */
movl $0x1002,%edi /* SET_FS register */
diff --git a/src/thread/x86_64/__unmapself.s b/src/thread/x86_64/__unmapself.s
index 438f5eb8..99c1b7c1 100644
--- a/src/thread/x86_64/__unmapself.s
+++ b/src/thread/x86_64/__unmapself.s
@@ -1,6 +1,7 @@
/* Copyright 2011 Nicholas J. Kain, licensed GNU LGPL 2.1 or later */
.text
.global __unmapself
+.type __unmapself,@function
__unmapself:
movl $11,%eax /* SYS_munmap */
syscall /* munmap(arg2,arg3) */
diff --git a/src/thread/x86_64/clone.s b/src/thread/x86_64/clone.s
index ce67cc62..bf128a47 100644
--- a/src/thread/x86_64/clone.s
+++ b/src/thread/x86_64/clone.s
@@ -1,6 +1,7 @@
/* Copyright 2011 Nicholas J. Kain, licensed GNU LGPL 2.1 or later */
.text
.global __uniclone
+.type __uniclone,@function
/* rdi = child_stack, rsi = start, rdx = pthread_struct */
__uniclone:
subq $8,%rsp /* pad parent stack to prevent branch later */
diff --git a/src/thread/x86_64/syscall_cp.s b/src/thread/x86_64/syscall_cp.s
index 20819288..b0363547 100644
--- a/src/thread/x86_64/syscall_cp.s
+++ b/src/thread/x86_64/syscall_cp.s
@@ -1,5 +1,6 @@
.text
.global __syscall_cp_asm
+.type __syscall_cp_asm,@function
__syscall_cp_asm:
lea 1f(%rip),%rax
mov %rax,8(%rdi)