diff -Naur newlib-1.17.0.orig/newlib/ChangeLog.rtems newlib-1.17.0/newlib/ChangeLog.rtems --- newlib-1.17.0.orig/newlib/ChangeLog.rtems 1970-01-01 01:00:00.000000000 +0100 +++ newlib-1.17.0/newlib/ChangeLog.rtems 2009-03-09 14:54:26.000000000 +0100 @@ -0,0 +1,46 @@ +2009-03-09 Ralf Corsépius + + * libc/machine/powerpc/times.c: Remove. + * libc/machine/powerpc/Makefile.am: Remove times.c. + * libc/machine/powerpc/Makefile.in: Regenerate. + +2009-02-24 Ralf Corsépius + + * libc/unix/ttyname.c: Sync with newlib-cvs. + * configure.host: Add -DHAVE_BLKSIZE to newlib_cflags. + +2009-02-22 Ralf Corsépius + + * libc/sys/rtems/machine/stdint.h: Add __lm32__. + * libc/machine/lm32/configure.in: Set AC_CONFIG_SRC to setjmp.S. + * libc/machine/lm32/configure: Regenerate. + +2009-02-20 Ralf Corsépius + + * libc/unix/Makefile.in: Regenerate. + +2009-02-20 Craig Howland on behalf of + Sebastian Huber + + * libc/unix/ttyname.c: Remove ttyname_r() (to a new file to avoid + coupling ttyname_r() and ttyname() due to the latter's large buffer). + * libc/unix/ttyname_r.c: New file to hold ttyname_r(), previously in + ttyname.c. + * libc/unix/ttyname.h: New file (common size definition for the 2 + ttyname*c files that are now split). + * libc/unix/Makefile.am (ELIX_2_SOURCES): Add ttyname_r.c. + +2009-02-16 Ralf Corsépius + + * libc/sys/rtems/sys/param.h: + Update copyright notice from FreeBSD. + Remove HZ. + Add #include + Remove priority handling (moved to sys/priority.h). + Remove CLBYTES (Unused, abandoned in BSD). + +2009-02-06 Ralf Corsépius + + * libc/include/sched.h: + Remove (collides with RTEMS's schedul.h). + diff -Naur newlib-1.17.0.orig/newlib/configure.host newlib-1.17.0/newlib/configure.host --- newlib-1.17.0.orig/newlib/configure.host 2008-12-18 00:09:09.000000000 +0100 +++ newlib-1.17.0/newlib/configure.host 2009-03-09 13:31:25.000000000 +0100 @@ -537,7 +537,7 @@ *-*-rtems*) default_newlib_io_long_long="yes" default_newlib_io_c99_formats="yes" - newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DEXIT_PROVIDED -DMISSING_SYSCALL_NAMES -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_FCNTL" + newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DEXIT_PROVIDED -DMISSING_SYSCALL_NAMES -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_BLKSIZE -DHAVE_FCNTL" # turn off unsupported items in posix directory newlib_cflags="${newlib_cflags} -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET" ;; diff -Naur newlib-1.17.0.orig/newlib/libc/include/inttypes.h newlib-1.17.0/newlib/libc/include/inttypes.h --- newlib-1.17.0.orig/newlib/libc/include/inttypes.h 2005-12-16 20:03:12.000000000 +0100 +++ newlib-1.17.0/newlib/libc/include/inttypes.h 2009-03-09 13:31:25.000000000 +0100 @@ -163,12 +163,12 @@ /* 64-bit types */ -#if __have_longlong64 -#define __PRI64(x) __STRINGIFY(ll##x) -#define __SCN64(x) __STRINGIFY(ll##x) -#elif __have_long64 +#if __have_long64 #define __PRI64(x) __STRINGIFY(l##x) #define __SCN64(x) __STRINGIFY(l##x) +#elif __have_longlong64 +#define __PRI64(x) __STRINGIFY(ll##x) +#define __SCN64(x) __STRINGIFY(ll##x) #else #define __PRI64(x) __STRINGIFY(x) #define __SCN64(x) __STRINGIFY(x) @@ -217,12 +217,12 @@ #endif /* max-bit types */ -#if __have_longlong64 -#define __PRIMAX(x) __STRINGIFY(ll##x) -#define __SCNMAX(x) __STRINGIFY(ll##x) -#elif __have_long64 +#if __have_long64 #define __PRIMAX(x) __STRINGIFY(l##x) #define __SCNMAX(x) __STRINGIFY(l##x) +#elif __have_longlong64 +#define __PRIMAX(x) __STRINGIFY(ll##x) +#define __SCNMAX(x) __STRINGIFY(ll##x) #else #define __PRIMAX(x) __STRINGIFY(x) #define __SCNMAX(x) __STRINGIFY(x) @@ -242,12 +242,12 @@ #define SCNxMAX __SCNMAX(x) /* ptr types */ -#if __have_longlong64 -#define __PRIPTR(x) __STRINGIFY(ll##x) -#define __SCNPTR(x) __STRINGIFY(ll##x) -#elif __have_long64 +#if __have_long64 #define __PRIPTR(x) __STRINGIFY(l##x) #define __SCNPTR(x) __STRINGIFY(l##x) +#elif __have_longlong64 +#define __PRIPTR(x) __STRINGIFY(ll##x) +#define __SCNPTR(x) __STRINGIFY(ll##x) #else #define __PRIPTR(x) __STRINGIFY(x) #define __SCNPTR(x) __STRINGIFY(x) diff -Naur newlib-1.17.0.orig/newlib/libc/include/machine/ieeefp.h newlib-1.17.0/newlib/libc/include/machine/ieeefp.h --- newlib-1.17.0.orig/newlib/libc/include/machine/ieeefp.h 2008-12-11 21:05:38.000000000 +0100 +++ newlib-1.17.0/newlib/libc/include/machine/ieeefp.h 2009-03-09 13:31:25.000000000 +0100 @@ -62,8 +62,12 @@ # define __IEEE_BIG_ENDIAN # endif #else -# define __IEEE_BIG_ENDIAN # ifdef __ARMEL__ +# define __IEEE_LITTLE_ENDIAN +# else +# define __IEEE_BIG_ENDIAN +# endif +# ifdef __ARMWEL__ # define __IEEE_BYTES_LITTLE_ENDIAN # endif #endif diff -Naur newlib-1.17.0.orig/newlib/libc/include/machine/setjmp.h newlib-1.17.0/newlib/libc/include/machine/setjmp.h --- newlib-1.17.0.orig/newlib/libc/include/machine/setjmp.h 2008-12-11 21:05:38.000000000 +0100 +++ newlib-1.17.0/newlib/libc/include/machine/setjmp.h 2009-03-09 13:31:25.000000000 +0100 @@ -27,7 +27,7 @@ /* necv70 was 9 as well. */ -#ifdef __mc68000__ +#if defined(__m68k__) || defined(__mc68000__) /* * onsstack,sigmask,sp,pc,psl,d2-d7,a2-a6, * fp2-fp7 for 68881. diff -Naur newlib-1.17.0.orig/newlib/libc/include/sched.h newlib-1.17.0/newlib/libc/include/sched.h --- newlib-1.17.0.orig/newlib/libc/include/sched.h 2007-09-21 23:02:15.000000000 +0200 +++ newlib-1.17.0/newlib/libc/include/sched.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,14 +0,0 @@ -#ifndef _SCHED_H_ -#define _SCHED_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#ifdef __cplusplus -} -#endif - -#endif /* _SCHED_H_ */ diff -Naur newlib-1.17.0.orig/newlib/libc/include/stdint.h newlib-1.17.0/newlib/libc/include/stdint.h --- newlib-1.17.0.orig/newlib/libc/include/stdint.h 2008-12-10 22:27:58.000000000 +0100 +++ newlib-1.17.0/newlib/libc/include/stdint.h 2009-03-09 13:31:25.000000000 +0100 @@ -475,6 +475,9 @@ #define UINTMAX_C(x) x##UL #endif +#ifdef __rtems__ +#include +#endif #ifdef __cplusplus } diff -Naur newlib-1.17.0.orig/newlib/libc/include/sys/_types.h newlib-1.17.0/newlib/libc/include/sys/_types.h --- newlib-1.17.0.orig/newlib/libc/include/sys/_types.h 2007-09-18 22:05:17.000000000 +0200 +++ newlib-1.17.0/newlib/libc/include/sys/_types.h 2009-03-09 13:31:25.000000000 +0100 @@ -84,4 +84,7 @@ typedef void *_iconv_t; #endif +typedef long * __intptr_t; +typedef unsigned long* __uintptr_t; + #endif /* _SYS__TYPES_H */ diff -Naur newlib-1.17.0.orig/newlib/libc/machine/arm/machine/endian.h newlib-1.17.0/newlib/libc/machine/arm/machine/endian.h --- newlib-1.17.0.orig/newlib/libc/machine/arm/machine/endian.h 2004-05-07 22:29:24.000000000 +0200 +++ newlib-1.17.0/newlib/libc/machine/arm/machine/endian.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ -/* ARM configuration file */ - -#ifndef _MACHINE_ENDIAN_H -# define _MACHINE_ENDIAN_H - -#ifdef __ARMEB__ -#define BYTE_ORDER BIG_ENDIAN -#else -#define BYTE_ORDER LITTLE_ENDIAN -#endif - -#endif diff -Naur newlib-1.17.0.orig/newlib/libc/machine/lm32/configure newlib-1.17.0/newlib/libc/machine/lm32/configure --- newlib-1.17.0.orig/newlib/libc/machine/lm32/configure 2008-12-22 20:45:44.000000000 +0100 +++ newlib-1.17.0/newlib/libc/machine/lm32/configure 2009-03-09 13:31:25.000000000 +0100 @@ -271,7 +271,7 @@ PACKAGE_STRING='newlib 1.17.0' PACKAGE_BUGREPORT='' -ac_unique_file="setjmp.s" +ac_unique_file="setjmp.S" ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS MAY_SUPPLY_SYSCALLS_TRUE MAY_SUPPLY_SYSCALLS_FALSE newlib_basedir build build_cpu build_vendor build_os host host_cpu host_vendor host_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE AS ac_ct_AS AR ac_ct_AR RANLIB ac_ct_RANLIB READELF ac_ct_READELF MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CCAS CCASFLAGS NEWLIB_CFLAGS LDFLAGS ELIX_LEVEL_0_TRUE ELIX_LEVEL_0_FALSE ELIX_LEVEL_1_TRUE ELIX_LEVEL_1_FALSE ELIX_LEVEL_2_TRUE ELIX_LEVEL_2_FALSE ELIX_LEVEL_3_TRUE ELIX_LEVEL_3_FALSE ELIX_LEVEL_4_TRUE ELIX_LEVEL_4_FALSE USE_LIBTOOL_TRUE USE_LIBTOOL_FALSE OBJEXT oext aext lpfx libm_machine_dir machine_dir sys_dir LIBOBJS LTLIBOBJS' ac_subst_files='' diff -Naur newlib-1.17.0.orig/newlib/libc/machine/lm32/configure.in newlib-1.17.0/newlib/libc/machine/lm32/configure.in --- newlib-1.17.0.orig/newlib/libc/machine/lm32/configure.in 2008-12-11 21:05:38.000000000 +0100 +++ newlib-1.17.0/newlib/libc/machine/lm32/configure.in 2009-03-09 13:31:25.000000000 +0100 @@ -3,7 +3,7 @@ AC_PREREQ(2.59) AC_INIT([newlib],[NEWLIB_VERSION]) -AC_CONFIG_SRCDIR([setjmp.s]) +AC_CONFIG_SRCDIR([setjmp.S]) dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake. AC_CONFIG_AUX_DIR(../../../..) diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.am newlib-1.17.0/newlib/libc/machine/powerpc/Makefile.am --- newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.am 2007-05-24 19:33:35.000000000 +0200 +++ newlib-1.17.0/newlib/libc/machine/powerpc/Makefile.am 2009-03-09 14:05:35.000000000 +0100 @@ -10,7 +10,7 @@ AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib -lib_a_SOURCES = setjmp.S times.c +lib_a_SOURCES = setjmp.S lib_a_CCASFLAGS=$(AM_CCASFLAGS) lib_a_CFLAGS=$(AM_CFLAGS) lib_a_LIBADD = @extra_objs@ diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.in newlib-1.17.0/newlib/libc/machine/powerpc/Makefile.in --- newlib-1.17.0.orig/newlib/libc/machine/powerpc/Makefile.in 2008-09-29 17:40:37.000000000 +0200 +++ newlib-1.17.0/newlib/libc/machine/powerpc/Makefile.in 2009-03-09 14:05:46.000000000 +0100 @@ -39,8 +39,7 @@ DIST_COMMON = $(srcdir)/../../../../config.guess \ $(srcdir)/../../../../config.sub $(srcdir)/Makefile.in \ $(srcdir)/Makefile.am $(top_srcdir)/configure \ - $(am__configure_deps) $(srcdir)/../../../../mkinstalldirs \ - $(srcdir)/../../../../compile + $(am__configure_deps) $(srcdir)/../../../../mkinstalldirs subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../../../acinclude.m4 \ @@ -54,7 +53,7 @@ LIBRARIES = $(noinst_LIBRARIES) ARFLAGS = cru lib_a_AR = $(AR) $(ARFLAGS) -am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-times.$(OBJEXT) +am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a_OBJECTS = $(am_lib_a_OBJECTS) DEFAULT_INCLUDES = -I. -I$(srcdir) depcomp = @@ -128,11 +127,6 @@ USE_LIBTOOL_FALSE = @USE_LIBTOOL_FALSE@ USE_LIBTOOL_TRUE = @USE_LIBTOOL_TRUE@ VERSION = @VERSION@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_AS = @ac_ct_AS@ -ac_ct_RANLIB = @ac_ct_RANLIB@ -ac_ct_READELF = @ac_ct_READELF@ -ac_ct_STRIP = @ac_ct_STRIP@ aext = @aext@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ @@ -148,6 +142,9 @@ build_os = @build_os@ build_vendor = @build_vendor@ datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ exec_prefix = @exec_prefix@ extra_objs = @extra_objs@ extra_sources = @extra_sources@ @@ -156,12 +153,14 @@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ +htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ libm_machine_dir = @libm_machine_dir@ +localedir = @localedir@ localstatedir = @localstatedir@ lpfx = @lpfx@ machine_dir = @machine_dir@ @@ -170,8 +169,10 @@ newlib_basedir = @newlib_basedir@ oext = @oext@ oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ +psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ sys_dir = @sys_dir@ @@ -182,7 +183,7 @@ AM_CCASFLAGS = $(INCLUDES) noinst_LIBRARIES = lib.a AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib -lib_a_SOURCES = setjmp.S times.c +lib_a_SOURCES = setjmp.S lib_a_CCASFLAGS = $(AM_CCASFLAGS) lib_a_CFLAGS = $(AM_CFLAGS) lib_a_LIBADD = @extra_objs@ @@ -193,7 +194,7 @@ all: all-am .SUFFIXES: -.SUFFIXES: .S .c .o .obj +.SUFFIXES: .S .o .obj am--refresh: @: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @@ -252,18 +253,6 @@ lib_a-setjmp.obj: setjmp.S $(CCAS) $(lib_a_CCASFLAGS) $(CCASFLAGS) -c -o lib_a-setjmp.obj `if test -f 'setjmp.S'; then $(CYGPATH_W) 'setjmp.S'; else $(CYGPATH_W) '$(srcdir)/setjmp.S'; fi` - -.c.o: - $(COMPILE) -c $< - -.c.obj: - $(COMPILE) -c `$(CYGPATH_W) '$<'` - -lib_a-times.o: times.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-times.o `test -f 'times.c' || echo '$(srcdir)/'`times.c - -lib_a-times.obj: times.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-times.obj `if test -f 'times.c'; then $(CYGPATH_W) 'times.c'; else $(CYGPATH_W) '$(srcdir)/times.c'; fi` uninstall-info-am: ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) diff -Naur newlib-1.17.0.orig/newlib/libc/machine/powerpc/times.c newlib-1.17.0/newlib/libc/machine/powerpc/times.c --- newlib-1.17.0.orig/newlib/libc/machine/powerpc/times.c 2002-07-22 22:26:51.000000000 +0200 +++ newlib-1.17.0/newlib/libc/machine/powerpc/times.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,36 +0,0 @@ -/* Time support routines for PowerPC. - * - * Written by Aldy Hernandez. - */ - -#include <_ansi.h> -#include -#include -#include -#include - -clock_t -times (struct tms *tp) -{ - struct rusage usage; - union { - struct rusage r; - /* Newlib's rusage has only 2 fields. We need to make room for - when we call the system's rusage. This should be enough. */ - int filler[32]; - } host_ru; - - getrusage (RUSAGE_SELF, (void *)&host_ru); - - if (tp) - { - tp->tms_utime = host_ru.r.ru_utime.tv_sec * 1000 - + host_ru.r.ru_utime.tv_usec; - tp->tms_stime = host_ru.r.ru_stime.tv_sec * 1000 - + host_ru.r.ru_stime.tv_usec; - tp->tms_cutime = 0; /* user time, children */ - tp->tms_cstime = 0; /* system time, children */ - } - - return tp->tms_utime; -} diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/machine/stdint.h newlib-1.17.0/newlib/libc/sys/rtems/machine/stdint.h --- newlib-1.17.0.orig/newlib/libc/sys/rtems/machine/stdint.h 1970-01-01 01:00:00.000000000 +0100 +++ newlib-1.17.0/newlib/libc/sys/rtems/machine/stdint.h 2009-03-09 13:31:25.000000000 +0100 @@ -0,0 +1,48 @@ +/* + * + */ +#ifndef _MACHINE_STDINT_H +#define _MACHINE_STDINT_H + +#ifndef _STDINT_H +#error machine/stdint.h is an internal file and must not be directly included +#endif + +#ifndef __rtems__ +#error machine/stdint.h is an RTEMS specific internal file and must not be used otherwise +#endif + +#if defined(__m32c__) || defined(__m32r__) || defined(__lm32__) +#if (__SIZEOF_PTRDIFF_T__ == __SIZEOF_LONG__) +#define __ptrint_t_long_defined 1 +#endif +#if (__SIZEOF_PTRDIFF_T__ == __SIZEOF_INT__) +#define __ptrint_t_int_defined 1 +#endif +#endif + +#if defined(__sparc__) \ + || defined(__powerpc__) || defined(__PPC__) \ + || defined(__mips__) \ + || defined(__sh__) \ + || defined(__AVR__) \ + || defined(_C4x) || defined(_C3x) \ + || defined(__H8300__) +/* PTRDIFF_TYPE = int */ +#define __ptrint_t_int_defined 1 +#endif + +#if defined(__i386__) \ + || defined(__m68k__) \ + || defined(__bfin__) \ + || defined(__arm__) \ + || defined(__H8300S__) || defined(__H8300H__) || defined(__H8300SX__) \ +/* PTRDIFF_TYPE = long */ +#define __ptrint_t_long_defined 1 +#endif + +#if !defined(__ptrint_t_int_defined) && !defined(__ptrint_t_long_defined) +#error Failed to determine ptrint_t +#endif + +#endif diff -Naur newlib-1.17.0.orig/newlib/libc/sys/rtems/sys/param.h newlib-1.17.0/newlib/libc/sys/rtems/sys/param.h --- newlib-1.17.0.orig/newlib/libc/sys/rtems/sys/param.h 2008-11-17 23:05:12.000000000 +0100 +++ newlib-1.17.0/newlib/libc/sys/rtems/sys/param.h 2009-03-09 13:31:25.000000000 +0100 @@ -15,10 +15,6 @@ * 2. 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. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. @@ -47,7 +43,6 @@ #include #include -# define HZ (60) # define PATHSIZE (1024) /* end of from newlib's */ @@ -86,13 +81,13 @@ #define MAXHOSTNAMELEN 256 /* max hostname size */ /* More types and definitions used throughout the kernel. */ -#ifdef KERNEL +#if defined(KERNEL) || defined(_KERNEL) #include #include #include #include -#include #include +#include #ifndef FALSE #define FALSE 0 @@ -109,23 +104,6 @@ #include #include -/* - * Priorities. Note that with 32 run queues, differences less than 4 are - * insignificant. - */ -#define PSWP 0 -#define PVM 4 -#define PINOD 8 -#define PRIBIO 16 -#define PVFS 20 -#define PZERO 22 /* No longer magic, shouldn't be here. XXX */ -#define PSOCK 24 -#define PWAIT 32 -#define PLOCK 36 -#define PPAUSE 40 -#define PUSER 50 -#define MAXPRI 127 /* Priorities range from 0 through MAXPRI. */ - #define PRIMASK 0x0ff #define PCATCH 0x100 /* OR'd with pri for tsleep to check signals */ @@ -136,15 +114,6 @@ #define CMASK 022 /* default file mask: S_IWGRP|S_IWOTH */ #define NODEV (dev_t)(-1) /* non-existent device */ -/* - * Clustering of hardware pages on machines with ridiculously small - * page sizes is done here. The paging subsystem deals with units of - * CLSIZE pte's describing PAGE_SIZE (from machine/machparam.h) pages each. - */ -#if 0 -#define CLBYTES (CLSIZE*PAGE_SIZE) -#endif - #define CBLOCK 128 /* Clist block size, must be a power of 2. */ #define CBQSIZE (CBLOCK/NBBY) /* Quote bytes/cblock - can do better. */ /* Data chars/clist. */ @@ -200,7 +169,7 @@ #define powerof2(x) ((((x)-1)&(x))==0) /* Macros for min/max. */ -#ifndef KERNEL +#if !(defined(KERNEL) || defined(_KERNEL)) #define MIN(a,b) (((a)<(b))?(a):(b)) #define MAX(a,b) (((a)>(b))?(a):(b)) #endif diff -Naur newlib-1.17.0.orig/newlib/libc/unix/Makefile.am newlib-1.17.0/newlib/libc/unix/Makefile.am --- newlib-1.17.0.orig/newlib/libc/unix/Makefile.am 2006-05-02 00:01:07.000000000 +0200 +++ newlib-1.17.0/newlib/libc/unix/Makefile.am 2009-03-09 13:31:25.000000000 +0100 @@ -12,7 +12,8 @@ ## Distinguish different EL/IX level interfaces ELIX_2_SOURCES = \ - ttyname.c + ttyname.c \ + ttyname_r.c ELIX_4_SOURCES = \ basename.c \ diff -Naur newlib-1.17.0.orig/newlib/libc/unix/Makefile.in newlib-1.17.0/newlib/libc/unix/Makefile.in --- newlib-1.17.0.orig/newlib/libc/unix/Makefile.in 2009-02-20 11:04:34.000000000 +0100 +++ newlib-1.17.0/newlib/libc/unix/Makefile.in 2009-03-09 13:31:25.000000000 +0100 @@ -59,7 +59,7 @@ lib_a_LIBADD = am__objects_1 = lib_a-getcwd.$(OBJEXT) lib_a-pread.$(OBJEXT) \ lib_a-pwrite.$(OBJEXT) lib_a-sigset.$(OBJEXT) -am__objects_2 = lib_a-ttyname.$(OBJEXT) +am__objects_2 = lib_a-ttyname.$(OBJEXT) lib_a-ttyname_r.$(OBJEXT) am__objects_3 = lib_a-basename.$(OBJEXT) lib_a-dirname.$(OBJEXT) \ lib_a-getlogin.$(OBJEXT) lib_a-getpass.$(OBJEXT) \ lib_a-getpwent.$(OBJEXT) lib_a-getut.$(OBJEXT) @@ -74,7 +74,7 @@ LTLIBRARIES = $(noinst_LTLIBRARIES) libunix_la_LIBADD = am__objects_5 = getcwd.lo pread.lo pwrite.lo sigset.lo -am__objects_6 = ttyname.lo +am__objects_6 = ttyname.lo ttyname_r.lo am__objects_7 = basename.lo dirname.lo getlogin.lo getpass.lo \ getpwent.lo getut.lo @ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@am__objects_8 = $(am__objects_6) \ @@ -278,7 +278,8 @@ sigset.c ELIX_2_SOURCES = \ - ttyname.c + ttyname.c \ + ttyname_r.c ELIX_4_SOURCES = \ basename.c \ @@ -402,6 +403,12 @@ lib_a-ttyname.obj: ttyname.c $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname.obj `if test -f 'ttyname.c'; then $(CYGPATH_W) 'ttyname.c'; else $(CYGPATH_W) '$(srcdir)/ttyname.c'; fi` +lib_a-ttyname_r.o: ttyname_r.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname_r.o `test -f 'ttyname_r.c' || echo '$(srcdir)/'`ttyname_r.c + +lib_a-ttyname_r.obj: ttyname_r.c + $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-ttyname_r.obj `if test -f 'ttyname_r.c'; then $(CYGPATH_W) 'ttyname_r.c'; else $(CYGPATH_W) '$(srcdir)/ttyname_r.c'; fi` + lib_a-basename.o: basename.c $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-basename.o `test -f 'basename.c' || echo '$(srcdir)/'`basename.c diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname.c newlib-1.17.0/newlib/libc/unix/ttyname.c --- newlib-1.17.0.orig/newlib/libc/unix/ttyname.c 2008-11-18 23:55:06.000000000 +0100 +++ newlib-1.17.0/newlib/libc/unix/ttyname.c 2009-03-09 13:31:25.000000000 +0100 @@ -28,67 +28,14 @@ * SUCH DAMAGE. */ -#include -#include -#include +#include "ttyname.h" + #include #include -#include #include -#include <_syslist.h> #include -static char ttyname_buf[sizeof (_PATH_DEV) + MAXNAMLEN] = _PATH_DEV; - -/* - * ttyname_r() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name - */ -int -_DEFUN( ttyname_r,(fd, name, namesize), - int fd _AND - char *name _AND - size_t namesize) -{ - struct stat sb; - struct dirent *dirp; - DIR *dp; - struct stat dsb; - char buf[sizeof(ttyname_buf)]; - - /* Must be a terminal. */ - if (!isatty(fd)) - return ENOTTY; - - /* Must be a character device. */ - if (fstat (fd, &sb) || !S_ISCHR (sb.st_mode)) - return ENOTTY; - - if ((dp = opendir (_PATH_DEV)) == NULL) - return EBADF; - - strcpy(buf, _PATH_DEV); - while ((dirp = readdir (dp)) != NULL) - { - if (dirp->d_ino != sb.st_ino) - continue; - strcpy (buf + sizeof (_PATH_DEV) - 1, dirp->d_name); - if (stat (buf, &dsb) || sb.st_dev != dsb.st_dev || - sb.st_ino != dsb.st_ino) - continue; - (void) closedir (dp); - if(strlen(buf) < namesize) /* < to account for terminating null */ - { - strcpy(name, buf); - return 0; - } - else - { - return ERANGE; - } - } - (void) closedir (dp); - return EBADF; -} +static char ttyname_buf[TTYNAME_BUFSIZE] = _PATH_DEV; /* * ttyname() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname.h newlib-1.17.0/newlib/libc/unix/ttyname.h --- newlib-1.17.0.orig/newlib/libc/unix/ttyname.h 1970-01-01 01:00:00.000000000 +0100 +++ newlib-1.17.0/newlib/libc/unix/ttyname.h 2009-03-09 13:31:25.000000000 +0100 @@ -0,0 +1,6 @@ +/* Common defines for ttyname.c and ttyname_r.c */ + +#include /* For MAXNAMLEN */ +#include /* For _PATH_DEV */ + +#define TTYNAME_BUFSIZE (sizeof (_PATH_DEV) + MAXNAMLEN) diff -Naur newlib-1.17.0.orig/newlib/libc/unix/ttyname_r.c newlib-1.17.0/newlib/libc/unix/ttyname_r.c --- newlib-1.17.0.orig/newlib/libc/unix/ttyname_r.c 1970-01-01 01:00:00.000000000 +0100 +++ newlib-1.17.0/newlib/libc/unix/ttyname_r.c 2009-03-09 13:31:25.000000000 +0100 @@ -0,0 +1,93 @@ +#ifndef _NO_TTYNAME +/* + * Copyright (c) 1988 The Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. 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. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 THE REGENTS OR CONTRIBUTORS 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 "ttyname.h" + +#include +#include +#include +#include +#include +#include +#include +#include <_syslist.h> +#include + +/* + * ttyname_r() - POSIX 1003.1b 4.7.2 - Determine Terminal Device Name + */ +int +_DEFUN( ttyname_r,(fd, name, namesize), + int fd _AND + char *name _AND + size_t namesize) +{ + struct stat sb; + struct dirent *dirp; + DIR *dp; + struct stat dsb; + char buf[TTYNAME_BUFSIZE]; + + /* Must be a terminal. */ + if (!isatty(fd)) + return ENOTTY; + + /* Must be a character device. */ + if (fstat (fd, &sb) || !S_ISCHR (sb.st_mode)) + return ENOTTY; + + if ((dp = opendir (_PATH_DEV)) == NULL) + return EBADF; + + strcpy(buf, _PATH_DEV); + while ((dirp = readdir (dp)) != NULL) + { + if (dirp->d_ino != sb.st_ino) + continue; + strcpy (buf + sizeof (_PATH_DEV) - 1, dirp->d_name); + if (stat (buf, &dsb) || sb.st_dev != dsb.st_dev || + sb.st_ino != dsb.st_ino) + continue; + (void) closedir (dp); + if(strlen(buf) < namesize) /* < to account for terminating null */ + { + strcpy(name, buf); + return 0; + } + else + { + return ERANGE; + } + } + (void) closedir (dp); + return EBADF; +} + +#endif /* !_NO_TTYNAME */ diff -Naur newlib-1.17.0.orig/newlib/Makefile.am newlib-1.17.0/newlib/Makefile.am --- newlib-1.17.0.orig/newlib/Makefile.am 2008-01-21 19:29:17.000000000 +0100 +++ newlib-1.17.0/newlib/Makefile.am 2009-03-09 13:31:25.000000000 +0100 @@ -81,7 +81,7 @@ libc.a endif -noinst_DATA = stmp-targ-include +BUILT_SOURCES = stmp-targ-include toollib_DATA = $(CRT0) $(CRT1) @@ -186,9 +186,6 @@ $(CRT1_DIR)$(CRT1): ; @true - -all-recursive: stmp-targ-include - # The targ-include directory just holds the includes files for the # particular system and machine we have been configured for. It is # used while building. diff -Naur newlib-1.17.0.orig/newlib/Makefile.in newlib-1.17.0/newlib/Makefile.in --- newlib-1.17.0.orig/newlib/Makefile.in 2009-02-20 11:04:33.000000000 +0100 +++ newlib-1.17.0/newlib/Makefile.in 2009-03-09 13:31:25.000000000 +0100 @@ -106,7 +106,7 @@ pdf-recursive ps-recursive uninstall-info-recursive \ uninstall-recursive toollibDATA_INSTALL = $(INSTALL_DATA) -DATA = $(noinst_DATA) $(toollib_DATA) +DATA = $(toollib_DATA) ETAGS = etags CTAGS = ctags DEJATOOL = $(PACKAGE) @@ -350,7 +350,7 @@ @USE_LIBTOOL_FALSE@toollib_LIBRARIES = libm.a \ @USE_LIBTOOL_FALSE@ libc.a -noinst_DATA = stmp-targ-include +BUILT_SOURCES = stmp-targ-include toollib_DATA = $(CRT0) $(CRT1) # The functions ldexp, frexp and modf are traditionally supplied in @@ -409,7 +409,7 @@ # dejagnu support RUNTESTFLAGS = -all: newlib.h +all: $(BUILT_SOURCES) newlib.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: @@ -714,14 +714,16 @@ done check-am: $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU -check: check-recursive +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-recursive all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA) newlib.h installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)"; do \ test -z "$$dir" || $(mkdir_p) "$$dir"; \ done -install: install-recursive +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive @@ -746,6 +748,7 @@ maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) clean: clean-recursive clean-am: clean-generic clean-libtool clean-toollibLIBRARIES \ @@ -864,8 +867,6 @@ $(CRT1_DIR)$(CRT1): ; @true -all-recursive: stmp-targ-include - # The targ-include directory just holds the includes files for the # particular system and machine we have been configured for. It is # used while building.