From 03261851a10dd2d6900a0a00a7515a0a46fb5d76 Mon Sep 17 00:00:00 2001 From: Ranjith Kumaran Date: Fri, 17 Mar 2000 22:48:54 +0000 Subject: 20000317 sourceware import --- libgloss/m32r/trap0.S | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 libgloss/m32r/trap0.S (limited to 'libgloss/m32r/trap0.S') diff --git a/libgloss/m32r/trap0.S b/libgloss/m32r/trap0.S new file mode 100644 index 000000000..04efa13ba --- /dev/null +++ b/libgloss/m32r/trap0.S @@ -0,0 +1,16 @@ +; Trap 0 handler (syscall interface). +; +; The trap handler returns the result in r0 and the error code (errno value) +; in r2. r1 is reserved in case an 8 byte quantity ever needs to be +; returned in registers. + + .text + .global __trap0 +__trap0: + trap #0 ; trap 0 returns result in r0, error code in r2 + cmpui r2,#1 ; is error code zero? + bc .Lret ; yes, skip setting errno + ld r4,@(sp) ; no, set errno + st r2,@r4 +.Lret: + jmp lr ; return to caller -- cgit v1.2.3