diff options
author | Mystery Man <unknown@mandriva.org> | 2003-10-29 16:07:11 +0000 |
---|---|---|
committer | Mystery Man <unknown@mandriva.org> | 2003-10-29 16:07:11 +0000 |
commit | fa40f30b4253b1e05c46cc5e0c111176825b7623 (patch) | |
tree | 76cf2d26c0ce0ee7c6a2c1a1a2b65bc4d8e33029 /mdk-stage1/dietlibc/ppc/unified.S | |
parent | 327bd24f8e4291bd1882de1990dd7339f781a9cb (diff) | |
download | drakx-fa40f30b4253b1e05c46cc5e0c111176825b7623.tar drakx-fa40f30b4253b1e05c46cc5e0c111176825b7623.tar.gz drakx-fa40f30b4253b1e05c46cc5e0c111176825b7623.tar.bz2 drakx-fa40f30b4253b1e05c46cc5e0c111176825b7623.tar.xz drakx-fa40f30b4253b1e05c46cc5e0c111176825b7623.zip |
This commit was manufactured by cvs2svn to create tag 'Corpo_2_1_1'.Corpo_2_1_1
Diffstat (limited to 'mdk-stage1/dietlibc/ppc/unified.S')
-rw-r--r-- | mdk-stage1/dietlibc/ppc/unified.S | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/mdk-stage1/dietlibc/ppc/unified.S b/mdk-stage1/dietlibc/ppc/unified.S index d2b419f0b..eb136a96b 100644 --- a/mdk-stage1/dietlibc/ppc/unified.S +++ b/mdk-stage1/dietlibc/ppc/unified.S @@ -1,21 +1,40 @@ #include <dietfeatures.h> +#include "syscalls.h" .text +.type exit,@function +.weak exit +exit: +.type _exit,@function +.global _exit +_exit: + li 0,__NR_exit .global __unified_syscall __unified_syscall: sc - mfcr 0 - andis. 9,0,4096 - mr 0,3 - beq .L1 -#ifdef WANT_THREAD_SAVE - bl __set_errno + bnslr+ + +.global error_unified_syscall +error_unified_syscall: +#ifdef WANT_THREAD_SAFE + stwu 1,-16(1) + mflr 0 + stw 0,20(1) + stw 3,12(1) + bl __errno_location + lwz 0,12(1) + stw 0,0(3) + lwz 0,20(1) + mtlr 0 + addi 1,1,16 #else lis 9,errno@ha stw 3,errno@l(9) #endif - li 0,-1 -.L1: - mr 3,0 + li 3,-1 + +/* here we go and "reuse" the return for weak-void functions */ +#include "dietuglyweaks.h" + blr |