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/msp430/nosyscalls.S')
-rw-r--r--libgloss/msp430/nosyscalls.S69
1 files changed, 69 insertions, 0 deletions
diff --git a/libgloss/msp430/nosyscalls.S b/libgloss/msp430/nosyscalls.S
new file mode 100644
index 000000000..abb01b03e
--- /dev/null
+++ b/libgloss/msp430/nosyscalls.S
@@ -0,0 +1,69 @@
+/* Copyright (c) 2012, 2013 Red Hat, Inc. All rights reserved.
+
+ This copyrighted material is made available to anyone wishing to use, modify,
+ copy, or redistribute it subject to the terms and conditions of the BSD
+ License. This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY expressed or implied, including the implied warranties
+ of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy of this license
+ is available at http://www.opensource.org/licenses. Any Red Hat trademarks that
+ are incorporated in the source code or documentation are not subject to the BSD
+ License and may only be used or replicated with the express permission of
+ Red Hat, Inc.
+*/
+
+/* Empty syscall definitions for when we run on real hardware. */
+
+#include "../syscall.h"
+#include "memmodel.h"
+
+#define ENOSYS 88
+
+.macro sc,a
+ sc2 \a,\a
+.endm
+
+.macro sc2,name,num
+ .weak \name
+ .global \name
+\name:
+ call_ #__errno
+ movx_ #ENOSYS, @R12
+ MOV.W #-1,R12
+ ret_
+.endm
+
+ .weak exit
+ .weak _exit
+ .global exit
+ .global _exit
+exit:
+_exit:
+ /* For some reason, the board fails to stop at a breakpoint
+ placed on top of a software breakpoint instruction. */
+/* MOV.B #0,R3 ; this is a software breakpoint instruction */
+1: br_ #1b
+
+#define SC(n) sc2 n,SYS_##n
+
+ SC (open)
+ SC (close)
+ SC (read)
+/* SC (write)*/
+ SC (fstat)
+ SC (lseek)
+ SC (kill)
+
+ .weak isatty
+ .global isatty
+isatty:
+ .weak _isatty
+ .global _isatty
+_isatty:
+ MOV #1,R12
+ ret_
+
+ .weak getpid
+ .global getpid
+getpid:
+ MOV #42,R12
+ ret_