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:
authorCorinna Vinschen <corinna@vinschen.de>2014-12-15 16:30:07 +0300
committerCorinna Vinschen <corinna@vinschen.de>2014-12-15 16:30:07 +0300
commitd4ef8a6368e8e5b22808e3df64306418f1971ba9 (patch)
treef7874b57ad4653b890c423c79a3712a09d8be793 /libgloss/nds32/_times.S
parent0cbcde7bdbecd41228cd09bb102ef73cde5aef96 (diff)
* libgloss/nds32/_exit.S: Finish with an infinite loop in _exit.
* libgloss/nds32/_getpid.S: Don't issue _getpid system call, it is always successful. * libgloss/nds32/_gettimeofday.S: No error for _gettimeofday is defined in SYS_geterr handler. * libgloss/nds32/_isatty.S: No error for _isatty is defined in SYS_geterr handler. * libgloss/nds32/_kill.S: Alway fail. errno = EINVAL. * libgloss/nds32/_link.S: Alway fail. errno = EMLINK. * libgloss/nds32/_times.S: Alway fail. errno = EACCES. * libgloss/nds32/_unlink.S: fix copy and paste error. * libgloss/nds32/crt0.S: Add pre_c_init, post_c_init, arg_init. * libgloss/nds32/crt1.S: Add pre_c_init, post_c_init, arg_init. * libgloss/nds32/syscall_extra.h: Re-format. * libgloss/nds32/vh.h: Add more virtual hosting number.
Diffstat (limited to 'libgloss/nds32/_times.S')
-rw-r--r--libgloss/nds32/_times.S23
1 files changed, 16 insertions, 7 deletions
diff --git a/libgloss/nds32/_times.S b/libgloss/nds32/_times.S
index 048de6208..3343f315b 100644
--- a/libgloss/nds32/_times.S
+++ b/libgloss/nds32/_times.S
@@ -27,10 +27,19 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef __NDS32_VH__
-
-#include "../syscall.h"
-#include "syscall_extra.h"
-SYS_WRAPPER _times, SYS_times
-
-#endif /* not __NDS32_VH__ */
+/* If times() fails, (clock_t)-1 shall be returned and errno set
+ to indicate the error. */
+ .extern _impure_ptr /* The first element is _errno. */
+ .text
+ .global _times
+ .type _times, @function
+ .align 2
+_times:
+ /* A minimal implementation need not offer any timing information,
+ so should always fail with an appropriate value in errno. */
+ movi $r0, #13 /* EACCES: Permission denied */
+ l.w $r15, _impure_ptr
+ swi $r0, [$r15]
+ movi $r0, -1 /* Set return value to -1. */
+ ret
+ .size _times, .-_times