2001-01-18 Jeff Johnston <jjohnstn@redhat.com>
* libc/sys/arc/Makefile.am: New file. * libc/sys/arc/Makefile.in: Ditto. * libc/sys/arc/aclocal.m4: Ditto. * libc/sys/arc/configure: Ditto. * libc/sys/arc/configure.in: Ditto. * libc/sys/arc/crt0.S: Ditto. * libc/sys/arc/isatty.c: Ditto. * libc/sys/arc/mem-layout.c: Ditto. * libc/sys/arc/sbrk.c: Ditto. * libc/sys/arc/syscalls.c: Ditto. * libc/sys/arc/sys/syscall.h: Ditto.
This commit is contained in:
parent
74a3cd0a4f
commit
a302b48c21
|
@ -1,3 +1,17 @@
|
||||||
|
2001-01-18 Jeff Johnston <jjohnstn@redhat.com>
|
||||||
|
|
||||||
|
* libc/sys/arc/Makefile.am: New file.
|
||||||
|
* libc/sys/arc/Makefile.in: Ditto.
|
||||||
|
* libc/sys/arc/aclocal.m4: Ditto.
|
||||||
|
* libc/sys/arc/configure: Ditto.
|
||||||
|
* libc/sys/arc/configure.in: Ditto.
|
||||||
|
* libc/sys/arc/crt0.S: Ditto.
|
||||||
|
* libc/sys/arc/isatty.c: Ditto.
|
||||||
|
* libc/sys/arc/mem-layout.c: Ditto.
|
||||||
|
* libc/sys/arc/sbrk.c: Ditto.
|
||||||
|
* libc/sys/arc/syscalls.c: Ditto.
|
||||||
|
* libc/sys/arc/sys/syscall.h: Ditto.
|
||||||
|
|
||||||
Wed Jan 17 23:20:56 2001 Christopher Faylor <cgf@cygnus.com>
|
Wed Jan 17 23:20:56 2001 Christopher Faylor <cgf@cygnus.com>
|
||||||
|
|
||||||
* libc/include/sys/unistd.h: Use correct declaration for setdtablesize.
|
* libc/include/sys/unistd.h: Use correct declaration for setdtablesize.
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
## 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 = isatty.c mem-layout.c sbrk.c syscalls.c
|
||||||
|
|
||||||
|
all: crt0.o
|
||||||
|
|
||||||
|
ACLOCAL_AMFLAGS = -I ../../..
|
||||||
|
CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host
|
|
@ -0,0 +1,299 @@
|
||||||
|
# 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 = isatty.c mem-layout.c sbrk.c syscalls.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 = isatty.o mem-layout.o sbrk.o syscalls.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:
|
|
@ -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.9.0)
|
||||||
|
|
||||||
|
# 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])
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,12 @@
|
||||||
|
dnl This is the newlib/libc/sys/arc configure.in file.
|
||||||
|
dnl Process this file with autoconf to produce a configure script.
|
||||||
|
|
||||||
|
AC_PREREQ(2.5)
|
||||||
|
AC_INIT(isatty.c)
|
||||||
|
|
||||||
|
dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
|
||||||
|
AC_CONFIG_AUX_DIR(../../../..)
|
||||||
|
|
||||||
|
NEWLIB_CONFIGURE(../../..)
|
||||||
|
|
||||||
|
AC_OUTPUT(Makefile)
|
|
@ -0,0 +1,75 @@
|
||||||
|
; ARC start up file
|
||||||
|
; In the absence of a custom linker script, go with something simple.
|
||||||
|
; We do not support passing arguments to "main", but this is an embedded
|
||||||
|
; system anyway.
|
||||||
|
;
|
||||||
|
; We call init/fini here without cpu prefixes because there is always
|
||||||
|
; only one .init/.fini section per image.
|
||||||
|
|
||||||
|
.section .text
|
||||||
|
.align 4
|
||||||
|
|
||||||
|
.global start
|
||||||
|
start:
|
||||||
|
|
||||||
|
mov sp,end ; Round "sp" up to page after "end".
|
||||||
|
add sp,sp,4095
|
||||||
|
and sp,sp,-4096
|
||||||
|
|
||||||
|
ld r8,[stack_size] ; Add stack size to "sp".
|
||||||
|
add sp,sp,r8
|
||||||
|
|
||||||
|
st sp,[sbrk_start] ; Initialize malloc heap.
|
||||||
|
st sp,[sbrk_loc]
|
||||||
|
|
||||||
|
sub sp,sp,16 ; callee expects 16 bytes already "pushed".
|
||||||
|
mov fp,0 ; Top of stack frame indicator.
|
||||||
|
|
||||||
|
mov r0,edata ; Zero bss.
|
||||||
|
mov r2,end
|
||||||
|
sub r2,r2,r0
|
||||||
|
mov r1,0
|
||||||
|
|
||||||
|
#ifdef __base__
|
||||||
|
bl.nd _memset
|
||||||
|
bl.nd init ; .init section entry point.
|
||||||
|
mov r0,%st(fini) ; .fini section entry point.
|
||||||
|
bl.nd _atexit
|
||||||
|
mov r0,0 ; argc
|
||||||
|
mov r1,0 ; argv
|
||||||
|
bl.nd _main
|
||||||
|
bl.nd _exit
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __host__
|
||||||
|
bl.nd _host_memset
|
||||||
|
bl.nd init ; .init section entry point.
|
||||||
|
mov r0,%st(fini) ; .fini section entry point.
|
||||||
|
bl.nd _host_atexit
|
||||||
|
mov r0,0 ; argc
|
||||||
|
mov r1,0 ; argv
|
||||||
|
bl.nd _host_main
|
||||||
|
bl.nd _host_exit
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __graphics__
|
||||||
|
bl.nd _graphics_memset
|
||||||
|
bl.nd init ; .init section entry point.
|
||||||
|
mov r0,%st(fini) ; .fini section entry point.
|
||||||
|
bl.nd _graphics_atexit
|
||||||
|
mov r0,0 ; argc
|
||||||
|
mov r1,0 ; argv
|
||||||
|
bl.nd _graphics_main
|
||||||
|
bl.nd _graphics_exit
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __audio__
|
||||||
|
bl.nd _audio_memset
|
||||||
|
bl.nd init ; .init section entry point.
|
||||||
|
mov r0,%st(fini) ; .fini section entry point.
|
||||||
|
bl.nd _audio_atexit
|
||||||
|
mov r0,0 ; argc
|
||||||
|
mov r1,0 ; argv
|
||||||
|
bl.nd _audio_main
|
||||||
|
bl.nd _audio_exit
|
||||||
|
#endif
|
|
@ -0,0 +1,17 @@
|
||||||
|
/* isatty.c */
|
||||||
|
|
||||||
|
/* Dumb implementation so programs will at least run. */
|
||||||
|
|
||||||
|
#include <sys/stat.h>
|
||||||
|
|
||||||
|
int
|
||||||
|
isatty (int fd)
|
||||||
|
{
|
||||||
|
struct stat buf;
|
||||||
|
|
||||||
|
if (fstat (fd, &buf) < 0)
|
||||||
|
return 0;
|
||||||
|
if (S_ISCHR (buf.st_mode))
|
||||||
|
return 1;
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
/* Ideally this kind of stuff is specified in a linker script. It's not clear
|
||||||
|
what the default linker script should do, so for now we have this. */
|
||||||
|
|
||||||
|
/* Keep this file separate from sbrk.c so the programmer can supply his/her
|
||||||
|
own _sbrk_r. This file could go in crt0.S, but I want to keep this in C.
|
||||||
|
This is all just an experiment anyway. */
|
||||||
|
|
||||||
|
#ifndef STACK_SIZE
|
||||||
|
/* Cache lines recycle at 4096 I think, and 4096 is listed as the page size,
|
||||||
|
so we make the stack size a multiple of it. Not that it's relevant or
|
||||||
|
anything, but why not base it on *something*? */
|
||||||
|
#define STACK_SIZE (4096 * 4)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int stack_size asm ("stack_size") = STACK_SIZE;
|
||||||
|
|
||||||
|
#ifndef SBRK_SIZE
|
||||||
|
#define SBRK_SIZE (4096 * 32)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int sbrk_size asm ("sbrk_size") = SBRK_SIZE;
|
|
@ -0,0 +1,43 @@
|
||||||
|
/* sbrk support */
|
||||||
|
|
||||||
|
/* The current plan is to have one sbrk handler for all cpus.
|
||||||
|
Hence use `asm' for each global variable here to avoid the cpu prefix.
|
||||||
|
We can't intrude on the user's namespace (another reason to use asm). */
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/syscall.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <stddef.h>
|
||||||
|
|
||||||
|
/* These variables are publicly accessible for debugging purposes.
|
||||||
|
The user is also free to set sbrk_size to something different.
|
||||||
|
See mem-layout.c. */
|
||||||
|
|
||||||
|
extern int sbrk_size asm ("sbrk_size");
|
||||||
|
|
||||||
|
caddr_t sbrk_start asm ("sbrk_start");
|
||||||
|
caddr_t sbrk_loc asm ("sbrk_loc");
|
||||||
|
|
||||||
|
/*caddr_t _sbrk_r (struct _reent *, size_t) asm ("__sbrk_r");*/
|
||||||
|
|
||||||
|
/* FIXME: We need a semaphore here. */
|
||||||
|
|
||||||
|
caddr_t
|
||||||
|
_sbrk_r (struct _reent *r, size_t nbytes)
|
||||||
|
{
|
||||||
|
caddr_t result;
|
||||||
|
|
||||||
|
if (
|
||||||
|
/* Ensure we don't underflow. */
|
||||||
|
sbrk_loc + nbytes < sbrk_start
|
||||||
|
/* Ensure we don't overflow. */
|
||||||
|
|| sbrk_loc + nbytes > sbrk_start + sbrk_size)
|
||||||
|
{
|
||||||
|
errno = ENOMEM;
|
||||||
|
return ((caddr_t) -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
result = sbrk_loc;
|
||||||
|
sbrk_loc += nbytes;
|
||||||
|
return result;
|
||||||
|
}
|
|
@ -0,0 +1,53 @@
|
||||||
|
/* ARC system call interface */
|
||||||
|
|
||||||
|
/* A special version of the flag insn is used to distinguish syscalls from
|
||||||
|
breakpoints (a breakpoint might be set at the same place).
|
||||||
|
|
||||||
|
The upper 23 bits of the argument to a flag insn are not currently used.
|
||||||
|
By convention, bit 31 is one to indicate this is a specially coded operand.
|
||||||
|
The next 15 bits (bits 30-16) can be used for software purposes.
|
||||||
|
The format isn't documented yet, so the pattern we use here may change. */
|
||||||
|
|
||||||
|
#define SYSCALL_MARKER 0x80010000
|
||||||
|
#define SYSCALL_MAGIC 0x61082300
|
||||||
|
|
||||||
|
/* Perform a system call.
|
||||||
|
|
||||||
|
If ERR is 0, it succeeded. Otherwise it is a positive value for errno. */
|
||||||
|
|
||||||
|
#define SYSCALL(op, rc, err, r0, r1, r2) \
|
||||||
|
asm volatile ( "\
|
||||||
|
mov r0,%2\n\t \
|
||||||
|
mov r1,%3\n\t \
|
||||||
|
mov r2,%4\n\t \
|
||||||
|
mov r3,%5\n\t \
|
||||||
|
mov r4,%6\n\t \
|
||||||
|
flag %7\n\t \
|
||||||
|
nop\n\t \
|
||||||
|
nop\n\t \
|
||||||
|
nop\n\t \
|
||||||
|
mov %0,r0\n\t \
|
||||||
|
mov %1,r1" \
|
||||||
|
: "=r" (rc), "=r" (err) \
|
||||||
|
: "i" (SYSCALL_MAGIC), "r" (op), "r" (r0), "r" (r1), "r" (r2), \
|
||||||
|
"i" (1 | SYSCALL_MARKER) \
|
||||||
|
: "r0", "r1", "r2", "r3", "r4");
|
||||||
|
|
||||||
|
#define SYS_exit 1
|
||||||
|
#define SYS_open 2
|
||||||
|
#define SYS_close 3
|
||||||
|
#define SYS_read 4
|
||||||
|
#define SYS_write 5
|
||||||
|
#define SYS_lseek 6
|
||||||
|
#define SYS_link 7
|
||||||
|
#define SYS_unlink 8
|
||||||
|
#define SYS_chdir 9
|
||||||
|
#define SYS_chmod 10
|
||||||
|
#define SYS_stat 11
|
||||||
|
#define SYS_fstat 12
|
||||||
|
#define SYS_access 13
|
||||||
|
#define SYS_getpid 14
|
||||||
|
#define SYS_kill 15
|
||||||
|
#define SYS_time 16
|
||||||
|
|
||||||
|
#define SYS_MAX 17
|
|
@ -0,0 +1,130 @@
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <sys/syscall.h>
|
||||||
|
#include <_ansi.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <reent.h>
|
||||||
|
|
||||||
|
_ssize_t
|
||||||
|
_read_r (struct _reent *r, int fd, void *buf, size_t nbytes)
|
||||||
|
{
|
||||||
|
int err;
|
||||||
|
_ssize_t rc;
|
||||||
|
|
||||||
|
SYSCALL (SYS_read, rc, err, fd, buf, nbytes);
|
||||||
|
if (err)
|
||||||
|
errno = err;
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
_ssize_t
|
||||||
|
_write_r (struct _reent *r, int fd, const void *buf, size_t nbytes)
|
||||||
|
{
|
||||||
|
int err;
|
||||||
|
_ssize_t rc;
|
||||||
|
|
||||||
|
SYSCALL (SYS_write, rc, err, fd, buf, nbytes);
|
||||||
|
if (err)
|
||||||
|
errno = err;
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* FIXME: The prototype in <fcntl.h> for open() uses ...,
|
||||||
|
but reent.h uses int. */
|
||||||
|
|
||||||
|
int
|
||||||
|
_open_r (struct _reent *r, const char *buf, int flags, int mode)
|
||||||
|
{
|
||||||
|
int rc,err;
|
||||||
|
#if 0
|
||||||
|
int mode;
|
||||||
|
va_list ap;
|
||||||
|
|
||||||
|
va_start (ap, flags);
|
||||||
|
mode = va_arg (ap, int);
|
||||||
|
va_end (ap);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
SYSCALL (SYS_open, rc, err, buf, flags, mode);
|
||||||
|
errno = err;
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
_close_r (struct _reent *r, int fd)
|
||||||
|
{
|
||||||
|
int rc,err;
|
||||||
|
|
||||||
|
SYSCALL (SYS_close, rc, err, fd, 0, 0);
|
||||||
|
if (err)
|
||||||
|
errno = err;
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
off_t
|
||||||
|
_lseek_r (struct _reent *r, int fd, off_t offset, int whence)
|
||||||
|
{
|
||||||
|
int err;
|
||||||
|
off_t rc;
|
||||||
|
|
||||||
|
SYSCALL (SYS_lseek, rc, err, fd, offset, whence);
|
||||||
|
if (err)
|
||||||
|
errno = err;
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
_fstat_r (struct _reent *r, int fd, struct stat *buf)
|
||||||
|
{
|
||||||
|
int rc,err;
|
||||||
|
|
||||||
|
SYSCALL (SYS_fstat, rc, err, fd, buf, 0);
|
||||||
|
if (err)
|
||||||
|
errno = err;
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* FIXME: Shouldn't this be _exit_r? */
|
||||||
|
|
||||||
|
void
|
||||||
|
_exit (int ret)
|
||||||
|
{
|
||||||
|
int rc,err;
|
||||||
|
|
||||||
|
SYSCALL (SYS_exit, rc, err, ret, 0, 0);
|
||||||
|
|
||||||
|
/* If that failed, use an infinite loop. */
|
||||||
|
while (1)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
time_t
|
||||||
|
_time (time_t *timer)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
_creat_r (struct _reent *r, const char *path, int mode)
|
||||||
|
{
|
||||||
|
return _open_r (r, path, O_CREAT | O_TRUNC, mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
_getpid_r (struct _reent *r)
|
||||||
|
{
|
||||||
|
return 42;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
_kill_r (struct _reent *r, int pid, int sig)
|
||||||
|
{
|
||||||
|
int rc,err;
|
||||||
|
|
||||||
|
SYSCALL (SYS_kill, rc, err, pid, sig, 0);
|
||||||
|
if (err)
|
||||||
|
errno = err;
|
||||||
|
return rc;
|
||||||
|
}
|
Loading…
Reference in New Issue