diff options
Diffstat (limited to 'libc/sysdeps/linux/sparc')
-rw-r--r-- | libc/sysdeps/linux/sparc/__longjmp.S | 3 | ||||
-rw-r--r-- | libc/sysdeps/linux/sparc/brk.c | 5 | ||||
-rw-r--r-- | libc/sysdeps/linux/sparc/clone.S | 14 | ||||
-rw-r--r-- | libc/sysdeps/linux/sparc/fork.S | 13 | ||||
-rw-r--r-- | libc/sysdeps/linux/sparc/vfork.S | 15 |
5 files changed, 25 insertions, 25 deletions
diff --git a/libc/sysdeps/linux/sparc/__longjmp.S b/libc/sysdeps/linux/sparc/__longjmp.S index 06828e61e..fa60264ef 100644 --- a/libc/sysdeps/linux/sparc/__longjmp.S +++ b/libc/sysdeps/linux/sparc/__longjmp.S @@ -16,6 +16,7 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ +#include <features.h> #include <sys/syscall.h> #define _ASM 1 @@ -83,3 +84,5 @@ __longjmp: mov %g2, %o0 /* Delay slot: set return value. */ .size __longjmp,.-__longjmp + +libc_hidden_def(__longjmp) diff --git a/libc/sysdeps/linux/sparc/brk.c b/libc/sysdeps/linux/sparc/brk.c index 9e178e34f..21464f740 100644 --- a/libc/sysdeps/linux/sparc/brk.c +++ b/libc/sysdeps/linux/sparc/brk.c @@ -26,7 +26,7 @@ void *__curbrk = 0; -int attribute_hidden __brk (void *addr) +int brk (void *addr) { void *newbrk; @@ -47,4 +47,5 @@ int attribute_hidden __brk (void *addr) return 0; } -strong_alias(__brk,brk) +libc_hidden_proto(brk) +libc_hidden_def(brk) diff --git a/libc/sysdeps/linux/sparc/clone.S b/libc/sysdeps/linux/sparc/clone.S index e9e6b17dd..0e41ee0cb 100644 --- a/libc/sysdeps/linux/sparc/clone.S +++ b/libc/sysdeps/linux/sparc/clone.S @@ -20,16 +20,17 @@ /* clone() is even more special than fork() as it mucks with stacks and invokes a function in the right context after its all over. */ +#include <features.h> #include <asm/unistd.h> /* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg); */ .text -.global __clone -.type __clone,%function +.global clone +.type clone,%function .align 4 -__clone: +clone: save %sp,-96,%sp /* sanity check arguments */ @@ -52,17 +53,14 @@ __clone: __error: jmp __syscall_error -.size __clone,.-__clone +.size clone,.-clone .type __thread_start,%function __thread_start: call %i0 mov %i3,%o0 - call _exit_internal,0 + call HIDDEN_JUMPTARGET(_exit),0 nop .size __thread_start,.-__thread_start - -.weak clone - clone = __clone diff --git a/libc/sysdeps/linux/sparc/fork.S b/libc/sysdeps/linux/sparc/fork.S index dfa109dcd..f726e5aef 100644 --- a/libc/sysdeps/linux/sparc/fork.S +++ b/libc/sysdeps/linux/sparc/fork.S @@ -23,12 +23,11 @@ #include <sys/syscall.h> .text -.global __fork -.hidden __fork -.type __fork,%function +.global fork +.type fork,%function .align 4 -__fork: +fork: mov __NR_fork, %g1 ta 0x10 bcc,a 9000f @@ -45,6 +44,6 @@ __fork: retl and %o0, %o1, %o0 -.size __fork,.-__fork -strong_alias(__fork,fork) -weak_alias(fork,__libc_fork) +.size fork,.-fork +libc_hidden_def(fork) +strong_alias(fork,__libc_fork) diff --git a/libc/sysdeps/linux/sparc/vfork.S b/libc/sysdeps/linux/sparc/vfork.S index ad6b97e96..b509f65a4 100644 --- a/libc/sysdeps/linux/sparc/vfork.S +++ b/libc/sysdeps/linux/sparc/vfork.S @@ -25,18 +25,17 @@ #ifndef __NR_vfork /* No vfork so use fork instead */ -hidden_strong_alias(__fork,__vfork) -weak_alias(vfork,__libc_fork) +strong_alias(fork,vfork) +strong_alias(vfork,__libc_fork) #else .text -.global __vfork -.hidden __vfork -.type __vfork,%function +.global vfork +.type vfork,%function .align 4 -__vfork: +vfork: mov __NR_vfork, %g1 ta 0x10 bcc,a 9000f @@ -53,6 +52,6 @@ __vfork: retl and %o0, %o1, %o0 -.size __vfork,.-__vfork +.size vfork,.-vfork #endif /* __NR_vfork */ -strong_alias(__vfork,vfork) +libc_hidden_def(vfork) |