Index: contrib/crossrpms/patches/newlib-1.16.0.cvs.20081119-rtems4.10-20081119.diff
===================================================================
--- contrib/crossrpms/patches/newlib-1.16.0.cvs.20081119-rtems4.10-20081119.diff	(revision cddaf00886b292cd0be6f7c058dea638326ccb99)
+++ contrib/crossrpms/patches/newlib-1.16.0.cvs.20081119-rtems4.10-20081119.diff	(revision cddaf00886b292cd0be6f7c058dea638326ccb99)
@@ -0,0 +1,297 @@
+diff -Naur --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/libc/include/inttypes.h newlib-1.16.0/newlib/libc/include/inttypes.h
+--- newlib-1.16.0.orig/newlib/libc/include/inttypes.h	2005-12-19 08:26:51.000000000 +0100
++++ newlib-1.16.0/newlib/libc/include/inttypes.h	2008-11-17 07:09:54.000000000 +0100
+@@ -242,9 +242,12 @@
+ #define SCNxMAX		__SCNMAX(x)
+ 
+ /* ptr types */
+-#if __have_longlong64
+-#define __PRIPTR(x) __STRINGIFY(ll##x)
+-#define __SCNPTR(x) __STRINGIFY(ll##x)
++#if __ptrint_t_long_defined
++#define __PRIPTR(x) __STRINGIFY(l##x)
++#define __SCNPTR(x) __STRINGIFY(l##x)
++#elif __ptrint_t_int_defined
++#define __PRIPTR(x) __STRINGIFY(x)
++#define __SCNPTR(x) __STRINGIFY(x)
+ #elif __have_long64
+ #define __PRIPTR(x) __STRINGIFY(l##x)
+ #define __SCNPTR(x) __STRINGIFY(l##x)
+diff -Naur --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/libc/include/machine/ieeefp.h newlib-1.16.0/newlib/libc/include/machine/ieeefp.h
+--- newlib-1.16.0.orig/newlib/libc/include/machine/ieeefp.h	2008-08-19 12:34:05.000000000 +0200
++++ newlib-1.16.0/newlib/libc/include/machine/ieeefp.h	2008-11-17 07:10:24.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 --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/libc/include/machine/setjmp.h newlib-1.16.0/newlib/libc/include/machine/setjmp.h
+--- newlib-1.16.0.orig/newlib/libc/include/machine/setjmp.h	2008-08-19 12:34:05.000000000 +0200
++++ newlib-1.16.0/newlib/libc/include/machine/setjmp.h	2008-11-17 07:13:17.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 --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/libc/include/pthread.h newlib-1.16.0/newlib/libc/include/pthread.h
+--- newlib-1.16.0.orig/newlib/libc/include/pthread.h	2008-11-17 07:00:14.000000000 +0100
++++ newlib-1.16.0/newlib/libc/include/pthread.h	2008-11-17 07:10:24.000000000 +0100
+@@ -294,14 +294,6 @@
+ int	_EXFUN(pthread_getcpuclockid,
+ 	(pthread_t __pthread_id, clockid_t *__clock_id));
+  
+-/* CPU-time Clock Thread Creation Attribute, P1003.4b/D8, p. 59 */
+-
+-int	_EXFUN(pthread_attr_setcputime,
+-	(pthread_attr_t *__attr, int __clock_allowed));
+-
+-int	_EXFUN(pthread_attr_getcputime,
+-	(pthread_attr_t *__attr, int *__clock_allowed));
+-
+ #endif /* defined(_POSIX_THREAD_CPUTIME) */
+ 
+ 
+diff -Naur --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/libc/include/stdint.h newlib-1.16.0/newlib/libc/include/stdint.h
+--- newlib-1.16.0.orig/newlib/libc/include/stdint.h	2008-08-19 12:34:05.000000000 +0200
++++ newlib-1.16.0/newlib/libc/include/stdint.h	2008-11-17 07:10:24.000000000 +0100
+@@ -392,6 +392,9 @@
+ #define UINTMAX_C(x)	x##UL
+ #endif
+ 
++#ifdef __rtems__
++#include <machine/stdint.h>
++#endif
+ 
+ #ifdef __cplusplus
+ }
+diff -Naur --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/libc/include/sys/config.h newlib-1.16.0/newlib/libc/include/sys/config.h
+--- newlib-1.16.0.orig/newlib/libc/include/sys/config.h	2007-04-18 15:56:42.000000000 +0200
++++ newlib-1.16.0/newlib/libc/include/sys/config.h	2008-11-17 07:09:54.000000000 +0100
+@@ -183,6 +183,10 @@
+ #if defined(__rtems__)
+ #define __FILENAME_MAX__ 255
+ #define _READ_WRITE_RETURN_TYPE _ssize_t
++#if defined(__mips__)
++#undef __ATTRIBUTE_IMPURE_PTR__
++#define __ATTRIBUTE_IMPURE_PTR__
++#endif
+ #endif
+ 
+ #ifndef __IMPORT
+diff -Naur --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/libc/include/sys/features.h newlib-1.16.0/newlib/libc/include/sys/features.h
+--- newlib-1.16.0.orig/newlib/libc/include/sys/features.h	2008-11-17 07:00:14.000000000 +0100
++++ newlib-1.16.0/newlib/libc/include/sys/features.h	2008-11-17 07:15:17.000000000 +0100
+@@ -38,12 +38,12 @@
+ #define _POSIX_MEMLOCK_RANGE		1
+ #define _POSIX_MEMORY_PROTECTION	1
+ #define _POSIX_MESSAGE_PASSING		1
+-#define _POSIX_MONOTONIC_CLOCK		1
++#define _POSIX_MONOTONIC_CLOCK		200112L
+ #define _POSIX_PRIORITIZED_IO		1
+ #define _POSIX_PRIORITY_SCHEDULING	1
+ #define _POSIX_REALTIME_SIGNALS		1
+ #define _POSIX_SEMAPHORES		1
+-#define _POSIX_SHARED_MEMORY_OBJECTS	1
++/* #define _POSIX_SHARED_MEMORY_OBJECTS	1 */
+ #define _POSIX_SYNCHRONIZED_IO		1
+ #define _POSIX_TIMERS			1
+ #define _POSIX_BARRIERS                 200112L
+diff -Naur --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/libc/include/sys/_types.h newlib-1.16.0/newlib/libc/include/sys/_types.h
+--- newlib-1.16.0.orig/newlib/libc/include/sys/_types.h	2007-12-11 08:26:13.000000000 +0100
++++ newlib-1.16.0/newlib/libc/include/sys/_types.h	2008-11-17 07:09:54.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 --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/libc/machine/arm/machine/endian.h newlib-1.16.0/newlib/libc/machine/arm/machine/endian.h
+--- newlib-1.16.0.orig/newlib/libc/machine/arm/machine/endian.h	2004-05-07 22:29:24.000000000 +0200
++++ newlib-1.16.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 --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/libc/posix/runetype.h newlib-1.16.0/newlib/libc/posix/runetype.h
+--- newlib-1.16.0.orig/newlib/libc/posix/runetype.h	2008-10-31 22:03:41.000000000 +0100
++++ newlib-1.16.0/newlib/libc/posix/runetype.h	2008-11-19 07:14:46.000000000 +0100
+@@ -36,26 +36,15 @@
+ #ifndef	_RUNETYPE_H_
+ #define	_RUNETYPE_H_
+ 
++#include <stddef.h>
+ #include <sys/cdefs.h>
+ #include <machine/ansi.h>
+ 
+ #ifdef	_BSD_RUNE_T_
+ typedef	_BSD_RUNE_T_	rune_t;
+ #undef	_BSD_RUNE_T_
+-#endif
+-
++#else
+ typedef int rune_t;
+-
+-#ifdef	_BSD_SIZE_T_
+-typedef	_BSD_SIZE_T_	size_t;
+-#undef	_BSD_SIZE_T_
+-#endif
+-
+-typedef unsigned int size_t;
+-
+-#ifdef	_BSD_WCHAR_T_
+-typedef	_BSD_WCHAR_T_	wchar_t;
+-#undef	_BSD_WCHAR_T_
+ #endif
+ 
+ #define	_CACHED_RUNES	(1 <<8 )	/* Must be a power of 2 */
+diff -Naur --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/libc/sys/rtems/machine/stdint.h newlib-1.16.0/newlib/libc/sys/rtems/machine/stdint.h
+--- newlib-1.16.0.orig/newlib/libc/sys/rtems/machine/stdint.h	1970-01-01 01:00:00.000000000 +0100
++++ newlib-1.16.0/newlib/libc/sys/rtems/machine/stdint.h	2008-11-17 07:09:54.000000000 +0100
+@@ -0,0 +1,35 @@
++/*
++ *
++ */
++#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(__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__)
++/* PTRDIFF_TYPE = long */
++#define __ptrint_t_long_defined 1
++#endif
++
++#endif
+diff -Naur --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/Makefile.am newlib-1.16.0/newlib/Makefile.am
+--- newlib-1.16.0.orig/newlib/Makefile.am	2008-03-02 10:45:19.000000000 +0100
++++ newlib-1.16.0/newlib/Makefile.am	2008-11-17 08:05:18.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 --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/Makefile.in newlib-1.16.0/newlib/Makefile.in
+--- newlib-1.16.0.orig/newlib/Makefile.in	2008-11-17 07:00:11.000000000 +0100
++++ newlib-1.16.0/newlib/Makefile.in	2008-11-17 08:05:18.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.
