From c7d19f9923c66a2ddb47272f1e8fec8b804f54c4 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Tue, 14 Jun 2011 23:15:08 -0400 Subject: 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. --- src/thread/x86_64/__set_thread_area.s | 1 + src/thread/x86_64/__unmapself.s | 1 + src/thread/x86_64/clone.s | 1 + src/thread/x86_64/syscall_cp.s | 1 + 4 files changed, 4 insertions(+) (limited to 'src/thread/x86_64') 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) -- cgit v1.2.1