From f95a4a932476be2ba99e2fd081e8d2bc6ea12813 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Fri, 15 Dec 2017 09:38:53 -0500 Subject: Import newlib and create makefile --- newlib/libc/sys/sparc64/execve.S | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 newlib/libc/sys/sparc64/execve.S (limited to 'newlib/libc/sys/sparc64/execve.S') diff --git a/newlib/libc/sys/sparc64/execve.S b/newlib/libc/sys/sparc64/execve.S new file mode 100644 index 0000000..804d2ee --- /dev/null +++ b/newlib/libc/sys/sparc64/execve.S @@ -0,0 +1,27 @@ +! execve.S +! This function is invoked by the other exec*() fns. +! +! If sizeof(char *) == 64, we invoke a new Shade function until the real one +! is defined. + +#include "sys/syscallasm.h" + + TEXT_SECTION + ALIGN (4) + GLOBAL (ASM_SYMBOL (execve)) +ASM_SYMBOL (execve): + mov SYS_execve,%g1 +#if TARGET_PTR_SIZE == 64 + ta 42 +#else + ta SYSCALL_TRAP +#endif + + bcc noerr + nop + + seterrno() + +noerr: + jmpl %o7+8,%g0 + nop -- cgit v1.2.3