summaryrefslogblamecommitdiffstats
path: root/contrib/crossrpms/patches/newlib-1.17.0-rtems4.10-20081223.diff
blob: 8d86b7c5f36b442320ff143626d4352e7c57f97e (plain) (tree)



































































































































































































































                                                                                                                             
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	2008-12-23 07:50:45.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 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	2008-12-23 07:50:45.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	2008-12-23 07:50:45.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/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	2008-12-23 07:50:45.000000000 +0100
@@ -475,6 +475,9 @@
 #define UINTMAX_C(x)	x##UL
 #endif
 
+#ifdef __rtems__
+#include <machine/stdint.h>
+#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	2008-12-23 07:50:45.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/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	2008-12-23 07:50:45.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__)
+#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/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	2008-12-23 07:50:45.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	2008-09-29 17:40:26.000000000 +0200
+++ newlib-1.17.0/newlib/Makefile.in	2008-12-23 07:50:45.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.