summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/ppc/unified.S
diff options
context:
space:
mode:
Diffstat (limited to 'mdk-stage1/dietlibc/ppc/unified.S')
-rw-r--r--mdk-stage1/dietlibc/ppc/unified.S21
1 files changed, 21 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/ppc/unified.S b/mdk-stage1/dietlibc/ppc/unified.S
new file mode 100644
index 000000000..d2b419f0b
--- /dev/null
+++ b/mdk-stage1/dietlibc/ppc/unified.S
@@ -0,0 +1,21 @@
+#include <dietfeatures.h>
+
+.text
+.global __unified_syscall
+__unified_syscall:
+ sc
+ mfcr 0
+ andis. 9,0,4096
+ mr 0,3
+ beq .L1
+#ifdef WANT_THREAD_SAVE
+ bl __set_errno
+#else
+ lis 9,errno@ha
+ stw 3,errno@l(9)
+#endif
+ li 0,-1
+.L1:
+ mr 3,0
+ blr
+