import newlib-2000-02-17 snapshot
This commit is contained in:
19
newlib/libc/sys/sysnecv850/Makefile.am
Normal file
19
newlib/libc/sys/sysnecv850/Makefile.am
Normal file
@ -0,0 +1,19 @@
|
||||
## Process this file with automake to generate Makefile.in
|
||||
|
||||
AUTOMAKE_OPTIONS = cygnus
|
||||
|
||||
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
|
||||
|
||||
noinst_LIBRARIES = lib.a
|
||||
|
||||
lib_a_SOURCES = \
|
||||
_exit.c access.c chmod.c chown.c close.c creat.c crt1.c \
|
||||
execv.c execve.c fork.c fstat.c getpid.c isatty.c \
|
||||
kill.c lseek.c open.c pipe.c read.c link.c \
|
||||
sbrk.c stat.c time.c trap.S unlink.c utime.c wait.c write.c \
|
||||
times.c gettime.c
|
||||
|
||||
all: crt0.o
|
||||
|
||||
ACLOCAL_AMFLAGS = -I ../../..
|
||||
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
|
307
newlib/libc/sys/sysnecv850/Makefile.in
Normal file
307
newlib/libc/sys/sysnecv850/Makefile.in
Normal file
@ -0,0 +1,307 @@
|
||||
# Makefile.in generated automatically by automake 1.3 from Makefile.am
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
# This Makefile.in 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.
|
||||
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
srcdir = @srcdir@
|
||||
top_srcdir = @top_srcdir@
|
||||
VPATH = @srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
DISTDIR =
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = .
|
||||
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
host_alias = @host_alias@
|
||||
host_triplet = @host@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
CC = @CC@
|
||||
CPP = @CPP@
|
||||
EXEEXT = @EXEEXT@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
|
||||
PACKAGE = @PACKAGE@
|
||||
RANLIB = @RANLIB@
|
||||
VERSION = @VERSION@
|
||||
machine_dir = @machine_dir@
|
||||
newlib_basedir = @newlib_basedir@
|
||||
sys_dir = @sys_dir@
|
||||
|
||||
AUTOMAKE_OPTIONS = cygnus
|
||||
|
||||
INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
|
||||
|
||||
noinst_LIBRARIES = lib.a
|
||||
|
||||
lib_a_SOURCES = \
|
||||
_exit.c access.c chmod.c chown.c close.c creat.c crt1.c \
|
||||
execv.c execve.c fork.c fstat.c getpid.c isatty.c \
|
||||
kill.c lseek.c open.c pipe.c read.c link.c \
|
||||
sbrk.c stat.c time.c trap.S unlink.c utime.c wait.c write.c \
|
||||
times.c gettime.c
|
||||
|
||||
ACLOCAL_AMFLAGS = -I ../../..
|
||||
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/../../../../mkinstalldirs
|
||||
CONFIG_CLEAN_FILES =
|
||||
LIBRARIES = $(noinst_LIBRARIES)
|
||||
|
||||
|
||||
DEFS = @DEFS@ -I. -I$(srcdir)
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
lib_a_LIBADD =
|
||||
lib_a_OBJECTS = _exit.o access.o chmod.o chown.o close.o creat.o crt1.o \
|
||||
execv.o execve.o fork.o fstat.o getpid.o isatty.o kill.o lseek.o open.o \
|
||||
pipe.o read.o link.o sbrk.o stat.o time.o trap.o unlink.o utime.o \
|
||||
wait.o write.o times.o gettime.o
|
||||
CFLAGS = @CFLAGS@
|
||||
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
|
||||
LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
DIST_COMMON = Makefile.am Makefile.in aclocal.m4 configure configure.in
|
||||
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
GZIP = --best
|
||||
SOURCES = $(lib_a_SOURCES)
|
||||
OBJECTS = $(lib_a_OBJECTS)
|
||||
|
||||
all: Makefile $(LIBRARIES)
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .S .c .o .s
|
||||
$(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
|
||||
cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile
|
||||
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
cd $(top_builddir) \
|
||||
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
|
||||
|
||||
$(ACLOCAL_M4): @MAINT@ configure.in ../../../acinclude.m4 \
|
||||
../../../aclocal.m4
|
||||
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
|
||||
config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
$(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
|
||||
mostlyclean-noinstLIBRARIES:
|
||||
|
||||
clean-noinstLIBRARIES:
|
||||
-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
|
||||
|
||||
distclean-noinstLIBRARIES:
|
||||
|
||||
maintainer-clean-noinstLIBRARIES:
|
||||
|
||||
.c.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
.s.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
.S.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.o core *.core
|
||||
|
||||
clean-compile:
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
maintainer-clean-compile:
|
||||
|
||||
lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
|
||||
-rm -f lib.a
|
||||
$(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
|
||||
$(RANLIB) lib.a
|
||||
|
||||
tags: TAGS
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP)
|
||||
here=`pwd` && cd $(srcdir) \
|
||||
&& mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS)'; \
|
||||
unique=`for i in $$list; do echo $$i; done | \
|
||||
awk ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
|
||||
|| (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
|
||||
|
||||
mostlyclean-tags:
|
||||
|
||||
clean-tags:
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID
|
||||
|
||||
maintainer-clean-tags:
|
||||
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
-rm -rf $(distdir)
|
||||
GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz
|
||||
mkdir $(distdir)/=build
|
||||
mkdir $(distdir)/=inst
|
||||
dc_install_base=`cd $(distdir)/=inst && pwd`; \
|
||||
cd $(distdir)/=build \
|
||||
&& ../configure --srcdir=.. --prefix=$$dc_install_base \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist
|
||||
-rm -rf $(distdir)
|
||||
@echo "========================"; \
|
||||
echo "$(distdir).tar.gz is ready for distribution"; \
|
||||
echo "========================"
|
||||
dist: distdir
|
||||
-chmod -R a+r $(distdir)
|
||||
GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
|
||||
-rm -rf $(distdir)
|
||||
dist-all: distdir
|
||||
-chmod -R a+r $(distdir)
|
||||
GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir)
|
||||
-rm -rf $(distdir)
|
||||
distdir: $(DISTFILES)
|
||||
-rm -rf $(distdir)
|
||||
mkdir $(distdir)
|
||||
-chmod 777 $(distdir)
|
||||
@for file in $(DISTFILES); do \
|
||||
if test -f $$file; then d=.; else d=$(srcdir); fi; \
|
||||
test -f $(distdir)/$$file \
|
||||
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file; \
|
||||
done
|
||||
info:
|
||||
dvi:
|
||||
check:
|
||||
$(MAKE) $(AM_MAKEFLAGS)
|
||||
installcheck:
|
||||
install-info:
|
||||
install-exec:
|
||||
@$(NORMAL_INSTALL)
|
||||
|
||||
install-data:
|
||||
@$(NORMAL_INSTALL)
|
||||
|
||||
install: install-exec install-data all
|
||||
@:
|
||||
|
||||
uninstall:
|
||||
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
|
||||
installdirs:
|
||||
|
||||
|
||||
mostlyclean-generic:
|
||||
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(DISTCLEANFILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
|
||||
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
|
||||
mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
|
||||
mostlyclean-tags mostlyclean-generic
|
||||
|
||||
clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
|
||||
mostlyclean
|
||||
|
||||
distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
|
||||
distclean-generic clean
|
||||
-rm -f config.status
|
||||
|
||||
maintainer-clean: maintainer-clean-noinstLIBRARIES \
|
||||
maintainer-clean-compile maintainer-clean-tags \
|
||||
maintainer-clean-generic distclean
|
||||
@echo "This command is intended for maintainers to use;"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
-rm -f config.status
|
||||
|
||||
.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
|
||||
clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
|
||||
mostlyclean-compile distclean-compile clean-compile \
|
||||
maintainer-clean-compile tags mostlyclean-tags distclean-tags \
|
||||
clean-tags maintainer-clean-tags distdir info dvi installcheck \
|
||||
install-info install-exec install-data install uninstall all \
|
||||
installdirs mostlyclean-generic distclean-generic clean-generic \
|
||||
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
|
||||
|
||||
|
||||
all: crt0.o
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
34
newlib/libc/sys/sysnecv850/_exit.c
Normal file
34
newlib/libc/sys/sysnecv850/_exit.c
Normal file
@ -0,0 +1,34 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
static void _do_dtors()
|
||||
{
|
||||
/* The loop variable is static so that if a destructor calls exit,
|
||||
and we return here, we simply continue with the next destructor. */
|
||||
typedef void (*pfunc) ();
|
||||
extern pfunc __dtors[];
|
||||
extern pfunc __dtors_end[];
|
||||
static pfunc *p = __dtors;
|
||||
|
||||
while (p < __dtors_end)
|
||||
(*p++) ();
|
||||
}
|
||||
|
||||
|
||||
void _exit (n)
|
||||
{
|
||||
/* Destructors should be done earlier because they need to be done before the
|
||||
files are closed, but here is better than nowhere (and this balances the
|
||||
constructors done in crt1.c. */
|
||||
_do_dtors();
|
||||
|
||||
TRAP0 (SYS_exit, n, 0, 0);
|
||||
}
|
34
newlib/libc/sys/sysnecv850/access.c
Normal file
34
newlib/libc/sys/sysnecv850/access.c
Normal file
@ -0,0 +1,34 @@
|
||||
/* This is file ACCESS.C */
|
||||
/*
|
||||
** Copyright (C) 1993 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
|
||||
**
|
||||
** This file is distributed under the terms listed in the document
|
||||
** "copying.dj", available from DJ Delorie at the address above.
|
||||
** A copy of "copying.dj" should accompany this file; if not, a copy
|
||||
** should be available from where this file was obtained. This file
|
||||
** may not be distributed without a verbatim copy of "copying.dj".
|
||||
**
|
||||
** This file is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*/
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int access(const char *fn, int flags)
|
||||
{
|
||||
struct stat s;
|
||||
if (stat(fn, &s))
|
||||
return -1;
|
||||
if (s.st_mode & S_IFDIR)
|
||||
return 0;
|
||||
if (flags & W_OK)
|
||||
{
|
||||
if (s.st_mode & S_IWRITE)
|
||||
return 0;
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
282
newlib/libc/sys/sysnecv850/aclocal.m4
vendored
Normal file
282
newlib/libc/sys/sysnecv850/aclocal.m4
vendored
Normal file
@ -0,0 +1,282 @@
|
||||
dnl aclocal.m4 generated automatically by aclocal 1.4
|
||||
|
||||
dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl This program is distributed in the hope that it will be useful,
|
||||
dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
dnl PARTICULAR PURPOSE.
|
||||
|
||||
dnl This provides configure definitions used by all the newlib
|
||||
dnl configure.in files.
|
||||
|
||||
dnl Basic newlib configury. This calls basic introductory stuff,
|
||||
dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs
|
||||
dnl configure.host. The only argument is the relative path to the top
|
||||
dnl newlib directory.
|
||||
|
||||
AC_DEFUN(NEWLIB_CONFIGURE,
|
||||
[
|
||||
dnl Default to --enable-multilib
|
||||
AC_ARG_ENABLE(multilib,
|
||||
[ --enable-multilib build many library versions (default)],
|
||||
[case "${enableval}" in
|
||||
yes) multilib=yes ;;
|
||||
no) multilib=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
|
||||
esac], [multilib=yes])dnl
|
||||
|
||||
dnl Support --enable-target-optspace
|
||||
AC_ARG_ENABLE(target-optspace,
|
||||
[ --enable-target-optspace optimize for space],
|
||||
[case "${enableval}" in
|
||||
yes) target_optspace=yes ;;
|
||||
no) target_optspace=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for target-optspace option) ;;
|
||||
esac], [target_optspace=])dnl
|
||||
|
||||
dnl Support --enable-newlib-mb
|
||||
AC_ARG_ENABLE(newlib-mb,
|
||||
[ --enable-newlib-mb enable multibyte support],
|
||||
[case "${enableval}" in
|
||||
yes) newlib_mb=yes ;;
|
||||
no) newlib_mb=no ;;
|
||||
*) AC_MSG_ERROR(bad value ${enableval} for newlib-mb option) ;;
|
||||
esac], [newlib_mb=no])dnl
|
||||
|
||||
dnl We may get other options which we don't document:
|
||||
dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
|
||||
|
||||
test -z "[$]{with_target_subdir}" && with_target_subdir=.
|
||||
|
||||
if test "[$]{srcdir}" = "."; then
|
||||
if test "[$]{with_target_subdir}" != "."; then
|
||||
newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
|
||||
else
|
||||
newlib_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
|
||||
fi
|
||||
else
|
||||
newlib_basedir="[$]{srcdir}/$1"
|
||||
fi
|
||||
AC_SUBST(newlib_basedir)
|
||||
|
||||
AC_CANONICAL_HOST
|
||||
|
||||
AM_INIT_AUTOMAKE(newlib, 1.8.1)
|
||||
|
||||
# FIXME: We temporarily define our own version of AC_PROG_CC. This is
|
||||
# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
|
||||
# are probably using a cross compiler, which will not be able to fully
|
||||
# link an executable. This should really be fixed in autoconf
|
||||
# itself.
|
||||
|
||||
AC_DEFUN(LIB_AC_PROG_CC,
|
||||
[AC_BEFORE([$0], [AC_PROG_CPP])dnl
|
||||
AC_CHECK_PROG(CC, gcc, gcc)
|
||||
if test -z "$CC"; then
|
||||
AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
|
||||
test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
|
||||
fi
|
||||
|
||||
AC_PROG_CC_GNU
|
||||
|
||||
if test $ac_cv_prog_gcc = yes; then
|
||||
GCC=yes
|
||||
dnl Check whether -g works, even if CFLAGS is set, in case the package
|
||||
dnl plays around with CFLAGS (such as to build both debugging and
|
||||
dnl normal versions of a library), tasteless as that idea is.
|
||||
ac_test_CFLAGS="${CFLAGS+set}"
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
CFLAGS=
|
||||
AC_PROG_CC_G
|
||||
if test "$ac_test_CFLAGS" = set; then
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
elif test $ac_cv_prog_cc_g = yes; then
|
||||
CFLAGS="-g -O2"
|
||||
else
|
||||
CFLAGS="-O2"
|
||||
fi
|
||||
else
|
||||
GCC=
|
||||
test "${CFLAGS+set}" = set || CFLAGS="-g"
|
||||
fi
|
||||
])
|
||||
|
||||
LIB_AC_PROG_CC
|
||||
|
||||
# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we don't
|
||||
# run it explicitly here, it will be run implicitly before
|
||||
# NEWLIB_CONFIGURE, which doesn't work because that means that it will
|
||||
# be run before AC_CANONICAL_HOST.
|
||||
AC_CANONICAL_BUILD
|
||||
|
||||
AC_CHECK_TOOL(AS, as)
|
||||
AC_CHECK_TOOL(AR, ar)
|
||||
AC_CHECK_TOOL(RANLIB, ranlib, :)
|
||||
|
||||
AC_PROG_INSTALL
|
||||
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
|
||||
# at least currently, we never actually build a program, so we never
|
||||
# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
|
||||
# fails, because we are probably configuring with a cross compiler
|
||||
# which can't create executables. So we include AC_EXEEXT to keep
|
||||
# automake happy, but we don't execute it, since we don't care about
|
||||
# the result.
|
||||
if false; then
|
||||
AC_EXEEXT
|
||||
fi
|
||||
|
||||
. [$]{newlib_basedir}/configure.host
|
||||
|
||||
case [$]{newlib_basedir} in
|
||||
/* | [A-Za-z]:[/\\]*) newlib_flagbasedir=[$]{newlib_basedir} ;;
|
||||
*) newlib_flagbasedir='[$](top_builddir)/'[$]{newlib_basedir} ;;
|
||||
esac
|
||||
|
||||
newlib_cflags="[$]{newlib_cflags} -I"'[$](top_builddir)'"/$1/targ-include -I[$]{newlib_flagbasedir}/libc/include"
|
||||
case "${host}" in
|
||||
*-*-cygwin*)
|
||||
newlib_cflags="[$]{newlib_cflags} -I[$]{newlib_flagbasedir}/../winsup/cygwin/include -I[$]{newlib_flagbasedir}/../winsup/w32api/include"
|
||||
;;
|
||||
esac
|
||||
|
||||
newlib_cflags="[$]{newlib_cflags} -fno-builtin"
|
||||
|
||||
NEWLIB_CFLAGS=${newlib_cflags}
|
||||
AC_SUBST(NEWLIB_CFLAGS)
|
||||
|
||||
AC_SUBST(machine_dir)
|
||||
AC_SUBST(sys_dir)
|
||||
])
|
||||
|
||||
# Do all the work for Automake. This macro actually does too much --
|
||||
# some checks are only needed if your package does certain things.
|
||||
# But this isn't really a big deal.
|
||||
|
||||
# serial 1
|
||||
|
||||
dnl Usage:
|
||||
dnl AM_INIT_AUTOMAKE(package,version, [no-define])
|
||||
|
||||
AC_DEFUN(AM_INIT_AUTOMAKE,
|
||||
[AC_REQUIRE([AC_PROG_INSTALL])
|
||||
PACKAGE=[$1]
|
||||
AC_SUBST(PACKAGE)
|
||||
VERSION=[$2]
|
||||
AC_SUBST(VERSION)
|
||||
dnl test to see if srcdir already configured
|
||||
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
|
||||
AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
|
||||
fi
|
||||
ifelse([$3],,
|
||||
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
|
||||
AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
|
||||
AC_REQUIRE([AM_SANITY_CHECK])
|
||||
AC_REQUIRE([AC_ARG_PROGRAM])
|
||||
dnl FIXME This is truly gross.
|
||||
missing_dir=`cd $ac_aux_dir && pwd`
|
||||
AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
|
||||
AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
|
||||
AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
|
||||
AC_REQUIRE([AC_PROG_MAKE_SET])])
|
||||
|
||||
#
|
||||
# Check to make sure that the build environment is sane.
|
||||
#
|
||||
|
||||
AC_DEFUN(AM_SANITY_CHECK,
|
||||
[AC_MSG_CHECKING([whether build environment is sane])
|
||||
# Just in case
|
||||
sleep 1
|
||||
echo timestamp > conftestfile
|
||||
# Do `set' in a subshell so we don't clobber the current shell's
|
||||
# arguments. Must try -L first in case configure is actually a
|
||||
# symlink; some systems play weird games with the mod time of symlinks
|
||||
# (eg FreeBSD returns the mod time of the symlink's containing
|
||||
# directory).
|
||||
if (
|
||||
set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
|
||||
if test "[$]*" = "X"; then
|
||||
# -L didn't work.
|
||||
set X `ls -t $srcdir/configure conftestfile`
|
||||
fi
|
||||
if test "[$]*" != "X $srcdir/configure conftestfile" \
|
||||
&& test "[$]*" != "X conftestfile $srcdir/configure"; then
|
||||
|
||||
# If neither matched, then we have a broken ls. This can happen
|
||||
# if, for instance, CONFIG_SHELL is bash and it inherits a
|
||||
# broken ls alias from the environment. This has actually
|
||||
# happened. Such a system could not be considered "sane".
|
||||
AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
|
||||
alias in your environment])
|
||||
fi
|
||||
|
||||
test "[$]2" = conftestfile
|
||||
)
|
||||
then
|
||||
# Ok.
|
||||
:
|
||||
else
|
||||
AC_MSG_ERROR([newly created file is older than distributed files!
|
||||
Check your system clock])
|
||||
fi
|
||||
rm -f conftest*
|
||||
AC_MSG_RESULT(yes)])
|
||||
|
||||
dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
|
||||
dnl The program must properly implement --version.
|
||||
AC_DEFUN(AM_MISSING_PROG,
|
||||
[AC_MSG_CHECKING(for working $2)
|
||||
# Run test in a subshell; some versions of sh will print an error if
|
||||
# an executable is not found, even if stderr is redirected.
|
||||
# Redirect stdin to placate older versions of autoconf. Sigh.
|
||||
if ($2 --version) < /dev/null > /dev/null 2>&1; then
|
||||
$1=$2
|
||||
AC_MSG_RESULT(found)
|
||||
else
|
||||
$1="$3/missing $2"
|
||||
AC_MSG_RESULT(missing)
|
||||
fi
|
||||
AC_SUBST($1)])
|
||||
|
||||
# Add --enable-maintainer-mode option to configure.
|
||||
# From Jim Meyering
|
||||
|
||||
# serial 1
|
||||
|
||||
AC_DEFUN(AM_MAINTAINER_MODE,
|
||||
[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
||||
dnl maintainer-mode is disabled by default
|
||||
AC_ARG_ENABLE(maintainer-mode,
|
||||
[ --enable-maintainer-mode enable make rules and dependencies not useful
|
||||
(and sometimes confusing) to the casual installer],
|
||||
USE_MAINTAINER_MODE=$enableval,
|
||||
USE_MAINTAINER_MODE=no)
|
||||
AC_MSG_RESULT($USE_MAINTAINER_MODE)
|
||||
AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
|
||||
MAINT=$MAINTAINER_MODE_TRUE
|
||||
AC_SUBST(MAINT)dnl
|
||||
]
|
||||
)
|
||||
|
||||
# Define a conditional.
|
||||
|
||||
AC_DEFUN(AM_CONDITIONAL,
|
||||
[AC_SUBST($1_TRUE)
|
||||
AC_SUBST($1_FALSE)
|
||||
if $2; then
|
||||
$1_TRUE=
|
||||
$1_FALSE='#'
|
||||
else
|
||||
$1_TRUE='#'
|
||||
$1_FALSE=
|
||||
fi])
|
||||
|
16
newlib/libc/sys/sysnecv850/chmod.c
Normal file
16
newlib/libc/sys/sysnecv850/chmod.c
Normal file
@ -0,0 +1,16 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
int
|
||||
chmod (const char *path, mode_t mode)
|
||||
{
|
||||
return TRAP0 (SYS_chmod, path, mode, 0);
|
||||
}
|
16
newlib/libc/sys/sysnecv850/chown.c
Normal file
16
newlib/libc/sys/sysnecv850/chown.c
Normal file
@ -0,0 +1,16 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
int
|
||||
chown (const char *path, short owner, short group)
|
||||
{
|
||||
return TRAP0 (SYS_chown, path, owner, group);
|
||||
}
|
16
newlib/libc/sys/sysnecv850/close.c
Normal file
16
newlib/libc/sys/sysnecv850/close.c
Normal file
@ -0,0 +1,16 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
int
|
||||
_close (int file)
|
||||
{
|
||||
return TRAP0 (SYS_close, file, 0, 0);
|
||||
}
|
1687
newlib/libc/sys/sysnecv850/configure
vendored
Executable file
1687
newlib/libc/sys/sysnecv850/configure
vendored
Executable file
File diff suppressed because it is too large
Load Diff
12
newlib/libc/sys/sysnecv850/configure.in
Normal file
12
newlib/libc/sys/sysnecv850/configure.in
Normal file
@ -0,0 +1,12 @@
|
||||
dnl This is the newlib/libc/sys/sysnecv850 configure.in file.
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.5)
|
||||
AC_INIT(crt1.c)
|
||||
|
||||
dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
|
||||
AC_CONFIG_AUX_DIR(../../../..)
|
||||
|
||||
NEWLIB_CONFIGURE(../../..)
|
||||
|
||||
AC_OUTPUT(Makefile)
|
17
newlib/libc/sys/sysnecv850/creat.c
Normal file
17
newlib/libc/sys/sysnecv850/creat.c
Normal file
@ -0,0 +1,17 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
int
|
||||
creat (const char *path,
|
||||
int mode)
|
||||
{
|
||||
return TRAP0 (SYS_creat, path, mode, 0);
|
||||
}
|
77
newlib/libc/sys/sysnecv850/crt0.S
Normal file
77
newlib/libc/sys/sysnecv850/crt0.S
Normal file
@ -0,0 +1,77 @@
|
||||
# NEC V850 startup code
|
||||
|
||||
.section .text
|
||||
.global _start
|
||||
|
||||
_start:
|
||||
|
||||
#if defined __v850e__ || defined __v850ea__
|
||||
|
||||
movea 255, r0, r20
|
||||
mov 65535, r21
|
||||
mov hilo(_stack), sp
|
||||
mov hilo(__ep), ep
|
||||
mov hilo(__gp), gp
|
||||
mov hilo(__ctbp), r6
|
||||
ldsr r6, ctbp
|
||||
mov hilo(_edata), r6
|
||||
mov hilo(_end), r7
|
||||
.L0:
|
||||
st.w r0, 0[r6]
|
||||
addi 4, r6, r6
|
||||
cmp r7, r6
|
||||
bl .L0
|
||||
.L1:
|
||||
jarl ___main, r31
|
||||
addi -12, sp, sp
|
||||
mov 0, r6
|
||||
mov 0, r7
|
||||
mov 0, r8
|
||||
jarl _main, r31
|
||||
mov r10, r6
|
||||
jarl _exit, r31
|
||||
|
||||
# else
|
||||
movea 255, r0, r20
|
||||
mov r0, r21
|
||||
ori 65535, r0, r21
|
||||
movhi hi(_stack), r0, sp
|
||||
movea lo(_stack), sp, sp
|
||||
movhi hi(__ep), r0, ep
|
||||
movea lo(__ep), ep, ep
|
||||
movhi hi(__gp), r0, gp
|
||||
movea lo(__gp), gp, gp
|
||||
|
||||
/* Initialise the call table base pointer.
|
||||
We do this even though we are supposedly
|
||||
assembling this file for the v850 as this
|
||||
allows us to use the same binary for all
|
||||
versions of the v850 architecture. */
|
||||
|
||||
movhi hi(__ctbp), r0, r6
|
||||
movea lo(__ctbp), r6, r6
|
||||
ldsr r6, ctbp
|
||||
|
||||
movhi hi(_edata), r0, r6
|
||||
movea lo(_edata), r6, r6
|
||||
movhi hi(_end), r0, r7
|
||||
movea lo(_end), r7, r7
|
||||
.L0:
|
||||
st.b r0, 0[r6]
|
||||
addi 1, r6, r6
|
||||
cmp r7, r6
|
||||
bl .L0
|
||||
.L1:
|
||||
jarl ___main, r31
|
||||
addi -12, sp, sp
|
||||
mov 0, r6
|
||||
mov 0, r7
|
||||
mov 0, r8
|
||||
jarl _main, r31
|
||||
mov r10, r6
|
||||
jarl _exit, r31
|
||||
|
||||
# endif
|
||||
|
||||
.section .stack
|
||||
_stack: .long 1
|
16
newlib/libc/sys/sysnecv850/crt1.c
Normal file
16
newlib/libc/sys/sysnecv850/crt1.c
Normal file
@ -0,0 +1,16 @@
|
||||
void __main ()
|
||||
{
|
||||
static int initialized;
|
||||
if (! initialized)
|
||||
{
|
||||
typedef void (*pfunc) ();
|
||||
extern pfunc __ctors[];
|
||||
extern pfunc __ctors_end[];
|
||||
pfunc *p;
|
||||
|
||||
initialized = 1;
|
||||
for (p = __ctors_end; p > __ctors; )
|
||||
(*--p) ();
|
||||
|
||||
}
|
||||
}
|
16
newlib/libc/sys/sysnecv850/execv.c
Normal file
16
newlib/libc/sys/sysnecv850/execv.c
Normal file
@ -0,0 +1,16 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
int
|
||||
execv (const char *path, char *const argv[])
|
||||
{
|
||||
return TRAP0 (SYS_execv, path, argv, 0);
|
||||
}
|
16
newlib/libc/sys/sysnecv850/execve.c
Normal file
16
newlib/libc/sys/sysnecv850/execve.c
Normal file
@ -0,0 +1,16 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
int
|
||||
_execve (const char *path, char *const argv[], char *const envp[])
|
||||
{
|
||||
return TRAP0 (SYS_execve, path, argv, envp);
|
||||
}
|
16
newlib/libc/sys/sysnecv850/fork.c
Normal file
16
newlib/libc/sys/sysnecv850/fork.c
Normal file
@ -0,0 +1,16 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
int
|
||||
_fork ()
|
||||
{
|
||||
return TRAP0 (SYS_fork, 0, 0, 0);
|
||||
}
|
18
newlib/libc/sys/sysnecv850/fstat.c
Normal file
18
newlib/libc/sys/sysnecv850/fstat.c
Normal file
@ -0,0 +1,18 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
int
|
||||
_fstat (int file,
|
||||
struct stat *st)
|
||||
{
|
||||
st->st_mode = S_IFCHR;
|
||||
return 0;
|
||||
}
|
15
newlib/libc/sys/sysnecv850/getpid.c
Normal file
15
newlib/libc/sys/sysnecv850/getpid.c
Normal file
@ -0,0 +1,15 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
_getpid (n)
|
||||
{
|
||||
return 1;
|
||||
}
|
17
newlib/libc/sys/sysnecv850/gettime.c
Normal file
17
newlib/libc/sys/sysnecv850/gettime.c
Normal file
@ -0,0 +1,17 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
#include "sys/time.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
int
|
||||
_gettimeofday (struct timeval *tp, void *tzp)
|
||||
{
|
||||
return TRAP0 (SYS_gettimeofday, tp, tzp, 0);
|
||||
}
|
16
newlib/libc/sys/sysnecv850/isatty.c
Normal file
16
newlib/libc/sys/sysnecv850/isatty.c
Normal file
@ -0,0 +1,16 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
isatty (fd)
|
||||
int fd;
|
||||
{
|
||||
return 1;
|
||||
}
|
19
newlib/libc/sys/sysnecv850/kill.c
Normal file
19
newlib/libc/sys/sysnecv850/kill.c
Normal file
@ -0,0 +1,19 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
#include <reent.h>
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
_kill (pid, sig)
|
||||
pid_t pid;
|
||||
int sig;
|
||||
{
|
||||
return TRAP0 (SYS_exit, 0xdead0000 | sig, 0, 0);
|
||||
}
|
||||
|
16
newlib/libc/sys/sysnecv850/link.c
Normal file
16
newlib/libc/sys/sysnecv850/link.c
Normal file
@ -0,0 +1,16 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
int
|
||||
_link ()
|
||||
{
|
||||
return -1;
|
||||
}
|
18
newlib/libc/sys/sysnecv850/lseek.c
Normal file
18
newlib/libc/sys/sysnecv850/lseek.c
Normal file
@ -0,0 +1,18 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
int
|
||||
_lseek (int file,
|
||||
int ptr,
|
||||
int dir)
|
||||
{
|
||||
return TRAP0 (SYS_lseek, file, ptr, dir);
|
||||
}
|
17
newlib/libc/sys/sysnecv850/open.c
Normal file
17
newlib/libc/sys/sysnecv850/open.c
Normal file
@ -0,0 +1,17 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
int
|
||||
_open (const char *path,
|
||||
int flags)
|
||||
{
|
||||
return TRAP0 (SYS_open, path, flags, 0);
|
||||
}
|
16
newlib/libc/sys/sysnecv850/pipe.c
Normal file
16
newlib/libc/sys/sysnecv850/pipe.c
Normal file
@ -0,0 +1,16 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
int
|
||||
pipe (int *fd)
|
||||
{
|
||||
return TRAP0 (SYS_pipe, fd, 0, 0);
|
||||
}
|
17
newlib/libc/sys/sysnecv850/read.c
Normal file
17
newlib/libc/sys/sysnecv850/read.c
Normal file
@ -0,0 +1,17 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
_read (int file,
|
||||
char *ptr,
|
||||
int len)
|
||||
{
|
||||
return TRAP0 (SYS_read, file, ptr, len);
|
||||
}
|
36
newlib/libc/sys/sysnecv850/sbrk.c
Normal file
36
newlib/libc/sys/sysnecv850/sbrk.c
Normal file
@ -0,0 +1,36 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
caddr_t
|
||||
_sbrk (int incr)
|
||||
{
|
||||
extern char end; /* Defined by the linker */
|
||||
static char *heap_end;
|
||||
char *prev_heap_end;
|
||||
#if 0
|
||||
char *sp = (char *)stack_ptr;
|
||||
#else
|
||||
char *sp = (char *)&sp;
|
||||
#endif
|
||||
|
||||
if (heap_end == 0)
|
||||
{
|
||||
heap_end = &end;
|
||||
}
|
||||
prev_heap_end = heap_end;
|
||||
if (heap_end + incr > sp)
|
||||
{
|
||||
_write (1, "Heap and stack collision\n", 25);
|
||||
abort ();
|
||||
}
|
||||
heap_end += incr;
|
||||
return (caddr_t) prev_heap_end;
|
||||
}
|
17
newlib/libc/sys/sysnecv850/stat.c
Normal file
17
newlib/libc/sys/sysnecv850/stat.c
Normal file
@ -0,0 +1,17 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
int
|
||||
_stat (const char *path, struct stat *st)
|
||||
|
||||
{
|
||||
return TRAP0 (SYS_stat, path, st, 0);
|
||||
}
|
35
newlib/libc/sys/sysnecv850/sys/syscall.h
Normal file
35
newlib/libc/sys/sysnecv850/sys/syscall.h
Normal file
@ -0,0 +1,35 @@
|
||||
#define SYS_exit 1
|
||||
#define SYS_fork 2
|
||||
|
||||
#define SYS_read 3
|
||||
#define SYS_write 4
|
||||
#define SYS_open 5
|
||||
#define SYS_close 6
|
||||
#define SYS_wait4 7
|
||||
#define SYS_creat 8
|
||||
#define SYS_link 9
|
||||
#define SYS_unlink 10
|
||||
#define SYS_execv 11
|
||||
#define SYS_chdir 12
|
||||
#define SYS_mknod 14
|
||||
#define SYS_chmod 15
|
||||
#define SYS_chown 16
|
||||
#define SYS_lseek 19
|
||||
#define SYS_getpid 20
|
||||
#define SYS_isatty 21
|
||||
#define SYS_fstat 22
|
||||
#define SYS_time 23
|
||||
|
||||
|
||||
#define SYS_ARG 24
|
||||
#define SYS_stat 38
|
||||
|
||||
|
||||
#define SYS_pipe 42
|
||||
#define SYS_execve 59
|
||||
#define SYS_times 43
|
||||
#define SYS_gettimeofday 116
|
||||
|
||||
#define SYS_utime 201 /* not really a system call */
|
||||
#define SYS_wait 202 /* nor is this */
|
||||
|
16
newlib/libc/sys/sysnecv850/time.c
Normal file
16
newlib/libc/sys/sysnecv850/time.c
Normal file
@ -0,0 +1,16 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
time_t
|
||||
time (time_t *tloc)
|
||||
{
|
||||
return TRAP0 (SYS_time, tloc, 0, 0);
|
||||
}
|
17
newlib/libc/sys/sysnecv850/times.c
Normal file
17
newlib/libc/sys/sysnecv850/times.c
Normal file
@ -0,0 +1,17 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
#include "sys/times.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
clock_t
|
||||
_times (struct tms *buffer)
|
||||
{
|
||||
return TRAP0 (SYS_times, buffer, 0, 0);
|
||||
}
|
10
newlib/libc/sys/sysnecv850/trap.S
Normal file
10
newlib/libc/sys/sysnecv850/trap.S
Normal file
@ -0,0 +1,10 @@
|
||||
.text
|
||||
.global ___trap0
|
||||
___trap0:
|
||||
trap 31
|
||||
tst r10,r10
|
||||
bz .L0
|
||||
movhi hi(_errno),r0,r6
|
||||
st.w r10,lo(_errno)[r6]
|
||||
.L0:
|
||||
jmp [r31]
|
16
newlib/libc/sys/sysnecv850/unlink.c
Normal file
16
newlib/libc/sys/sysnecv850/unlink.c
Normal file
@ -0,0 +1,16 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
int
|
||||
_unlink ()
|
||||
{
|
||||
return -1;
|
||||
}
|
18
newlib/libc/sys/sysnecv850/utime.c
Normal file
18
newlib/libc/sys/sysnecv850/utime.c
Normal file
@ -0,0 +1,18 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
int
|
||||
utime (path, times)
|
||||
const char *path;
|
||||
char *times;
|
||||
{
|
||||
return TRAP0 (SYS_utime, path, times, 0);
|
||||
}
|
17
newlib/libc/sys/sysnecv850/wait.c
Normal file
17
newlib/libc/sys/sysnecv850/wait.c
Normal file
@ -0,0 +1,17 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
int
|
||||
_wait (statusp)
|
||||
int *statusp;
|
||||
{
|
||||
return TRAP0 (SYS_wait, 0, 0, 0);
|
||||
}
|
18
newlib/libc/sys/sysnecv850/write.c
Normal file
18
newlib/libc/sys/sysnecv850/write.c
Normal file
@ -0,0 +1,18 @@
|
||||
#include <_ansi.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include "sys/syscall.h"
|
||||
|
||||
int errno;
|
||||
|
||||
int __trap0 (int function, int p1, int p2, int p3);
|
||||
|
||||
#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3))
|
||||
|
||||
int
|
||||
_write ( int file,
|
||||
char *ptr,
|
||||
int len)
|
||||
{
|
||||
return TRAP0 (SYS_write, file, ptr, len);
|
||||
}
|
Reference in New Issue
Block a user