diff options
author | Christopher Faylor <me@cgf.cx> | 2000-02-17 19:39:52 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2000-02-17 19:39:52 +0000 |
commit | 8a0efa53e44919bcf5ccb1d3353618a82afdf8bc (patch) | |
tree | 68c3dbf3f2c6fd5d49777def9914d77b5cd4589d /newlib/libc/sys/sparc64/execve.S | |
parent | 1fd5e000ace55b323124c7e556a7a864b972a5c4 (diff) | |
download | cygnal-8a0efa53e44919bcf5ccb1d3353618a82afdf8bc.tar.gz cygnal-8a0efa53e44919bcf5ccb1d3353618a82afdf8bc.tar.bz2 cygnal-8a0efa53e44919bcf5ccb1d3353618a82afdf8bc.zip |
import newlib-2000-02-17 snapshot
Diffstat (limited to 'newlib/libc/sys/sparc64/execve.S')
-rw-r--r-- | newlib/libc/sys/sparc64/execve.S | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/newlib/libc/sys/sparc64/execve.S b/newlib/libc/sys/sparc64/execve.S new file mode 100644 index 000000000..804d2ee3c --- /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 |