* 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.
This commit is contained in:
Corinna Vinschen
2014-12-15 13:30:07 +00:00
parent 0cbcde7bdb
commit d4ef8a6368
13 changed files with 285 additions and 81 deletions

View File

@@ -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 _link, SYS_link
#endif /* not __NDS32_VH__ */
/* Upon successful completion, 0 shall be returned. Otherwise,
-1 shall be returned and errno set to indicate the error. */
.extern _impure_ptr /* The first element is _errno. */
.text
.global _link
.type _link, @function
.align 2
_link:
/* A minimal implementation has no file system, so this function
must always fail, with an appropriate value set in errno. */
movi $r0, #31 /* EMLINK: Too many links */
l.w $r15, _impure_ptr
swi $r0, [$r15]
movi $r0, -1 /* Set return value to -1. */
ret
.size _link, .-_link