34 changed files with 6114 additions and 0 deletions
@ -0,0 +1,145 @@ |
|||
# Makefile for libgloss/nds32
|
|||
# Copyright (c) 1996, 1998 Cygnus Support. 2012 Andes Porting.
|
|||
# All rights reserved.
|
|||
#
|
|||
# Redistribution and use in source and binary forms are permitted
|
|||
# provided that the above copyright notice and this paragraph are
|
|||
# duplicated in all such forms and that any documentation,
|
|||
# advertising materials, and other materials related to such
|
|||
# distribution and use acknowledge that the software was developed
|
|||
# at Cygnus Support, Inc. Cygnus Support, Inc. may not be used to
|
|||
# endorse or promote products derived from this software without
|
|||
# specific prior written permission.
|
|||
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
|
|||
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
|||
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
|||
|
|||
DESTDIR = |
|||
VPATH = @srcdir@ @srcdir@/.. |
|||
srcdir = @srcdir@ |
|||
objdir = . |
|||
srcroot = $(srcdir)/../.. |
|||
objroot = $(objdir)/../.. |
|||
|
|||
host_alias = @host_alias@ |
|||
target_alias = @target_alias@ |
|||
prefix = @prefix@ |
|||
exec_prefix = @exec_prefix@ |
|||
bindir = @bindir@ |
|||
libdir = @libdir@ |
|||
tooldir = $(exec_prefix)/$(target_alias) |
|||
|
|||
TOP = ../.. |
|||
SRCTOP = ../.. |
|||
|
|||
# Multilib support variables.
|
|||
# TOP is used instead of MULTI{BUILD,SRC}TOP.
|
|||
MULTISRCTOP = |
|||
MULTIBUILDTOP = |
|||
MULTIDIRS = |
|||
MULTISUBDIR = |
|||
MULTIDO = true |
|||
MULTICLEAN = true |
|||
|
|||
INSTALL = @INSTALL@ |
|||
INSTALL_PROGRAM = @INSTALL_PROGRAM@ |
|||
INSTALL_DATA = @INSTALL_DATA@ |
|||
|
|||
SHELL = /bin/sh |
|||
|
|||
CC = @CC@ |
|||
|
|||
AS = @AS@ |
|||
AR = @AR@ |
|||
LD = @LD@ |
|||
RANLIB = @RANLIB@ |
|||
|
|||
AR_FLAGS = qv |
|||
BISON = bison |
|||
MAKEINFO = makeinfo |
|||
|
|||
.NOEXPORT: |
|||
MAKEOVERRIDES = |
|||
|
|||
TARGETDOC = ../../targetdep.tex |
|||
|
|||
CRT0 = crt0.o |
|||
CRT1 = crt1.o |
|||
|
|||
|
|||
|
|||
SYSCALLS1 = syscall_exit.o syscall_open.o syscall_close.o syscall_read.o syscall_write.o |
|||
SYSCALLS2 = syscall_lseek.o syscall_unlink.o syscall_getpid.o syscall_kill.o syscall_fstat.o |
|||
SYSCALLS3 = syscall_argvlen.o syscall_argv.o syscall_chdir.o syscall_stat.o syscall_chmod.o |
|||
SYSCALLS4 = syscall_utime.o syscall_time.o syscall_gettimeofday.o syscall_times.o syscall_link.o |
|||
SYSCALLS5 = syscall_rename.o syscall_isatty.o syscall_system.o syscall_sbrk.o |
|||
SYSCALLS = $(SYSCALLS1) $(SYSCALLS2) $(SYSCALLS3) $(SYSCALLS4) $(SYSCALLS5) |
|||
GENERIC_LIBOBJS = |
|||
|
|||
LIBOBJS = $(SYSCALLS) $(GENERIC_LIBOBJS) |
|||
LIBGLOSS = libgloss.a |
|||
|
|||
# Host specific makefile fragment comes in here.
|
|||
@host_makefile_frag@ |
|||
|
|||
all: $(CRT0) $(CRT1) $(LIBGLOSS) |
|||
|
|||
libgloss.a: $(LIBOBJS) |
|||
$(AR) $(ARFLAGS) $@ $(LIBOBJS) |
|||
$(RANLIB) $@ |
|||
|
|||
install: |
|||
mkdir -p $(DESTDIR)$(tooldir)/lib${MULTISUBDIR} |
|||
$(INSTALL_DATA) $(CRT0) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(CRT0) |
|||
$(INSTALL_DATA) $(CRT1) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(CRT1) |
|||
$(INSTALL_DATA) $(LIBGLOSS) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(LIBGLOSS) |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
clean mostlyclean: |
|||
rm -f *~ *.[oa] |
|||
|
|||
distclean maintainer-clean realclean: clean |
|||
rm -f Makefile config.status |
|||
|
|||
info doc: |
|||
install-info: |
|||
clean-info: |
|||
|
|||
Makefile: Makefile.in config.status @host_makefile_frag_path@ |
|||
$(SHELL) config.status |
|||
|
|||
config.status: configure |
|||
$(SHELL) config.status --recheck |
|||
|
|||
# to support SunOS VPATH
|
|||
crt0.o: crt0.S |
|||
crt1.o: crt1.S |
|||
syscall_exit.o: syscall_exit.S |
|||
syscall_open.o: syscall_open.S |
|||
syscall_close.o: syscall_close.S |
|||
syscall_read.o: syscall_read.S |
|||
syscall_write.o: syscall_write.S |
|||
syscall_lseek.o: syscall_lseek.S |
|||
syscall_unlink.o: syscall_unlink.S |
|||
syscall_getpid.o: syscall_getpid.S |
|||
syscall_kill.o: syscall_kill.S |
|||
syscall_fstat.o: syscall_fstat.S |
|||
syscall_argvlen.o: syscall_argvlen.S |
|||
syscall_argv.o: syscall_argv.S |
|||
syscall_chdir.o: syscall_chdir.S |
|||
syscall_stat.o: syscall_stat.S |
|||
syscall_chmod.o: syscall_chmod.S |
|||
syscall_utime.o: syscall_utime.S |
|||
syscall_time.o: syscall_time.S |
|||
syscall_gettimeofday.o: syscall_gettimeofday.S |
|||
syscall_times.o: syscall_times.S |
|||
syscall_link.o: syscall_link.S |
|||
syscall_rename.o: syscall_rename.S |
|||
syscall_isatty.o: syscall_isatty.S |
|||
syscall_system.o: syscall_system.S |
|||
syscall_sbrk.o: syscall_sbrk.S |
|||
@ -0,0 +1,409 @@ |
|||
# generated automatically by aclocal 1.11.6 -*- Autoconf -*- |
|||
|
|||
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, |
|||
# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, |
|||
# Inc. |
|||
# This file is free software; the Free Software Foundation |
|||
# gives unlimited permission to copy and/or distribute it, |
|||
# with or without modifications, as long as this notice is preserved. |
|||
|
|||
# This program is distributed in the hope that it will be useful, |
|||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without |
|||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A |
|||
# PARTICULAR PURPOSE. |
|||
|
|||
# AM_CONDITIONAL -*- Autoconf -*- |
|||
|
|||
# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008 |
|||
# Free Software Foundation, Inc. |
|||
# |
|||
# This file is free software; the Free Software Foundation |
|||
# gives unlimited permission to copy and/or distribute it, |
|||
# with or without modifications, as long as this notice is preserved. |
|||
|
|||
# serial 9 |
|||
|
|||
# AM_CONDITIONAL(NAME, SHELL-CONDITION) |
|||
# ------------------------------------- |
|||
# Define a conditional. |
|||
AC_DEFUN([AM_CONDITIONAL], |
|||
[AC_PREREQ(2.52)dnl |
|||
ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], |
|||
[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl |
|||
AC_SUBST([$1_TRUE])dnl |
|||
AC_SUBST([$1_FALSE])dnl |
|||
_AM_SUBST_NOTMAKE([$1_TRUE])dnl |
|||
_AM_SUBST_NOTMAKE([$1_FALSE])dnl |
|||
m4_define([_AM_COND_VALUE_$1], [$2])dnl |
|||
if $2; then |
|||
$1_TRUE= |
|||
$1_FALSE='#' |
|||
else |
|||
$1_TRUE='#' |
|||
$1_FALSE= |
|||
fi |
|||
AC_CONFIG_COMMANDS_PRE( |
|||
[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then |
|||
AC_MSG_ERROR([[conditional "$1" was never defined. |
|||
Usually this means the macro was only invoked conditionally.]]) |
|||
fi])]) |
|||
|
|||
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, |
|||
# 2010, 2011 Free Software Foundation, Inc. |
|||
# |
|||
# This file is free software; the Free Software Foundation |
|||
# gives unlimited permission to copy and/or distribute it, |
|||
# with or without modifications, as long as this notice is preserved. |
|||
|
|||
# serial 12 |
|||
|
|||
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be |
|||
# written in clear, in which case automake, when reading aclocal.m4, |
|||
# will think it sees a *use*, and therefore will trigger all it's |
|||
# C support machinery. Also note that it means that autoscan, seeing |
|||
# CC etc. in the Makefile, will ask for an AC_PROG_CC use... |
|||
|
|||
|
|||
# _AM_DEPENDENCIES(NAME) |
|||
# ---------------------- |
|||
# See how the compiler implements dependency checking. |
|||
# NAME is "CC", "CXX", "GCJ", or "OBJC". |
|||
# We try a few techniques and use that to set a single cache variable. |
|||
# |
|||
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was |
|||
# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular |
|||
# dependency, and given that the user is not expected to run this macro, |
|||
# just rely on AC_PROG_CC. |
|||
AC_DEFUN([_AM_DEPENDENCIES], |
|||
[AC_REQUIRE([AM_SET_DEPDIR])dnl |
|||
AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl |
|||
AC_REQUIRE([AM_MAKE_INCLUDE])dnl |
|||
AC_REQUIRE([AM_DEP_TRACK])dnl |
|||
|
|||
ifelse([$1], CC, [depcc="$CC" am_compiler_list=], |
|||
[$1], CXX, [depcc="$CXX" am_compiler_list=], |
|||
[$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], |
|||
[$1], UPC, [depcc="$UPC" am_compiler_list=], |
|||
[$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], |
|||
[depcc="$$1" am_compiler_list=]) |
|||
|
|||
AC_CACHE_CHECK([dependency style of $depcc], |
|||
[am_cv_$1_dependencies_compiler_type], |
|||
[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then |
|||
# We make a subdir and do the tests there. Otherwise we can end up |
|||
# making bogus files that we don't know about and never remove. For |
|||
# instance it was reported that on HP-UX the gcc test will end up |
|||
# making a dummy file named `D' -- because `-MD' means `put the output |
|||
# in D'. |
|||
rm -rf conftest.dir |
|||
mkdir conftest.dir |
|||
# Copy depcomp to subdir because otherwise we won't find it if we're |
|||
# using a relative directory. |
|||
cp "$am_depcomp" conftest.dir |
|||
cd conftest.dir |
|||
# We will build objects and dependencies in a subdirectory because |
|||
# it helps to detect inapplicable dependency modes. For instance |
|||
# both Tru64's cc and ICC support -MD to output dependencies as a |
|||
# side effect of compilation, but ICC will put the dependencies in |
|||
# the current directory while Tru64 will put them in the object |
|||
# directory. |
|||
mkdir sub |
|||
|
|||
am_cv_$1_dependencies_compiler_type=none |
|||
if test "$am_compiler_list" = ""; then |
|||
am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` |
|||
fi |
|||
am__universal=false |
|||
m4_case([$1], [CC], |
|||
[case " $depcc " in #( |
|||
*\ -arch\ *\ -arch\ *) am__universal=true ;; |
|||
esac], |
|||
[CXX], |
|||
[case " $depcc " in #( |
|||
*\ -arch\ *\ -arch\ *) am__universal=true ;; |
|||
esac]) |
|||
|
|||
for depmode in $am_compiler_list; do |
|||
# Setup a source with many dependencies, because some compilers |
|||
# like to wrap large dependency lists on column 80 (with \), and |
|||
# we should not choose a depcomp mode which is confused by this. |
|||
# |
|||
# We need to recreate these files for each test, as the compiler may |
|||
# overwrite some of them when testing with obscure command lines. |
|||
# This happens at least with the AIX C compiler. |
|||
: > sub/conftest.c |
|||
for i in 1 2 3 4 5 6; do |
|||
echo '#include "conftst'$i'.h"' >> sub/conftest.c |
|||
# Using `: > sub/conftst$i.h' creates only sub/conftst1.h with |
|||
# Solaris 8's {/usr,}/bin/sh. |
|||
touch sub/conftst$i.h |
|||
done |
|||
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf |
|||
|
|||
# We check with `-c' and `-o' for the sake of the "dashmstdout" |
|||
# mode. It turns out that the SunPro C++ compiler does not properly |
|||
# handle `-M -o', and we need to detect this. Also, some Intel |
|||
# versions had trouble with output in subdirs |
|||
am__obj=sub/conftest.${OBJEXT-o} |
|||
am__minus_obj="-o $am__obj" |
|||
case $depmode in |
|||
gcc) |
|||
# This depmode causes a compiler race in universal mode. |
|||
test "$am__universal" = false || continue |
|||
;; |
|||
nosideeffect) |
|||
# after this tag, mechanisms are not by side-effect, so they'll |
|||
# only be used when explicitly requested |
|||
if test "x$enable_dependency_tracking" = xyes; then |
|||
continue |
|||
else |
|||
break |
|||
fi |
|||
;; |
|||
msvc7 | msvc7msys | msvisualcpp | msvcmsys) |
|||
# This compiler won't grok `-c -o', but also, the minuso test has |
|||
# not run yet. These depmodes are late enough in the game, and |
|||
# so weak that their functioning should not be impacted. |
|||
am__obj=conftest.${OBJEXT-o} |
|||
am__minus_obj= |
|||
;; |
|||
none) break ;; |
|||
esac |
|||
if depmode=$depmode \ |
|||
source=sub/conftest.c object=$am__obj \ |
|||
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ |
|||
$SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ |
|||
>/dev/null 2>conftest.err && |
|||
grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && |
|||
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && |
|||
grep $am__obj sub/conftest.Po > /dev/null 2>&1 && |
|||
${MAKE-make} -s -f confmf > /dev/null 2>&1; then |
|||
# icc doesn't choke on unknown options, it will just issue warnings |
|||
# or remarks (even with -Werror). So we grep stderr for any message |
|||
# that says an option was ignored or not supported. |
|||
# When given -MP, icc 7.0 and 7.1 complain thusly: |
|||
# icc: Command line warning: ignoring option '-M'; no argument required |
|||
# The diagnosis changed in icc 8.0: |
|||
# icc: Command line remark: option '-MP' not supported |
|||
if (grep 'ignoring option' conftest.err || |
|||
grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else |
|||
am_cv_$1_dependencies_compiler_type=$depmode |
|||
break |
|||
fi |
|||
fi |
|||
done |
|||
|
|||
cd .. |
|||
rm -rf conftest.dir |
|||
else |
|||
am_cv_$1_dependencies_compiler_type=none |
|||
fi |
|||
]) |
|||
AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) |
|||
AM_CONDITIONAL([am__fastdep$1], [ |
|||
test "x$enable_dependency_tracking" != xno \ |
|||
&& test "$am_cv_$1_dependencies_compiler_type" = gcc3]) |
|||
]) |
|||
|
|||
|
|||
# AM_SET_DEPDIR |
|||
# ------------- |
|||
# Choose a directory name for dependency files. |
|||
# This macro is AC_REQUIREd in _AM_DEPENDENCIES |
|||
AC_DEFUN([AM_SET_DEPDIR], |
|||
[AC_REQUIRE([AM_SET_LEADING_DOT])dnl |
|||
AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl |
|||
]) |
|||
|
|||
|
|||
# AM_DEP_TRACK |
|||
# ------------ |
|||
AC_DEFUN([AM_DEP_TRACK], |
|||
[AC_ARG_ENABLE(dependency-tracking, |
|||
[ --disable-dependency-tracking speeds up one-time build |
|||
--enable-dependency-tracking do not reject slow dependency extractors]) |
|||
if test "x$enable_dependency_tracking" != xno; then |
|||
am_depcomp="$ac_aux_dir/depcomp" |
|||
AMDEPBACKSLASH='\' |
|||
am__nodep='_no' |
|||
fi |
|||
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) |
|||
AC_SUBST([AMDEPBACKSLASH])dnl |
|||
_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl |
|||
AC_SUBST([am__nodep])dnl |
|||
_AM_SUBST_NOTMAKE([am__nodep])dnl |
|||
]) |
|||
|
|||
# Generate code to set up dependency tracking. -*- Autoconf -*- |
|||
|
|||
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 |
|||
# Free Software Foundation, Inc. |
|||
# |
|||
# This file is free software; the Free Software Foundation |
|||
# gives unlimited permission to copy and/or distribute it, |
|||
# with or without modifications, as long as this notice is preserved. |
|||
|
|||
#serial 5 |
|||
|
|||
# _AM_OUTPUT_DEPENDENCY_COMMANDS |
|||
# ------------------------------ |
|||
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], |
|||
[{ |
|||
# Autoconf 2.62 quotes --file arguments for eval, but not when files |
|||
# are listed without --file. Let's play safe and only enable the eval |
|||
# if we detect the quoting. |
|||
case $CONFIG_FILES in |
|||
*\'*) eval set x "$CONFIG_FILES" ;; |
|||
*) set x $CONFIG_FILES ;; |
|||
esac |
|||
shift |
|||
for mf |
|||
do |
|||
# Strip MF so we end up with the name of the file. |
|||
mf=`echo "$mf" | sed -e 's/:.*$//'` |
|||
# Check whether this is an Automake generated Makefile or not. |
|||
# We used to match only the files named `Makefile.in', but |
|||
# some people rename them; so instead we look at the file content. |
|||
# Grep'ing the first line is not enough: some people post-process |
|||
# each Makefile.in and add a new line on top of each file to say so. |
|||
# Grep'ing the whole file is not good either: AIX grep has a line |
|||
# limit of 2048, but all sed's we know have understand at least 4000. |
|||
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then |
|||
dirpart=`AS_DIRNAME("$mf")` |
|||
else |
|||
continue |
|||
fi |
|||
# Extract the definition of DEPDIR, am__include, and am__quote |
|||
# from the Makefile without running `make'. |
|||
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` |
|||
test -z "$DEPDIR" && continue |
|||
am__include=`sed -n 's/^am__include = //p' < "$mf"` |
|||
test -z "am__include" && continue |
|||
am__quote=`sed -n 's/^am__quote = //p' < "$mf"` |
|||
# When using ansi2knr, U may be empty or an underscore; expand it |
|||
U=`sed -n 's/^U = //p' < "$mf"` |
|||
# Find all dependency output files, they are included files with |
|||
# $(DEPDIR) in their names. We invoke sed twice because it is the |
|||
# simplest approach to changing $(DEPDIR) to its actual value in the |
|||
# expansion. |
|||
for file in `sed -n " |
|||
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ |
|||
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do |
|||
# Make sure the directory exists. |
|||
test -f "$dirpart/$file" && continue |
|||
fdir=`AS_DIRNAME(["$file"])` |
|||
AS_MKDIR_P([$dirpart/$fdir]) |
|||
# echo "creating $dirpart/$file" |
|||
echo '# dummy' > "$dirpart/$file" |
|||
done |
|||
done |
|||
} |
|||
])# _AM_OUTPUT_DEPENDENCY_COMMANDS |
|||
|
|||
|
|||
# AM_OUTPUT_DEPENDENCY_COMMANDS |
|||
# ----------------------------- |
|||
# This macro should only be invoked once -- use via AC_REQUIRE. |
|||
# |
|||
# This code is only required when automatic dependency tracking |
|||
# is enabled. FIXME. This creates each `.P' file that we will |
|||
# need in order to bootstrap the dependency handling code. |
|||
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], |
|||
[AC_CONFIG_COMMANDS([depfiles], |
|||
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], |
|||
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) |
|||
]) |
|||
|
|||
# Copyright (C) 2003, 2005 Free Software Foundation, Inc. |
|||
# |
|||
# This file is free software; the Free Software Foundation |
|||
# gives unlimited permission to copy and/or distribute it, |
|||
# with or without modifications, as long as this notice is preserved. |
|||
|
|||
# serial 2 |
|||
|
|||
# Check whether the underlying file-system supports filenames |
|||
# with a leading dot. For instance MS-DOS doesn't. |
|||
AC_DEFUN([AM_SET_LEADING_DOT], |
|||
[rm -rf .tst 2>/dev/null |
|||
mkdir .tst 2>/dev/null |
|||
if test -d .tst; then |
|||
am__leading_dot=. |
|||
else |
|||
am__leading_dot=_ |
|||
fi |
|||
rmdir .tst 2>/dev/null |
|||
AC_SUBST([am__leading_dot])]) |
|||
|
|||
# Check to see how 'make' treats includes. -*- Autoconf -*- |
|||
|
|||
# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc. |
|||
# |
|||
# This file is free software; the Free Software Foundation |
|||
# gives unlimited permission to copy and/or distribute it, |
|||
# with or without modifications, as long as this notice is preserved. |
|||
|
|||
# serial 4 |
|||
|
|||
# AM_MAKE_INCLUDE() |
|||
# ----------------- |
|||
# Check to see how make treats includes. |
|||
AC_DEFUN([AM_MAKE_INCLUDE], |
|||
[am_make=${MAKE-make} |
|||
cat > confinc << 'END' |
|||
am__doit: |
|||
@echo this is the am__doit target |
|||
.PHONY: am__doit |
|||
END |
|||
# If we don't find an include directive, just comment out the code. |
|||
AC_MSG_CHECKING([for style of include used by $am_make]) |
|||
am__include="#" |
|||
am__quote= |
|||
_am_result=none |
|||
# First try GNU make style include. |
|||
echo "include confinc" > confmf |
|||
# Ignore all kinds of additional output from `make'. |
|||
case `$am_make -s -f confmf 2> /dev/null` in #( |
|||
*the\ am__doit\ target*) |
|||
am__include=include |
|||
am__quote= |
|||
_am_result=GNU |
|||
;; |
|||
esac |
|||
# Now try BSD make style include. |
|||
if test "$am__include" = "#"; then |
|||
echo '.include "confinc"' > confmf |
|||
case `$am_make -s -f confmf 2> /dev/null` in #( |
|||
*the\ am__doit\ target*) |
|||
am__include=.include |
|||
am__quote="\"" |
|||
_am_result=BSD |
|||
;; |
|||
esac |
|||
fi |
|||
AC_SUBST([am__include]) |
|||
AC_SUBST([am__quote]) |
|||
AC_MSG_RESULT([$_am_result]) |
|||
rm -f confinc confmf |
|||
]) |
|||
|
|||
# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc. |
|||
# |
|||
# This file is free software; the Free Software Foundation |
|||
# gives unlimited permission to copy and/or distribute it, |
|||
# with or without modifications, as long as this notice is preserved. |
|||
|
|||
# serial 3 |
|||
|
|||
# _AM_SUBST_NOTMAKE(VARIABLE) |
|||
# --------------------------- |
|||
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. |
|||
# This macro is traced by Automake. |
|||
AC_DEFUN([_AM_SUBST_NOTMAKE]) |
|||
|
|||
# AM_SUBST_NOTMAKE(VARIABLE) |
|||
# -------------------------- |
|||
# Public sister of _AM_SUBST_NOTMAKE. |
|||
AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) |
|||
|
|||
m4_include([../acinclude.m4]) |
|||
File diff suppressed because it is too large
@ -0,0 +1,47 @@ |
|||
dnl Process this file with autoconf to produce a configure script. |
|||
AC_PREREQ(2.59) |
|||
AC_INIT(crt0.S) |
|||
|
|||
AC_CANONICAL_SYSTEM |
|||
AC_ARG_PROGRAM |
|||
|
|||
if test "$srcdir" = "." ; then |
|||
mdir=`echo "${with_multisubdir}/" \ |
|||
| sed -e 's,\([[^/]][[^/]]*\),..,g' -e 's,^/$,,'` |
|||
AC_CONFIG_AUX_DIR(${mdir}../../..) |
|||
else |
|||
AC_CONFIG_AUX_DIR(${srcdir}/../..) |
|||
fi |
|||
|
|||
AC_PROG_INSTALL |
|||
|
|||
LIB_AC_PROG_CC |
|||
AS=${AS-as} |
|||
AC_SUBST(AS) |
|||
AR=${AR-ar} |
|||
AC_SUBST(AR) |
|||
LD=${LD-ld} |
|||
AC_SUBST(LD) |
|||
AC_PROG_RANLIB |
|||
LIB_AM_PROG_AS |
|||
|
|||
host_makefile_frag=${srcdir}/../config/default.mh |
|||
|
|||
dnl We have to assign the same value to other variables because autoconf |
|||
dnl doesn't provide a mechanism to substitute a replacement keyword with |
|||
dnl arbitrary data or pathnames. |
|||
dnl |
|||
host_makefile_frag_path=$host_makefile_frag |
|||
AC_SUBST(host_makefile_frag_path) |
|||
AC_SUBST_FILE(host_makefile_frag) |
|||
|
|||
AC_CONFIG_FILES(Makefile, |
|||
. ${srcdir}/../../config-ml.in, |
|||
srcdir=${srcdir} |
|||
target=${target} |
|||
with_multisubdir=${with_multisubdir} |
|||
ac_configure_args="${ac_configure_args} --enable-multilib" |
|||
CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} |
|||
libgloss_topdir=${srcdir}/../.. |
|||
) |
|||
AC_OUTPUT |
|||
@ -0,0 +1,116 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
|
|||
##============================================================================== |
|||
## |
|||
## crt0.S |
|||
## |
|||
## nds32 startup code |
|||
## |
|||
##============================================================================== |
|||
|
|||
|
|||
##------------------------------------------------------------------------------ |
|||
## Vector table setup |
|||
##------------------------------------------------------------------------------ |
|||
.section .nds32_init, "ax" |
|||
j _start |
|||
|
|||
##------------------------------------------------------------------------------ |
|||
## Startup code implementation |
|||
##------------------------------------------------------------------------------ |
|||
.section .text |
|||
.weak _SDA_BASE_ |
|||
.weak _FP_BASE_ |
|||
.global _start |
|||
.type _start, @function |
|||
.align 2 |
|||
_start: |
|||
.L_fp_gp_lp_init: |
|||
/* Initialization for $fp, $gp, and $lp. The _SDA_BASE_ location |
|||
stands for Small Data Access. */ |
|||
la $fp, _FP_BASE_ |
|||
la $gp, _SDA_BASE_ |
|||
movi $lp, #0 |
|||
|
|||
.L_stack_init: |
|||
/* Initialization for $sp and make sure it is 8-byte aligned. */ |
|||
la $sp, _stack |
|||
movi $r0, #-8 /* Set $r0 as 0xFFFFFFF8. */ |
|||
and $sp, $sp, $r0 |
|||
|
|||
.L_bss_clear: |
|||
/* Clear bss section. */ |
|||
la $r3, _end |
|||
la $r0, _edata |
|||
beq $r0, $r3, .L_call_main /* Branch if no bss. */ |
|||
sub $r1, $r3, $r0 /* Size to be clear. */ |
|||
|
|||
/* Set $r2 as how many words to be clear. |
|||
Set $r1 as how many bytes are less than a woard to be clear. */ |
|||
srli $r2, $r1, #2 |
|||
andi $r1, $r1, #3 |
|||
beqz $r3, .Lbyte_clear |
|||
|
|||
la $r4, #0x00000000 |
|||
.Lword_clear: |
|||
swi.bi $r4, [$r0], #4 |
|||
addi $r2, $r2, #-1 |
|||
bnez $r2, .Lword_clear /* Loop again ? */ |
|||
beqz $r1, .Lend_bss |
|||
|
|||
.Lbyte_clear: |
|||
sbi.bi $r4, [$r0], #1 |
|||
addi $r1, $r1, #-1 |
|||
bnez $r1, .Lbyte_clear |
|||
.Lend_bss: |
|||
|
|||
|
|||
.L_call_main: |
|||
la $r15, main |
|||
jral $r15 |
|||
|
|||
.L_terminate_program: |
|||
/* There are two ways to terminate program: |
|||
1. User "syscall 0x1" directly. |
|||
2. Call exit. The return value $r0 from main() is |
|||
implicitly passed as argument. |
|||
|
|||
Currently, we use option 2 as a solution to follow C99 5.1.2.2.3, |
|||
but aware that general exit() will do some cleanup procedures |
|||
which may result in large-memory-footprints. */ |
|||
la $r15, exit |
|||
jral $r15 |
|||
|
|||
.L_forever_loop: |
|||
/* Should never return here. */ |
|||
b .L_forever_loop |
|||
|
|||
.size _start, .-_start |
|||
@ -0,0 +1,123 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
|
|||
##============================================================================== |
|||
## |
|||
## crt1.S |
|||
## |
|||
## nds32 startup code |
|||
## |
|||
##============================================================================== |
|||
|
|||
|
|||
##------------------------------------------------------------------------------ |
|||
## Vector table setup |
|||
##------------------------------------------------------------------------------ |
|||
.section .nds32_init, "ax" |
|||
j _start |
|||
|
|||
##------------------------------------------------------------------------------ |
|||
## Startup code implementation |
|||
##------------------------------------------------------------------------------ |
|||
.section .text |
|||
.weak _SDA_BASE_ |
|||
.weak _FP_BASE_ |
|||
.global _start |
|||
.type _start, @function |
|||
.align 2 |
|||
_start: |
|||
.L_fp_gp_lp_init: |
|||
/* Initialization for $fp, $gp, and $lp. The _SDA_BASE_ location |
|||
stands for Small Data Access. */ |
|||
la $fp, _FP_BASE_ |
|||
la $gp, _SDA_BASE_ |
|||
movi $lp, #0 |
|||
|
|||
.L_stack_init: |
|||
/* Initialization for $sp and make sure it is 8-byte aligned. */ |
|||
la $sp, _stack |
|||
movi $r0, #-8 /* Set $r0 as 0xFFFFFFF8. */ |
|||
and $sp, $sp, $r0 |
|||
|
|||
.L_bss_clear: |
|||
/* Clear bss section. */ |
|||
la $r3, _end |
|||
la $r0, _edata |
|||
beq $r0, $r3, .L_call_main /* Branch if no bss. */ |
|||
sub $r1, $r3, $r0 /* Size to be clear. */ |
|||
|
|||
/* Set $r2 as how many words to be clear. |
|||
Set $r1 as how many bytes are less than a woard to be clear. */ |
|||
srli $r2, $r1, #2 |
|||
andi $r1, $r1, #3 |
|||
beqz $r3, .Lbyte_clear |
|||
|
|||
la $r4, #0x00000000 |
|||
.Lword_clear: |
|||
swi.bi $r4, [$r0], #4 |
|||
addi $r2, $r2, #-1 |
|||
bnez $r2, .Lword_clear /* Loop again ? */ |
|||
beqz $r1, .Lend_bss |
|||
|
|||
.Lbyte_clear: |
|||
sbi.bi $r4, [$r0], #1 |
|||
addi $r1, $r1, #-1 |
|||
bnez $r1, .Lbyte_clear |
|||
.Lend_bss: |
|||
|
|||
|
|||
.L_call_main: |
|||
/* Call '_init' to invoke constructors. */ |
|||
jal _init |
|||
/* Register '_fini' into atexit() to invoke destructors when |
|||
exit() has been reached. */ |
|||
la $r0, _fini |
|||
jal atexit |
|||
/* Call 'main'. */ |
|||
la $r15, main |
|||
jral $r15 |
|||
|
|||
.L_terminate_program: |
|||
/* There are two ways to terminate program: |
|||
1. User "syscall 0x1" directly. |
|||
2. Call exit. The return value $r0 from main() is |
|||
implicitly passed as argument. |
|||
|
|||
Currently, we use option 2 as a solution to follow C99 5.1.2.2.3, |
|||
but aware that general exit() will do some cleanup procedures |
|||
which may result in large-memory-footprints. */ |
|||
la $r15, exit |
|||
jral $r15 |
|||
|
|||
.L_forever_loop: |
|||
/* Should never return here. */ |
|||
b .L_forever_loop |
|||
|
|||
.size _start, .-_start |
|||
@ -0,0 +1,53 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
|
|||
.extern errno |
|||
|
|||
.section .text |
|||
.global _argv |
|||
.type _argv, @function |
|||
.align 2 |
|||
_argv: |
|||
/* Make syscall 'SYS_argv'. |
|||
Reture value '-1' stored in $r0 means there is something wrong. |
|||
If there is something wrong, make syscall 'SYS_geterr' to get |
|||
error code to see what exactly happens and store it in errno . */ |
|||
syscall SYS_argv |
|||
addi $r1, $r0, 1 |
|||
bnez $r1, .Ldone |
|||
syscall SYS_geterr |
|||
s.w $r0, errno |
|||
movi $r0, -1 |
|||
.Ldone: |
|||
ret |
|||
.size _argv, .-_argv |
|||
@ -0,0 +1,53 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
|
|||
.extern errno |
|||
|
|||
.section .text |
|||
.global _argvlen |
|||
.type _argvlen, @function |
|||
.align 2 |
|||
_argvlen: |
|||
/* Make syscall 'SYS_argvlen'. |
|||
Reture value '-1' stored in $r0 means there is something wrong. |
|||
If there is something wrong, make syscall 'SYS_geterr' to get |
|||
error code to see what exactly happens and store it in errno . */ |
|||
syscall SYS_argvlen |
|||
addi $r1, $r0, 1 |
|||
bnez $r1, .Ldone |
|||
syscall SYS_geterr |
|||
s.w $r0, errno |
|||
movi $r0, -1 |
|||
.Ldone: |
|||
ret |
|||
.size _argvlen, .-_argvlen |
|||
@ -0,0 +1,53 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
|
|||
.extern errno |
|||
|
|||
.section .text |
|||
.global _chdir |
|||
.type _chdir, @function |
|||
.align 2 |
|||
_chdir: |
|||
/* Make syscall 'SYS_chdir'. |
|||
Reture value '-1' stored in $r0 means there is something wrong. |
|||
If there is something wrong, make syscall 'SYS_geterr' to get |
|||
error code to see what exactly happens and store it in errno . */ |
|||
syscall SYS_chdir |
|||
addi $r1, $r0, 1 |
|||
bnez $r1, .Ldone |
|||
syscall SYS_geterr |
|||
s.w $r0, errno |
|||
movi $r0, -1 |
|||
.Ldone: |
|||
ret |
|||
.size _chdir, .-_chdir |
|||
@ -0,0 +1,53 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
|
|||
.extern errno |
|||
|
|||
.section .text |
|||
.global _chmod |
|||
.type _chmod, @function |
|||
.align 2 |
|||
_chmod: |
|||
/* Make syscall 'SYS_chmod'. |
|||
Reture value '-1' stored in $r0 means there is something wrong. |
|||
If there is something wrong, make syscall 'SYS_geterr' to get |
|||
error code to see what exactly happens and store it in errno . */ |
|||
syscall SYS_chmod |
|||
addi $r1, $r0, 1 |
|||
bnez $r1, .Ldone |
|||
syscall SYS_geterr |
|||
s.w $r0, errno |
|||
movi $r0, -1 |
|||
.Ldone: |
|||
ret |
|||
.size _chmod, .-_chmod |
|||
@ -0,0 +1,53 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
|
|||
.extern errno |
|||
|
|||
.section .text |
|||
.global _close |
|||
.type _close, @function |
|||
.align 2 |
|||
_close: |
|||
/* Make syscall 'SYS_close'. |
|||
Reture value '-1' stored in $r0 means there is something wrong. |
|||
If there is something wrong, make syscall 'SYS_geterr' to get |
|||
error code to see what exactly happens and store it in errno . */ |
|||
syscall SYS_close |
|||
addi $r1, $r0, 1 |
|||
bnez $r1, .Ldone |
|||
syscall SYS_geterr |
|||
s.w $r0, errno |
|||
movi $r0, -1 |
|||
.Ldone: |
|||
ret |
|||
.size _close, .-_close |
|||
@ -0,0 +1,39 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "syscall.h" |
|||
|
|||
|
|||
.section .text |
|||
.global _exit |
|||
.type _exit, @function |
|||
.align 2 |
|||
_exit: |
|||
syscall SYS_exit /* Make syscall 'SYS_exit'. */ |
|||
.size _exit, .-_exit |
|||
@ -0,0 +1,41 @@ |
|||
/*
|
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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 _SYSCALL_EXTRA_H |
|||
#define _SYSCALL_EXTRA_H |
|||
|
|||
|
|||
/* These are additional syscalls for nds32 target. */ |
|||
#define SYS_rename 3001 |
|||
#define SYS_isatty 3002 |
|||
#define SYS_system 3003 |
|||
|
|||
#define SYS_geterr 6001 |
|||
|
|||
#endif /* _SYSCALL_EXTRA_H */ |
|||
@ -0,0 +1,53 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
|
|||
.extern errno |
|||
|
|||
.section .text |
|||
.global _fstat |
|||
.type _fstat, @function |
|||
.align 2 |
|||
_fstat: |
|||
/* Make syscall 'SYS_fstat'. |
|||
Reture value '-1' stored in $r0 means there is something wrong. |
|||
If there is something wrong, make syscall 'SYS_geterr' to get |
|||
error code to see what exactly happens and store it in errno . */ |
|||
syscall SYS_fstat |
|||
addi $r1, $r0, 1 |
|||
bnez $r1, .Ldone |
|||
syscall SYS_geterr |
|||
s.w $r0, errno |
|||
movi $r0, -1 |
|||
.Ldone: |
|||
ret |
|||
.size _fstat, .-_fstat |
|||
@ -0,0 +1,53 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
|
|||
.extern errno |
|||
|
|||
.section .text |
|||
.global _getpid |
|||
.type _getpid, @function |
|||
.align 2 |
|||
_getpid: |
|||
/* Make syscall 'SYS_getpid'. |
|||
Reture value '-1' stored in $r0 means there is something wrong. |
|||
If there is something wrong, make syscall 'SYS_geterr' to get |
|||
error code to see what exactly happens and store it in errno . */ |
|||
syscall SYS_getpid |
|||
addi $r1, $r0, 1 |
|||
bnez $r1, .Ldone |
|||
syscall SYS_geterr |
|||
s.w $r0, errno |
|||
movi $r0, -1 |
|||
.Ldone: |
|||
ret |
|||
.size _getpid, .-_getpid |
|||
@ -0,0 +1,53 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
|
|||
.extern errno |
|||
|
|||
.section .text |
|||
.global _gettimeofday |
|||
.type _gettimeofday, @function |
|||
.align 2 |
|||
_gettimeofday: |
|||
/* Make syscall 'SYS_gettimeofday'. |
|||
Reture value '-1' stored in $r0 means there is something wrong. |
|||
If there is something wrong, make syscall 'SYS_geterr' to get |
|||
error code to see what exactly happens and store it in errno . */ |
|||
syscall SYS_gettimeofday |
|||
addi $r1, $r0, 1 |
|||
bnez $r1, .Ldone |
|||
syscall SYS_geterr |
|||
s.w $r0, errno |
|||
movi $r0, -1 |
|||
.Ldone: |
|||
ret |
|||
.size _gettimeofday, .-_gettimeofday |
|||
@ -0,0 +1,53 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
|
|||
.extern errno |
|||
|
|||
.section .text |
|||
.global _isatty |
|||
.type _isatty, @function |
|||
.align 2 |
|||
_isatty: |
|||
/* Make syscall 'SYS_isatty'. |
|||
Reture value '-1' stored in $r0 means there is something wrong. |
|||
If there is something wrong, make syscall 'SYS_geterr' to get |
|||
error code to see what exactly happens and store it in errno . */ |
|||
syscall SYS_isatty |
|||
addi $r1, $r0, 1 |
|||
bnez $r1, .Ldone |
|||
syscall SYS_geterr |
|||
s.w $r0, errno |
|||
movi $r0, -1 |
|||
.Ldone: |
|||
ret |
|||
.size _isatty, .-_isatty |
|||
@ -0,0 +1,53 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
|
|||
.extern errno |
|||
|
|||
.section .text |
|||
.global _kill |
|||
.type _kill, @function |
|||
.align 2 |
|||
_kill: |
|||
/* Make syscall 'SYS_kill'. |
|||
Reture value '-1' stored in $r0 means there is something wrong. |
|||
If there is something wrong, make syscall 'SYS_geterr' to get |
|||
error code to see what exactly happens and store it in errno . */ |
|||
syscall SYS_kill |
|||
addi $r1, $r0, 1 |
|||
bnez $r1, .Ldone |
|||
syscall SYS_geterr |
|||
s.w $r0, errno |
|||
movi $r0, -1 |
|||
.Ldone: |
|||
ret |
|||
.size _kill, .-_kill |
|||
@ -0,0 +1,53 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
|
|||
.extern errno |
|||
|
|||
.section .text |
|||
.global _link |
|||
.type _link, @function |
|||
.align 2 |
|||
_link: |
|||
/* Make syscall 'SYS_link'. |
|||
Reture value '-1' stored in $r0 means there is something wrong. |
|||
If there is something wrong, make syscall 'SYS_geterr' to get |
|||
error code to see what exactly happens and store it in errno . */ |
|||
syscall SYS_link |
|||
addi $r1, $r0, 1 |
|||
bnez $r1, .Ldone |
|||
syscall SYS_geterr |
|||
s.w $r0, errno |
|||
movi $r0, -1 |
|||
.Ldone: |
|||
ret |
|||
.size _link, .-_link |
|||
@ -0,0 +1,53 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
|
|||
.extern errno |
|||
|
|||
.section .text |
|||
.global _lseek |
|||
.type _lseek, @function |
|||
.align 2 |
|||
_lseek: |
|||
/* Make syscall 'SYS_lseek'. |
|||
Reture value '-1' stored in $r0 means there is something wrong. |
|||
If there is something wrong, make syscall 'SYS_geterr' to get |
|||
error code to see what exactly happens and store it in errno . */ |
|||
syscall SYS_lseek |
|||
addi $r1, $r0, 1 |
|||
bnez $r1, .Ldone |
|||
syscall SYS_geterr |
|||
s.w $r0, errno |
|||
movi $r0, -1 |
|||
.Ldone: |
|||
ret |
|||
.size _lseek, .-_lseek |
|||
@ -0,0 +1,53 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
|
|||
.extern errno |
|||
|
|||
.section .text |
|||
.global _open |
|||
.type _open, @function |
|||
.align 2 |
|||
_open: |
|||
/* Make syscall 'SYS_open'. |
|||
Reture value '-1' stored in $r0 means there is something wrong. |
|||
If there is something wrong, make syscall 'SYS_geterr' to get |
|||
error code to see what exactly happens and store it in errno . */ |
|||
syscall SYS_open |
|||
addi $r1, $r0, 1 |
|||
bnez $r1, .Ldone |
|||
syscall SYS_geterr |
|||
s.w $r0, errno |
|||
movi $r0, -1 |
|||
.Ldone: |
|||
ret |
|||
.size _open, .-_open |
|||
@ -0,0 +1,56 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
|
|||
.extern errno |
|||
|
|||
.section .text |
|||
.global _read |
|||
.type _read, @function |
|||
.align 2 |
|||
_read: |
|||
/* Make syscall 'SYS_read'. |
|||
Reture value '-1' stored in $r0 means there is something wrong. |
|||
If there is something wrong, make syscall 'SYS_geterr' to get |
|||
error code to see what exactly happens and store it in errno . */ |
|||
syscall SYS_read |
|||
addi $r1, $r0, 1 |
|||
bnez $r1, .Ldone |
|||
syscall SYS_geterr |
|||
/* Return value '11' stored in $r0 means we need to try again. */ |
|||
addi $r1, $r0, -11 |
|||
beqz $r1, _read |
|||
s.w $r0, errno |
|||
movi $r0, -1 |
|||
.Ldone: |
|||
ret |
|||
.size _read, .-_read |
|||
@ -0,0 +1,53 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
|
|||
.extern errno |
|||
|
|||
.section .text |
|||
.global _rename |
|||
.type _rename, @function |
|||
.align 2 |
|||
_rename: |
|||
/* Make syscall 'SYS_rename'. |
|||
Reture value '-1' stored in $r0 means there is something wrong. |
|||
If there is something wrong, make syscall 'SYS_geterr' to get |
|||
error code to see what exactly happens and store it in errno . */ |
|||
syscall SYS_rename |
|||
addi $r1, $r0, 1 |
|||
bnez $r1, .Ldone |
|||
syscall SYS_geterr |
|||
s.w $r0, errno |
|||
movi $r0, -1 |
|||
.Ldone: |
|||
ret |
|||
.size _rename, .-_rename |
|||
@ -0,0 +1,76 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
.extern _end |
|||
.global _sbrk |
|||
|
|||
.text |
|||
.align 2 |
|||
_sbrk: |
|||
/* Get the value stored in heap_end (Top of Heap). If the value is zero, |
|||
initialize it with the ending of bss section and leave a 1024-byte |
|||
room to do low memory action. */ |
|||
l.w $r1, heap_end |
|||
bnez $r1, .L0 |
|||
/* Note: leave 1024 byte to do low memory action. */ |
|||
la $r1, _end + 1024 |
|||
s.w $r1, heap_end |
|||
|
|||
.L0: |
|||
/* Try to increments heap_end by $r0 bytes. Check if collision happens ? |
|||
If collision happens, -1 is returned and errno is set to ENOMEM. |
|||
Otherwise, save new value to heap_end and return the previous |
|||
heap_end. */ |
|||
|
|||
/* Make sure new heap_end is aligned on 8-byte boundary. */ |
|||
addi $r0, $r0, 7 |
|||
srli $r0, $r0, 3 |
|||
slli $r0, $r0, 3 |
|||
|
|||
add $r0, $r1, $r0 /* Set $r0 as new heap_end. */ |
|||
slt $r2, $sp, $r0 /* Set $r2 if $sp is lower than heap_end. */ |
|||
bnez $r2, .Lerror /* Branch if collision happens. */ |
|||
|
|||
s.w $r0, heap_end /* Save new value to heap_end. */ |
|||
move $r0, $r1 /* Return the previous heap_end. */ |
|||
ret |
|||
|
|||
.Lerror: |
|||
movi $r0, 12 |
|||
s.w $r0, errno /* Set error code: 12 (ENOMEM) to errno. */ |
|||
movi $r0, -1 /* Reture value is -1. */ |
|||
ret |
|||
|
|||
.section .bss |
|||
.align 2 |
|||
heap_end: |
|||
.word 0 |
|||
@ -0,0 +1,53 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
|
|||
.extern errno |
|||
|
|||
.section .text |
|||
.global _stat |
|||
.type _stat, @function |
|||
.align 2 |
|||
_stat: |
|||
/* Make syscall 'SYS_stat'. |
|||
Reture value '-1' stored in $r0 means there is something wrong. |
|||
If there is something wrong, make syscall 'SYS_geterr' to get |
|||
error code to see what exactly happens and store it in errno . */ |
|||
syscall SYS_stat |
|||
addi $r1, $r0, 1 |
|||
bnez $r1, .Ldone |
|||
syscall SYS_geterr |
|||
s.w $r0, errno |
|||
movi $r0, -1 |
|||
.Ldone: |
|||
ret |
|||
.size _stat, .-_stat |
|||
@ -0,0 +1,53 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
|
|||
.extern errno |
|||
|
|||
.section .text |
|||
.global _system |
|||
.type _system, @function |
|||
.align 2 |
|||
_system: |
|||
/* Make syscall 'SYS_system'. |
|||
Reture value '-1' stored in $r0 means there is something wrong. |
|||
If there is something wrong, make syscall 'SYS_geterr' to get |
|||
error code to see what exactly happens and store it in errno . */ |
|||
syscall SYS_system |
|||
addi $r1, $r0, 1 |
|||
bnez $r1, .Ldone |
|||
syscall SYS_geterr |
|||
s.w $r0, errno |
|||
movi $r0, -1 |
|||
.Ldone: |
|||
ret |
|||
.size _system, .-_system |
|||
@ -0,0 +1,53 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
|
|||
.extern errno |
|||
|
|||
.section .text |
|||
.global _time |
|||
.type _time, @function |
|||
.align 2 |
|||
_time: |
|||
/* Make syscall 'SYS_time'. |
|||
Reture value '-1' stored in $r0 means there is something wrong. |
|||
If there is something wrong, make syscall 'SYS_geterr' to get |
|||
error code to see what exactly happens and store it in errno . */ |
|||
syscall SYS_time |
|||
addi $r1, $r0, 1 |
|||
bnez $r1, .Ldone |
|||
syscall SYS_geterr |
|||
s.w $r0, errno |
|||
movi $r0, -1 |
|||
.Ldone: |
|||
ret |
|||
.size _time, .-_time |
|||
@ -0,0 +1,53 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
|
|||
.extern errno |
|||
|
|||
.section .text |
|||
.global _times |
|||
.type _times, @function |
|||
.align 2 |
|||
_times: |
|||
/* Make syscall 'SYS_times'. |
|||
Reture value '-1' stored in $r0 means there is something wrong. |
|||
If there is something wrong, make syscall 'SYS_geterr' to get |
|||
error code to see what exactly happens and store it in errno . */ |
|||
syscall SYS_times |
|||
addi $r1, $r0, 1 |
|||
bnez $r1, .Ldone |
|||
syscall SYS_geterr |
|||
s.w $r0, errno |
|||
movi $r0, -1 |
|||
.Ldone: |
|||
ret |
|||
.size _times, .-_times |
|||
@ -0,0 +1,53 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
|
|||
.extern errno |
|||
|
|||
.section .text |
|||
.global _unlink |
|||
.type _unlink, @function |
|||
.align 2 |
|||
_unlink: |
|||
/* Make syscall 'SYS_unlink'. |
|||
Reture value '-1' stored in $r0 means there is something wrong. |
|||
If there is something wrong, make syscall 'SYS_geterr' to get |
|||
error code to see what exactly happens and store it in errno . */ |
|||
syscall SYS_unlink |
|||
addi $r1, $r0, 1 |
|||
bnez $r1, .Ldone |
|||
syscall SYS_geterr |
|||
s.w $r0, errno |
|||
movi $r0, -1 |
|||
.Ldone: |
|||
ret |
|||
.size _unlink, .-_unlink |
|||
@ -0,0 +1,53 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
|
|||
.extern errno |
|||
|
|||
.section .text |
|||
.global _utime |
|||
.type _utime, @function |
|||
.align 2 |
|||
_utime: |
|||
/* Make syscall 'SYS_utime'. |
|||
Reture value '-1' stored in $r0 means there is something wrong. |
|||
If there is something wrong, make syscall 'SYS_geterr' to get |
|||
error code to see what exactly happens and store it in errno . */ |
|||
syscall SYS_utime |
|||
addi $r1, $r0, 1 |
|||
bnez $r1, .Ldone |
|||
syscall SYS_geterr |
|||
s.w $r0, errno |
|||
movi $r0, -1 |
|||
.Ldone: |
|||
ret |
|||
.size _utime, .-_utime |
|||
@ -0,0 +1,53 @@ |
|||
/* |
|||
Copyright (c) 2013 Andes Technology Corporation. |
|||
All rights reserved. |
|||
|
|||
Redistribution and use in source and binary forms, with or without |
|||
modification, are permitted provided that the following conditions are met: |
|||
|
|||
Redistributions of source code must retain the above copyright |
|||
notice, this list of conditions and the following disclaimer. |
|||
|
|||
Redistributions in binary form must reproduce the above copyright |
|||
notice, this list of conditions and the following disclaimer in the |
|||
documentation and/or other materials provided with the distribution. |
|||
|
|||
The name of the company may not be used to endorse or promote |
|||
products derived from this software without specific prior written |
|||
permission. |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
|||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
|||
DISCLAIMED. IN NO EVENT SHALL RED HAT INCORPORATED BE LIABLE FOR ANY |
|||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
|||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
|||
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. |
|||
*/ |
|||
#include "../syscall.h" |
|||
#include "syscall_extra.h" |
|||
|
|||
|
|||
.extern errno |
|||
|
|||
.section .text |
|||
.global _write |
|||
.type _write, @function |
|||
.align 2 |
|||
_write: |
|||
/* Make syscall 'SYS_write'. |
|||
Reture value '-1' stored in $r0 means there is something wrong. |
|||
If there is something wrong, make syscall 'SYS_geterr' to get |
|||
error code to see what exactly happens and store it in errno . */ |
|||
syscall SYS_write |
|||
addi $r1, $r0, 1 |
|||
bnez $r1, .Ldone |
|||
syscall SYS_geterr |
|||
s.w $r0, errno |
|||
movi $r0, -1 |
|||
.Ldone: |
|||
ret |
|||
.size _write, .-_write |
|||
Loading…
Reference in new issue