Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'libgloss/bfin/syscalls.c')
-rw-r--r--libgloss/bfin/syscalls.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/libgloss/bfin/syscalls.c b/libgloss/bfin/syscalls.c
index b5bce2611..015e60454 100644
--- a/libgloss/bfin/syscalls.c
+++ b/libgloss/bfin/syscalls.c
@@ -32,10 +32,13 @@ register char *stack_ptr asm ("SP");
static inline int
do_syscall (int reason, void *arg)
{
- register int r asm ("P0") = reason;
- register void *a asm ("R0") = arg;
- register int result asm ("R0");
- asm volatile ("excpt 0;" : "=r" (result) : "a" (r), "r" (a) : "memory", "CC");
+ int result;
+ asm volatile ("[--sp] = %1; [--sp] = %2; \
+ r1 = [sp++]; r0 = [sp++]; \
+ raise 0; %0 = r0;"
+ : "=r" (result)
+ : "r" (reason), "r" (arg)
+ : "R0", "R1", "memory", "cc");
return result;
}
@@ -208,7 +211,7 @@ _times (struct tms * tp)
}
int
-_isatty (int fd)
+isatty (int fd)
{
return 1;
}