diff options
| author | "Steven J. Hill" <sjhill@realitydiluted.com> | 2006-01-07 02:32:27 +0000 |
|---|---|---|
| committer | "Steven J. Hill" <sjhill@realitydiluted.com> | 2006-01-07 02:32:27 +0000 |
| commit | e523bd15353350c3480b8a1820a0944b0fa8212e (patch) | |
| tree | 60485116f9c62c306bb753f12f9d4eb79d16aa4e /libc/sysdeps/linux/sparc | |
| parent | 3b3434516a3415d7e0f4e1d50c553876dcb337b2 (diff) | |
| download | uClibc-alpine-e523bd15353350c3480b8a1820a0944b0fa8212e.tar.bz2 uClibc-alpine-e523bd15353350c3480b8a1820a0944b0fa8212e.tar.xz | |
Big fricking merge from trunk.
Diffstat (limited to 'libc/sysdeps/linux/sparc')
| -rw-r--r-- | libc/sysdeps/linux/sparc/brk.c | 3 | ||||
| -rw-r--r-- | libc/sysdeps/linux/sparc/clone.S | 2 | ||||
| -rw-r--r-- | libc/sysdeps/linux/sparc/fork.S | 15 | ||||
| -rw-r--r-- | libc/sysdeps/linux/sparc/vfork.S | 15 |
4 files changed, 18 insertions, 17 deletions
diff --git a/libc/sysdeps/linux/sparc/brk.c b/libc/sysdeps/linux/sparc/brk.c index 82d6147ca..9e178e34f 100644 --- a/libc/sysdeps/linux/sparc/brk.c +++ b/libc/sysdeps/linux/sparc/brk.c @@ -26,7 +26,7 @@ void *__curbrk = 0; -int brk (void *addr) +int attribute_hidden __brk (void *addr) { void *newbrk; @@ -47,3 +47,4 @@ int brk (void *addr) return 0; } +strong_alias(__brk,brk) diff --git a/libc/sysdeps/linux/sparc/clone.S b/libc/sysdeps/linux/sparc/clone.S index 7421ef672..e9e6b17dd 100644 --- a/libc/sysdeps/linux/sparc/clone.S +++ b/libc/sysdeps/linux/sparc/clone.S @@ -59,7 +59,7 @@ __error: __thread_start: call %i0 mov %i3,%o0 - call _exit,0 + call _exit_internal,0 nop .size __thread_start,.-__thread_start diff --git a/libc/sysdeps/linux/sparc/fork.S b/libc/sysdeps/linux/sparc/fork.S index c382f4b4e..dfa109dcd 100644 --- a/libc/sysdeps/linux/sparc/fork.S +++ b/libc/sysdeps/linux/sparc/fork.S @@ -19,14 +19,16 @@ /* Code taken from glibc2.2.2/sysdeps/unix/sysv/linux/sparc/vfork.S */ +#include <features.h> #include <sys/syscall.h> .text -.global __libc_fork -.type __libc_fork,%function +.global __fork +.hidden __fork +.type __fork,%function .align 4 -__libc_fork: +__fork: mov __NR_fork, %g1 ta 0x10 bcc,a 9000f @@ -43,7 +45,6 @@ __libc_fork: retl and %o0, %o1, %o0 -.size __libc_fork,.-__libc_fork - -.weak fork - fork = __libc_fork +.size __fork,.-__fork +strong_alias(__fork,fork) +weak_alias(fork,__libc_fork) diff --git a/libc/sysdeps/linux/sparc/vfork.S b/libc/sysdeps/linux/sparc/vfork.S index 854b66182..9b7092c98 100644 --- a/libc/sysdeps/linux/sparc/vfork.S +++ b/libc/sysdeps/linux/sparc/vfork.S @@ -23,14 +23,16 @@ #ifndef __NR_vfork /* No vfork so use fork instead */ -.weak vfork - vfork = __libc_fork + +hidden_strong_alias(__fork,__vfork) +weak_alias(vfork,__libc_fork) #else .text -.global vfork -.type vfork,%function +.global __vfork +.hidden __vfork +.type __vfork,%function .align 4 __vfork: @@ -51,8 +53,5 @@ __vfork: and %o0, %o1, %o0 .size __vfork,.-__vfork - -.weak vfork - vfork = __vfork - #endif /* __NR_vfork */ +strong_alias(__vfork,vfork) |
