diff options
author | Guillaume Cottenceau <gc@mandriva.com> | 2001-01-04 20:04:45 +0000 |
---|---|---|
committer | Guillaume Cottenceau <gc@mandriva.com> | 2001-01-04 20:04:45 +0000 |
commit | 02fec4701cee79f875c1d02b8b4aee09380dbcb8 (patch) | |
tree | f4f291aedbb2e60ee58351481858a8cd3ec80b6b /mdk-stage1/dietlibc/alpha/unified.S | |
parent | 9887fe04751edf39e8389f2c3ec3f020b5e1c17d (diff) | |
download | drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.gz drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.bz2 drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.xz drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.zip |
integrate dietlibc/stdio per default for cdrom and disk only installs
Diffstat (limited to 'mdk-stage1/dietlibc/alpha/unified.S')
-rw-r--r-- | mdk-stage1/dietlibc/alpha/unified.S | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/alpha/unified.S b/mdk-stage1/dietlibc/alpha/unified.S new file mode 100644 index 000000000..02a1c9bcd --- /dev/null +++ b/mdk-stage1/dietlibc/alpha/unified.S @@ -0,0 +1,29 @@ +#include <dietfeatures.h> + +.global __unified_syscall +__unified_syscall: + callsys + bne $19, .Lerror + ret $31, ($26), 0x01 + +.Lerror: +.global error_unified_syscall +error_unified_syscall: +#ifdef WANT_THREAD_SAVE + lda $sp, -16($sp) /* alloc 2 qwords on stack */ + stq $26, 0($sp) /* save ra to stack */ + stq $0, 8($sp) /* save v0 to stack */ + + jsr $26, __errno_location /* call __errno_location */ + + ldq $1, 8($sp) /* write old v0 to errno */ + stl $1, 0($0) + + lda $0, -1($31) /* new return value is -1 */ + ldq $26, 0($sp) /* restore return address */ + lda $sp, 16($sp) /* free 2 qwords on stack */ +#else + lda $1, errno + stl $0, 0($1) +#endif + ret $31, ($26), 0x01 /* return */ |