From 138cc2f19bb88cdf5ff36b6dd72e83ce906f638b Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Mon, 15 Mar 2010 14:31:54 +0000 Subject: [PATCH] Remove (Obsolete). --- .../newlib-1.18.0-rtems4.10-20091218.diff | 579 ---------------- .../newlib-1.18.0-rtems4.10-20100121.diff | 624 ------------------ 2 files changed, 1203 deletions(-) delete mode 100644 contrib/crossrpms/patches/newlib-1.18.0-rtems4.10-20091218.diff delete mode 100644 contrib/crossrpms/patches/newlib-1.18.0-rtems4.10-20100121.diff diff --git a/contrib/crossrpms/patches/newlib-1.18.0-rtems4.10-20091218.diff b/contrib/crossrpms/patches/newlib-1.18.0-rtems4.10-20091218.diff deleted file mode 100644 index 850c7f94f3..0000000000 --- a/contrib/crossrpms/patches/newlib-1.18.0-rtems4.10-20091218.diff +++ /dev/null @@ -1,579 +0,0 @@ -diff -Naur newlib-1.18.0.orig/newlib/ChangeLog.rtems newlib-1.18.0/newlib/ChangeLog.rtems ---- newlib-1.18.0.orig/newlib/ChangeLog.rtems 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.18.0/newlib/ChangeLog.rtems 2009-12-19 06:42:46.000000000 +0100 -@@ -0,0 +1,158 @@ -+2009-12-18 Ralf Corsépius -+ -+ * libc/search/db_local.h: -+ Use __uint32_t instead of u_int (prototype mismatches). -+ * libc/search/extern.h (__buf_init): -+ Use __uint32_t instead of int (16 bit target portability). -+ * libc/search/hash_buf.c: Use ptrdiff_t instead of __uint32_t, -+ use __uint32_t instead of int (16 bit target portability). -+ * libc/search/hash.h: Use __uint32_it instead of int -+ (16 bit target portability). -+ * libm/common/modfl.c: Add cast to (double*) to avoid GCC warning. -+ * libm/common/sf_llrint.c, libm/common/sf_round.c: Add explicit -+ casts to __uint32_t to avoid overflows on implicit casts. -+ -+2009-12-18 Ralf Corsépius -+ -+ Merger with newlib-1.18.0. -+ -+2009-10-29 Ralf Corsépius -+ -+ * libc/sys/rtems/machine/_types.h: Rework. -+ * libc/sys/rtems/machine/stdint.h: Remove. -+ * libc/include/inttypes.h: -+ Rework logic to determine PRI*PTR. -+ Prefer long64 over longlong64. -+ * libc/include/machine/_default_types.h: -+ Sync logic for __int32 with stdint.h (Prefer long over int). -+ * libc/include/stdint.h: -+ Remove __SPU__ hack. -+ Prefer int for int16_t (sync with _default_types.h). -+ Rework intptr_t determination. -+ -+2009-10-28 Ralf Corsépius -+ -+ * libc/sys/rtems/machine/_types.h: New. -+ Add custom time for _ssize_t. -+ * libc/stdlib/assert.c: Sync with newlib-CVS. -+ * configure.host: Add -DHAVE_ASSERT_FUNC to newlib_cflags. -+ -+2009-10-27 Ralf Corsépius -+ -+ * libc/include/sys/pthread.h: -+ Add pthread_atfork (Mandated by IEEE Std 1003.1-2008). -+ Add pthread_rwlock_unlock (Formerly missing) -+ -+2009-10-26 Ralf Corsépius -+ -+ * libc/include/sys/signal.h: Sync with newlib-CVS. -+ -+2009-10-09 Ralf Corsépius -+ -+ * libc/include/sys/signal.h: Use pid_t as 1st arg to kill() -+ (mandated by POSIX). -+ -+2009-09-22 Ralf Corsépius -+ -+ * libc/sys/rtems/sys/queue.h: Update copyright (from FreeBSD). -+ Remove CIRCLEQ_*. -+ * libc/search/hcreate.c: Don't include sys/queue.h. -+ -+2009-09-18 Christopher Faylor -+ -+ * libc/include/sys/unistd.h: Declare getpagesize as returning -+ POSIX-mandated int. -+ -+2009-09-16 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Use while(1) in _exit stub to silence GCC "noreturn" -+ warning. -+ -+2009-09-15 Ralf Corsépius -+ -+ * libc/include/stdlib.h: Add posix_memalign. -+ -+2009-09-11 Ralf Corsépius -+ -+ * configure.host (m32c): Remove -D_ABORT_PROVIDED. -+ -+2009-09-10 Ralf Corsépius -+ -+ * configure.host: Add -D_NO_POPEN. -+ * libc/sys/rtems/crt0.c: Don't provide waitpid unless used. -+ -+2009-09-09 Ralf Corsépius -+ -+ * configure.host: Add -D_NO_WORDEXP. -+ -+2009-09-06 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Add issetugid. -+ -+2009-09-02 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Rework. Introduce macro RTEMS_STUB. -+ -+2009-07-27 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Add _isatty_r. -+ -+2009-07-06 Joel Sherrill -+ -+ * libc/include/sys/features.h: Define _UNIX98_THREAD_MUTEX_ATTRIBUTES. -+ -+2009-05-05 Ralf Corsépius -+ -+ * configure.host: Remove -DMISSING_SYSCALL_NAMES. -+ -+2009-03-11 Ralf Corsépius -+ -+ * libc/stdlib/assert.c: Don't build __assert_func. -+ * libc/sys/rtems/crt0.c: Add __assert_func. -+ -+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.18.0.orig/newlib/libc/include/inttypes.h newlib-1.18.0/newlib/libc/include/inttypes.h ---- newlib-1.18.0.orig/newlib/libc/include/inttypes.h 2009-01-19 23:02:06.000000000 +0100 -+++ newlib-1.18.0/newlib/libc/include/inttypes.h 2009-12-18 06:55:34.000000000 +0100 -@@ -242,6 +242,20 @@ - #define SCNxMAX __SCNMAX(x) - - /* ptr types */ -+#if INTPTR_MAX == INT64_MAX -+#define __PRIPTR(x) __PRI64(x) -+#define __SCNPTR(x) __SCN64(x) -+#elif INTPTR_MAX == INT32_MAX -+#define __PRIPTR(x) __PRI32(x) -+#define __SCNPTR(x) __SCN32(x) -+#elif INTPTR_MAX == INT16_MAX -+#define __PRIPTR(x) __PRI16(x) -+#define __SCNPTR(x) __SCN16(x) -+#else -+#error cannot determine PRI*PTR -+#endif -+ -+#if 0 - #if __have_long64 - #define __PRIPTR(x) __STRINGIFY(l##x) - #define __SCNPTR(x) __STRINGIFY(l##x) -@@ -252,6 +266,7 @@ - #define __PRIPTR(x) __STRINGIFY(x) - #define __SCNPTR(x) __STRINGIFY(x) - #endif -+#endif - - #define PRIdPTR __PRIPTR(d) - #define PRIiPTR __PRIPTR(i) -diff -Naur newlib-1.18.0.orig/newlib/libc/include/machine/_default_types.h newlib-1.18.0/newlib/libc/include/machine/_default_types.h ---- newlib-1.18.0.orig/newlib/libc/include/machine/_default_types.h 2008-06-12 00:14:54.000000000 +0200 -+++ newlib-1.18.0/newlib/libc/include/machine/_default_types.h 2009-12-18 06:55:34.000000000 +0100 -@@ -54,14 +54,14 @@ - #endif - #endif - --#if __EXP(INT_MAX) == 0x7fffffffL --typedef signed int __int32_t; --typedef unsigned int __uint32_t; --#define ___int32_t_defined 1 --#elif __EXP(LONG_MAX) == 0x7fffffffL -+#if __EXP(LONG_MAX) == 0x7fffffffL - typedef signed long __int32_t; - typedef unsigned long __uint32_t; - #define ___int32_t_defined 1 -+#elif __EXP(INT_MAX) == 0x7fffffffL -+typedef signed int __int32_t; -+typedef unsigned int __uint32_t; -+#define ___int32_t_defined 1 - #elif __EXP(SHRT_MAX) == 0x7fffffffL - typedef signed short __int32_t; - typedef unsigned short __uint32_t; -diff -Naur newlib-1.18.0.orig/newlib/libc/include/stdint.h newlib-1.18.0/newlib/libc/include/stdint.h ---- newlib-1.18.0.orig/newlib/libc/include/stdint.h 2009-04-24 23:55:07.000000000 +0200 -+++ newlib-1.18.0/newlib/libc/include/stdint.h 2009-12-18 06:55:34.000000000 +0100 -@@ -33,7 +33,7 @@ - /* Check if "long" is 64bit or 32bit wide */ - #if __STDINT_EXP(LONG_MAX) > 0x7fffffff - #define __have_long64 1 --#elif __STDINT_EXP(LONG_MAX) == 0x7fffffff && !defined(__SPU__) -+#elif __STDINT_EXP(LONG_MAX) == 0x7fffffff - #define __have_long32 1 - #endif - -@@ -49,14 +49,14 @@ - #define __int_least8_t_defined 1 - #endif - --#if __STDINT_EXP(SHRT_MAX) == 0x7fff --typedef signed short int16_t; --typedef unsigned short uint16_t; --#define __int16_t_defined 1 --#elif __STDINT_EXP(INT_MAX) == 0x7fff -+#if __STDINT_EXP(INT_MAX) == 0x7fff - typedef signed int int16_t; - typedef unsigned int uint16_t; - #define __int16_t_defined 1 -+#elif __STDINT_EXP(SHRT_MAX) == 0x7fff -+typedef signed short int16_t; -+typedef unsigned short uint16_t; -+#define __int16_t_defined 1 - #elif __STDINT_EXP(SCHAR_MAX) == 0x7fff - typedef signed char int16_t; - typedef unsigned char uint16_t; -@@ -239,6 +239,29 @@ - * GCC doesn't provide an appropriate macro for [u]intptr_t - * For now, use __PTRDIFF_TYPE__ - */ -+#if defined(__SIZEOF_POINTER__) -+#if __SIZEOF_POINTER__ == 8 -+ typedef int64_t intptr_t; -+ typedef uint64_t uintptr_t; -+#define INTPTR_MAX INT64_MAX -+#define INTPTR_MIN INT64_MIN -+#define UINTPTR_MAX UINT64_MAX -+#elif __SIZEOF_POINTER__ == 4 -+ typedef int32_t intptr_t; -+ typedef uint32_t uintptr_t; -+#define INTPTR_MAX INT32_MAX -+#define INTPTR_MIN INT32_MIN -+#define UINTPTR_MAX UINT32_MAX -+#elif __SIZEOF_POINTER__ == 2 -+ typedef int16_t intptr_t; -+ typedef uint16_t uintptr_t; -+#define INTPTR_MAX INT16_MAX -+#define INTPTR_MIN INT16_MIN -+#define UINTPTR_MAX UINT16_MAX -+#else -+#error cannot determine intptr_t -+#endif -+#else - #if defined(__PTRDIFF_TYPE__) - typedef signed __PTRDIFF_TYPE__ intptr_t; - typedef unsigned __PTRDIFF_TYPE__ uintptr_t; -@@ -260,6 +283,7 @@ - #define INTPTR_MIN (-__STDINT_EXP(LONG_MAX) - 1) - #define UINTPTR_MAX (__STDINT_EXP(LONG_MAX) * 2UL + 1) - #endif -+#endif - - /* Limits of Specified-Width Integer Types */ - -diff -Naur newlib-1.18.0.orig/newlib/libc/machine/powerpc/Makefile.am newlib-1.18.0/newlib/libc/machine/powerpc/Makefile.am ---- newlib-1.18.0.orig/newlib/libc/machine/powerpc/Makefile.am 2007-05-24 19:33:35.000000000 +0200 -+++ newlib-1.18.0/newlib/libc/machine/powerpc/Makefile.am 2009-12-18 06:55:34.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.18.0.orig/newlib/libc/machine/powerpc/Makefile.in newlib-1.18.0/newlib/libc/machine/powerpc/Makefile.in ---- newlib-1.18.0.orig/newlib/libc/machine/powerpc/Makefile.in 2009-10-21 00:44:03.000000000 +0200 -+++ newlib-1.18.0/newlib/libc/machine/powerpc/Makefile.in 2009-12-18 06:55:34.000000000 +0100 -@@ -51,7 +51,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.@am__isrc@ - depcomp = -@@ -173,7 +173,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@ -@@ -184,7 +184,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) -@@ -245,18 +245,6 @@ - lib_a-setjmp.obj: setjmp.S - $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(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` -- - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ -diff -Naur newlib-1.18.0.orig/newlib/libc/machine/powerpc/times.c newlib-1.18.0/newlib/libc/machine/powerpc/times.c ---- newlib-1.18.0.orig/newlib/libc/machine/powerpc/times.c 2002-07-22 22:26:51.000000000 +0200 -+++ newlib-1.18.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.18.0.orig/newlib/libc/search/db_local.h newlib-1.18.0/newlib/libc/search/db_local.h ---- newlib-1.18.0.orig/newlib/libc/search/db_local.h 2002-06-25 01:05:08.000000000 +0200 -+++ newlib-1.18.0/newlib/libc/search/db_local.h 2009-12-18 08:37:42.000000000 +0100 -@@ -102,11 +102,11 @@ - typedef struct __db { - DBTYPE type; /* Underlying db type. */ - int (*close)(struct __db *); -- int (*del)(const struct __db *, const DBT *, u_int); -- int (*get)(const struct __db *, const DBT *, DBT *, u_int); -- int (*put)(const struct __db *, DBT *, const DBT *, u_int); -- int (*seq)(const struct __db *, DBT *, DBT *, u_int); -- int (*sync)(const struct __db *, u_int); -+ int (*del)(const struct __db *, const DBT *, __uint32_t); -+ int (*get)(const struct __db *, const DBT *, DBT *, __uint32_t); -+ int (*put)(const struct __db *, DBT *, const DBT *, __uint32_t); -+ int (*seq)(const struct __db *, DBT *, DBT *, __uint32_t); -+ int (*sync)(const struct __db *, __uint32_t); - void *internal; /* Access method private. */ - int (*fd)(const struct __db *); - } DB; -diff -Naur newlib-1.18.0.orig/newlib/libc/search/extern.h newlib-1.18.0/newlib/libc/search/extern.h ---- newlib-1.18.0.orig/newlib/libc/search/extern.h 2002-06-20 21:51:31.000000000 +0200 -+++ newlib-1.18.0/newlib/libc/search/extern.h 2009-12-18 12:40:55.000000000 +0100 -@@ -43,7 +43,7 @@ - int __big_split(HTAB *, BUFHEAD *, BUFHEAD *, BUFHEAD *, - int, __uint32_t, SPLIT_RETURN *); - int __buf_free(HTAB *, int, int); --void __buf_init(HTAB *, int); -+void __buf_init(HTAB *, __uint32_t); - __uint32_t __call_hash(HTAB *, char *, int); - int __delpair(HTAB *, BUFHEAD *, int); - int __expand_table(HTAB *); -diff -Naur newlib-1.18.0.orig/newlib/libc/search/hash_buf.c newlib-1.18.0/newlib/libc/search/hash_buf.c ---- newlib-1.18.0.orig/newlib/libc/search/hash_buf.c 2004-05-26 19:57:10.000000000 +0200 -+++ newlib-1.18.0/newlib/libc/search/hash_buf.c 2009-12-18 17:08:18.000000000 +0100 -@@ -118,7 +118,7 @@ - int newpage; /* If prev_bp set, indicates a new overflow page. */ - { - BUFHEAD *bp; -- __uint32_t is_disk_mask; -+ ptrdiff_t is_disk_mask; - int is_disk, segment_ndx; - SEGMENT segp; - -@@ -298,7 +298,7 @@ - extern void - __buf_init(hashp, nbytes) - HTAB *hashp; -- int nbytes; -+ __uint32_t nbytes; - { - BUFHEAD *bfp; - int npages; -diff -Naur newlib-1.18.0.orig/newlib/libc/search/hash.h newlib-1.18.0/newlib/libc/search/hash.h ---- newlib-1.18.0.orig/newlib/libc/search/hash.h 2008-07-02 20:38:45.000000000 +0200 -+++ newlib-1.18.0/newlib/libc/search/hash.h 2009-12-18 15:09:49.000000000 +0100 -@@ -82,7 +82,7 @@ - - /* Hash Table Information */ - typedef struct hashhdr { /* Disk resident portion */ -- int magic; /* Magic NO for hash tables */ -+ __uint32_t magic; /* Magic NO for hash tables */ - int version; /* Version ID */ - __uint32_t lorder; /* Byte Order */ - int bsize; /* Bucket/Page Size */ -@@ -97,7 +97,7 @@ - int high_mask; /* Mask to modulo into entire table */ - int low_mask; /* Mask to modulo into lower half of - * table */ -- int ffactor; /* Fill factor */ -+ __uint32_t ffactor; /* Fill factor */ - int nkeys; /* Number of keys in hash table */ - int hdrpages; /* Size of table header */ - int h_charkey; /* value of hash(CHARKEY) */ -diff -Naur newlib-1.18.0.orig/newlib/libm/common/modfl.c newlib-1.18.0/newlib/libm/common/modfl.c ---- newlib-1.18.0.orig/newlib/libm/common/modfl.c 2009-04-18 00:15:43.000000000 +0200 -+++ newlib-1.18.0/newlib/libm/common/modfl.c 2009-12-18 18:13:14.000000000 +0100 -@@ -36,7 +36,7 @@ - long double - modfl (long double x, long double *iptr) - { -- return modf(x, iptr); -+ return modf(x, (double*) iptr); - } - #endif - -diff -Naur newlib-1.18.0.orig/newlib/libm/common/sf_llrint.c newlib-1.18.0/newlib/libm/common/sf_llrint.c ---- newlib-1.18.0.orig/newlib/libm/common/sf_llrint.c 2009-04-03 19:39:24.000000000 +0200 -+++ newlib-1.18.0/newlib/libm/common/sf_llrint.c 2009-12-18 18:08:32.000000000 +0100 -@@ -71,7 +71,7 @@ - GET_FLOAT_WORD (i0, t); - /* Detect the all-zeros representation of plus and - minus zero, which fails the calculation below. */ -- if ((i0 & ~(1 << 31)) == 0) -+ if ((i0 & ~((__uint32_t)1 << 31)) == 0) - return 0; - j0 = ((i0 >> 23) & 0xff) - 0x7f; - i0 &= 0x7fffff; -diff -Naur newlib-1.18.0.orig/newlib/libm/common/sf_round.c newlib-1.18.0/newlib/libm/common/sf_round.c ---- newlib-1.18.0.orig/newlib/libm/common/sf_round.c 2005-02-24 20:02:35.000000000 +0100 -+++ newlib-1.18.0/newlib/libm/common/sf_round.c 2009-12-18 17:53:02.000000000 +0100 -@@ -38,7 +38,7 @@ - w &= 0x80000000; - if (exponent_less_127 == -1) - /* Result is +1.0 or -1.0. */ -- w |= (127 << 23); -+ w |= ((__uint32_t)127 << 23); - } - else - { -diff -Naur newlib-1.18.0.orig/newlib/Makefile.am newlib-1.18.0/newlib/Makefile.am ---- newlib-1.18.0.orig/newlib/Makefile.am 2009-08-18 23:48:05.000000000 +0200 -+++ newlib-1.18.0/newlib/Makefile.am 2009-12-18 06:55:34.000000000 +0100 -@@ -81,7 +81,7 @@ - libc.a - endif - --noinst_DATA = stmp-targ-include -+BUILT_SOURCES = stmp-targ-include - - toollib_DATA = $(CRT0) $(CRT1) - -diff -Naur newlib-1.18.0.orig/newlib/Makefile.in newlib-1.18.0/newlib/Makefile.in ---- newlib-1.18.0.orig/newlib/Makefile.in 2009-10-21 00:43:45.000000000 +0200 -+++ newlib-1.18.0/newlib/Makefile.in 2009-12-18 06:55:34.000000000 +0100 -@@ -122,7 +122,7 @@ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive --DATA = $(noinst_DATA) $(toollib_DATA) -+DATA = $(toollib_DATA) - RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive - AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ -@@ -351,7 +351,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 -@@ -411,7 +411,7 @@ - - # dejagnu support - RUNTESTFLAGS = --all: newlib.h -+all: $(BUILT_SOURCES) newlib.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - - .SUFFIXES: -@@ -725,14 +725,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 -@@ -758,6 +760,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 \ -@@ -833,8 +836,9 @@ - uninstall-am: uninstall-toollibDATA uninstall-toollibLIBRARIES \ - uninstall-toollibLTLIBRARIES - --.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check-am \ -- ctags-recursive install-am install-strip tags-recursive -+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ -+ check-am ctags-recursive install install-am install-strip \ -+ tags-recursive - - .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am am--refresh check check-DEJAGNU check-am clean \ diff --git a/contrib/crossrpms/patches/newlib-1.18.0-rtems4.10-20100121.diff b/contrib/crossrpms/patches/newlib-1.18.0-rtems4.10-20100121.diff deleted file mode 100644 index 45d4e24bd1..0000000000 --- a/contrib/crossrpms/patches/newlib-1.18.0-rtems4.10-20100121.diff +++ /dev/null @@ -1,624 +0,0 @@ -diff -Naur newlib-1.18.0.orig/newlib/ChangeLog.rtems newlib-1.18.0/newlib/ChangeLog.rtems ---- newlib-1.18.0.orig/newlib/ChangeLog.rtems 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.18.0/newlib/ChangeLog.rtems 2010-01-21 12:50:54.000000000 +0100 -@@ -0,0 +1,162 @@ -+2010-01-11 Sebastian Huber -+ -+ * libc/posix/telldir.c (_cleanupdir): Fixed usage of freed memory. -+ -+2009-12-18 Ralf Corsépius -+ -+ * libc/search/db_local.h: -+ Use __uint32_t instead of u_int (prototype mismatches). -+ * libc/search/extern.h (__buf_init): -+ Use __uint32_t instead of int (16 bit target portability). -+ * libc/search/hash_buf.c: Use ptrdiff_t instead of __uint32_t, -+ use __uint32_t instead of int (16 bit target portability). -+ * libc/search/hash.h: Use __uint32_it instead of int -+ (16 bit target portability). -+ * libm/common/modfl.c: Add cast to (double*) to avoid GCC warning. -+ * libm/common/sf_llrint.c, libm/common/sf_round.c: Add explicit -+ casts to __uint32_t to avoid overflows on implicit casts. -+ -+2009-12-18 Ralf Corsépius -+ -+ Merger with newlib-1.18.0. -+ -+2009-10-29 Ralf Corsépius -+ -+ * libc/sys/rtems/machine/_types.h: Rework. -+ * libc/sys/rtems/machine/stdint.h: Remove. -+ * libc/include/inttypes.h: -+ Rework logic to determine PRI*PTR. -+ Prefer long64 over longlong64. -+ * libc/include/machine/_default_types.h: -+ Sync logic for __int32 with stdint.h (Prefer long over int). -+ * libc/include/stdint.h: -+ Remove __SPU__ hack. -+ Prefer int for int16_t (sync with _default_types.h). -+ Rework intptr_t determination. -+ -+2009-10-28 Ralf Corsépius -+ -+ * libc/sys/rtems/machine/_types.h: New. -+ Add custom time for _ssize_t. -+ * libc/stdlib/assert.c: Sync with newlib-CVS. -+ * configure.host: Add -DHAVE_ASSERT_FUNC to newlib_cflags. -+ -+2009-10-27 Ralf Corsépius -+ -+ * libc/include/sys/pthread.h: -+ Add pthread_atfork (Mandated by IEEE Std 1003.1-2008). -+ Add pthread_rwlock_unlock (Formerly missing) -+ -+2009-10-26 Ralf Corsépius -+ -+ * libc/include/sys/signal.h: Sync with newlib-CVS. -+ -+2009-10-09 Ralf Corsépius -+ -+ * libc/include/sys/signal.h: Use pid_t as 1st arg to kill() -+ (mandated by POSIX). -+ -+2009-09-22 Ralf Corsépius -+ -+ * libc/sys/rtems/sys/queue.h: Update copyright (from FreeBSD). -+ Remove CIRCLEQ_*. -+ * libc/search/hcreate.c: Don't include sys/queue.h. -+ -+2009-09-18 Christopher Faylor -+ -+ * libc/include/sys/unistd.h: Declare getpagesize as returning -+ POSIX-mandated int. -+ -+2009-09-16 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Use while(1) in _exit stub to silence GCC "noreturn" -+ warning. -+ -+2009-09-15 Ralf Corsépius -+ -+ * libc/include/stdlib.h: Add posix_memalign. -+ -+2009-09-11 Ralf Corsépius -+ -+ * configure.host (m32c): Remove -D_ABORT_PROVIDED. -+ -+2009-09-10 Ralf Corsépius -+ -+ * configure.host: Add -D_NO_POPEN. -+ * libc/sys/rtems/crt0.c: Don't provide waitpid unless used. -+ -+2009-09-09 Ralf Corsépius -+ -+ * configure.host: Add -D_NO_WORDEXP. -+ -+2009-09-06 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Add issetugid. -+ -+2009-09-02 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Rework. Introduce macro RTEMS_STUB. -+ -+2009-07-27 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Add _isatty_r. -+ -+2009-07-06 Joel Sherrill -+ -+ * libc/include/sys/features.h: Define _UNIX98_THREAD_MUTEX_ATTRIBUTES. -+ -+2009-05-05 Ralf Corsépius -+ -+ * configure.host: Remove -DMISSING_SYSCALL_NAMES. -+ -+2009-03-11 Ralf Corsépius -+ -+ * libc/stdlib/assert.c: Don't build __assert_func. -+ * libc/sys/rtems/crt0.c: Add __assert_func. -+ -+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.18.0.orig/newlib/libc/include/inttypes.h newlib-1.18.0/newlib/libc/include/inttypes.h ---- newlib-1.18.0.orig/newlib/libc/include/inttypes.h 2009-01-19 23:02:06.000000000 +0100 -+++ newlib-1.18.0/newlib/libc/include/inttypes.h 2010-01-21 12:49:53.000000000 +0100 -@@ -242,6 +242,20 @@ - #define SCNxMAX __SCNMAX(x) - - /* ptr types */ -+#if INTPTR_MAX == INT64_MAX -+#define __PRIPTR(x) __PRI64(x) -+#define __SCNPTR(x) __SCN64(x) -+#elif INTPTR_MAX == INT32_MAX -+#define __PRIPTR(x) __PRI32(x) -+#define __SCNPTR(x) __SCN32(x) -+#elif INTPTR_MAX == INT16_MAX -+#define __PRIPTR(x) __PRI16(x) -+#define __SCNPTR(x) __SCN16(x) -+#else -+#error cannot determine PRI*PTR -+#endif -+ -+#if 0 - #if __have_long64 - #define __PRIPTR(x) __STRINGIFY(l##x) - #define __SCNPTR(x) __STRINGIFY(l##x) -@@ -252,6 +266,7 @@ - #define __PRIPTR(x) __STRINGIFY(x) - #define __SCNPTR(x) __STRINGIFY(x) - #endif -+#endif - - #define PRIdPTR __PRIPTR(d) - #define PRIiPTR __PRIPTR(i) -diff -Naur newlib-1.18.0.orig/newlib/libc/include/machine/_default_types.h newlib-1.18.0/newlib/libc/include/machine/_default_types.h ---- newlib-1.18.0.orig/newlib/libc/include/machine/_default_types.h 2008-06-12 00:14:54.000000000 +0200 -+++ newlib-1.18.0/newlib/libc/include/machine/_default_types.h 2010-01-21 12:49:53.000000000 +0100 -@@ -54,14 +54,14 @@ - #endif - #endif - --#if __EXP(INT_MAX) == 0x7fffffffL --typedef signed int __int32_t; --typedef unsigned int __uint32_t; --#define ___int32_t_defined 1 --#elif __EXP(LONG_MAX) == 0x7fffffffL -+#if __EXP(LONG_MAX) == 0x7fffffffL - typedef signed long __int32_t; - typedef unsigned long __uint32_t; - #define ___int32_t_defined 1 -+#elif __EXP(INT_MAX) == 0x7fffffffL -+typedef signed int __int32_t; -+typedef unsigned int __uint32_t; -+#define ___int32_t_defined 1 - #elif __EXP(SHRT_MAX) == 0x7fffffffL - typedef signed short __int32_t; - typedef unsigned short __uint32_t; -diff -Naur newlib-1.18.0.orig/newlib/libc/include/stdint.h newlib-1.18.0/newlib/libc/include/stdint.h ---- newlib-1.18.0.orig/newlib/libc/include/stdint.h 2009-04-24 23:55:07.000000000 +0200 -+++ newlib-1.18.0/newlib/libc/include/stdint.h 2010-01-21 12:49:53.000000000 +0100 -@@ -33,7 +33,7 @@ - /* Check if "long" is 64bit or 32bit wide */ - #if __STDINT_EXP(LONG_MAX) > 0x7fffffff - #define __have_long64 1 --#elif __STDINT_EXP(LONG_MAX) == 0x7fffffff && !defined(__SPU__) -+#elif __STDINT_EXP(LONG_MAX) == 0x7fffffff - #define __have_long32 1 - #endif - -@@ -49,14 +49,14 @@ - #define __int_least8_t_defined 1 - #endif - --#if __STDINT_EXP(SHRT_MAX) == 0x7fff --typedef signed short int16_t; --typedef unsigned short uint16_t; --#define __int16_t_defined 1 --#elif __STDINT_EXP(INT_MAX) == 0x7fff -+#if __STDINT_EXP(INT_MAX) == 0x7fff - typedef signed int int16_t; - typedef unsigned int uint16_t; - #define __int16_t_defined 1 -+#elif __STDINT_EXP(SHRT_MAX) == 0x7fff -+typedef signed short int16_t; -+typedef unsigned short uint16_t; -+#define __int16_t_defined 1 - #elif __STDINT_EXP(SCHAR_MAX) == 0x7fff - typedef signed char int16_t; - typedef unsigned char uint16_t; -@@ -239,6 +239,29 @@ - * GCC doesn't provide an appropriate macro for [u]intptr_t - * For now, use __PTRDIFF_TYPE__ - */ -+#if defined(__SIZEOF_POINTER__) -+#if __SIZEOF_POINTER__ == 8 -+ typedef int64_t intptr_t; -+ typedef uint64_t uintptr_t; -+#define INTPTR_MAX INT64_MAX -+#define INTPTR_MIN INT64_MIN -+#define UINTPTR_MAX UINT64_MAX -+#elif __SIZEOF_POINTER__ == 4 -+ typedef int32_t intptr_t; -+ typedef uint32_t uintptr_t; -+#define INTPTR_MAX INT32_MAX -+#define INTPTR_MIN INT32_MIN -+#define UINTPTR_MAX UINT32_MAX -+#elif __SIZEOF_POINTER__ == 2 -+ typedef int16_t intptr_t; -+ typedef uint16_t uintptr_t; -+#define INTPTR_MAX INT16_MAX -+#define INTPTR_MIN INT16_MIN -+#define UINTPTR_MAX UINT16_MAX -+#else -+#error cannot determine intptr_t -+#endif -+#else - #if defined(__PTRDIFF_TYPE__) - typedef signed __PTRDIFF_TYPE__ intptr_t; - typedef unsigned __PTRDIFF_TYPE__ uintptr_t; -@@ -260,6 +283,7 @@ - #define INTPTR_MIN (-__STDINT_EXP(LONG_MAX) - 1) - #define UINTPTR_MAX (__STDINT_EXP(LONG_MAX) * 2UL + 1) - #endif -+#endif - - /* Limits of Specified-Width Integer Types */ - -diff -Naur newlib-1.18.0.orig/newlib/libc/machine/powerpc/Makefile.am newlib-1.18.0/newlib/libc/machine/powerpc/Makefile.am ---- newlib-1.18.0.orig/newlib/libc/machine/powerpc/Makefile.am 2007-05-24 19:33:35.000000000 +0200 -+++ newlib-1.18.0/newlib/libc/machine/powerpc/Makefile.am 2010-01-21 12:49:53.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.18.0.orig/newlib/libc/machine/powerpc/Makefile.in newlib-1.18.0/newlib/libc/machine/powerpc/Makefile.in ---- newlib-1.18.0.orig/newlib/libc/machine/powerpc/Makefile.in 2009-10-21 00:44:03.000000000 +0200 -+++ newlib-1.18.0/newlib/libc/machine/powerpc/Makefile.in 2010-01-21 12:49:53.000000000 +0100 -@@ -51,7 +51,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.@am__isrc@ - depcomp = -@@ -173,7 +173,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@ -@@ -184,7 +184,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) -@@ -245,18 +245,6 @@ - lib_a-setjmp.obj: setjmp.S - $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(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` -- - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ -diff -Naur newlib-1.18.0.orig/newlib/libc/machine/powerpc/times.c newlib-1.18.0/newlib/libc/machine/powerpc/times.c ---- newlib-1.18.0.orig/newlib/libc/machine/powerpc/times.c 2002-07-22 22:26:51.000000000 +0200 -+++ newlib-1.18.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.18.0.orig/newlib/libc/posix/telldir.c newlib-1.18.0/newlib/libc/posix/telldir.c ---- newlib-1.18.0.orig/newlib/libc/posix/telldir.c 2008-11-27 22:01:40.000000000 +0100 -+++ newlib-1.18.0/newlib/libc/posix/telldir.c 2010-01-21 12:50:13.000000000 +0100 -@@ -169,26 +169,26 @@ - __lock_acquire(dd_hash_lock); - #endif - for (i = 0; i < NDIRHASH; ++i) { -+ struct ddloc head; - register struct ddloc *lp; - register struct ddloc *prevlp; -+ - lp = dd_hash[i]; -- while (lp != NULL && lp->loc_dirp == dirp) { -- dd_hash[i] = lp->loc_next; -- prevlp = lp; -- free((caddr_t)lp); -- lp = prevlp->loc_next; -- } -- prevlp = lp; -+ head.loc_next = lp; -+ prevlp = &head; - while (lp != NULL) { -- lp = lp->loc_next; -- if (lp != NULL && lp->loc_dirp == dirp) { -- prevlp->loc_next = lp->loc_next; -+ struct ddloc *nextlp; -+ -+ nextlp = lp->loc_next; -+ if (lp->loc_dirp == dirp) { -+ prevlp->loc_next = nextlp; - free((caddr_t)lp); -- lp = prevlp; - } - else - prevlp = lp; -+ lp = nextlp; - } -+ dd_hash[i] = head.loc_next; - } - #ifdef HAVE_DD_LOCK - __lock_release(dd_hash_lock); -diff -Naur newlib-1.18.0.orig/newlib/libc/search/db_local.h newlib-1.18.0/newlib/libc/search/db_local.h ---- newlib-1.18.0.orig/newlib/libc/search/db_local.h 2002-06-25 01:05:08.000000000 +0200 -+++ newlib-1.18.0/newlib/libc/search/db_local.h 2010-01-21 12:49:53.000000000 +0100 -@@ -102,11 +102,11 @@ - typedef struct __db { - DBTYPE type; /* Underlying db type. */ - int (*close)(struct __db *); -- int (*del)(const struct __db *, const DBT *, u_int); -- int (*get)(const struct __db *, const DBT *, DBT *, u_int); -- int (*put)(const struct __db *, DBT *, const DBT *, u_int); -- int (*seq)(const struct __db *, DBT *, DBT *, u_int); -- int (*sync)(const struct __db *, u_int); -+ int (*del)(const struct __db *, const DBT *, __uint32_t); -+ int (*get)(const struct __db *, const DBT *, DBT *, __uint32_t); -+ int (*put)(const struct __db *, DBT *, const DBT *, __uint32_t); -+ int (*seq)(const struct __db *, DBT *, DBT *, __uint32_t); -+ int (*sync)(const struct __db *, __uint32_t); - void *internal; /* Access method private. */ - int (*fd)(const struct __db *); - } DB; -diff -Naur newlib-1.18.0.orig/newlib/libc/search/extern.h newlib-1.18.0/newlib/libc/search/extern.h ---- newlib-1.18.0.orig/newlib/libc/search/extern.h 2002-06-20 21:51:31.000000000 +0200 -+++ newlib-1.18.0/newlib/libc/search/extern.h 2010-01-21 12:49:53.000000000 +0100 -@@ -43,7 +43,7 @@ - int __big_split(HTAB *, BUFHEAD *, BUFHEAD *, BUFHEAD *, - int, __uint32_t, SPLIT_RETURN *); - int __buf_free(HTAB *, int, int); --void __buf_init(HTAB *, int); -+void __buf_init(HTAB *, __uint32_t); - __uint32_t __call_hash(HTAB *, char *, int); - int __delpair(HTAB *, BUFHEAD *, int); - int __expand_table(HTAB *); -diff -Naur newlib-1.18.0.orig/newlib/libc/search/hash_buf.c newlib-1.18.0/newlib/libc/search/hash_buf.c ---- newlib-1.18.0.orig/newlib/libc/search/hash_buf.c 2004-05-26 19:57:10.000000000 +0200 -+++ newlib-1.18.0/newlib/libc/search/hash_buf.c 2010-01-21 12:49:53.000000000 +0100 -@@ -118,7 +118,7 @@ - int newpage; /* If prev_bp set, indicates a new overflow page. */ - { - BUFHEAD *bp; -- __uint32_t is_disk_mask; -+ ptrdiff_t is_disk_mask; - int is_disk, segment_ndx; - SEGMENT segp; - -@@ -298,7 +298,7 @@ - extern void - __buf_init(hashp, nbytes) - HTAB *hashp; -- int nbytes; -+ __uint32_t nbytes; - { - BUFHEAD *bfp; - int npages; -diff -Naur newlib-1.18.0.orig/newlib/libc/search/hash.h newlib-1.18.0/newlib/libc/search/hash.h ---- newlib-1.18.0.orig/newlib/libc/search/hash.h 2008-07-02 20:38:45.000000000 +0200 -+++ newlib-1.18.0/newlib/libc/search/hash.h 2010-01-21 12:49:53.000000000 +0100 -@@ -82,7 +82,7 @@ - - /* Hash Table Information */ - typedef struct hashhdr { /* Disk resident portion */ -- int magic; /* Magic NO for hash tables */ -+ __uint32_t magic; /* Magic NO for hash tables */ - int version; /* Version ID */ - __uint32_t lorder; /* Byte Order */ - int bsize; /* Bucket/Page Size */ -@@ -97,7 +97,7 @@ - int high_mask; /* Mask to modulo into entire table */ - int low_mask; /* Mask to modulo into lower half of - * table */ -- int ffactor; /* Fill factor */ -+ __uint32_t ffactor; /* Fill factor */ - int nkeys; /* Number of keys in hash table */ - int hdrpages; /* Size of table header */ - int h_charkey; /* value of hash(CHARKEY) */ -diff -Naur newlib-1.18.0.orig/newlib/libm/common/modfl.c newlib-1.18.0/newlib/libm/common/modfl.c ---- newlib-1.18.0.orig/newlib/libm/common/modfl.c 2009-04-18 00:15:43.000000000 +0200 -+++ newlib-1.18.0/newlib/libm/common/modfl.c 2010-01-21 12:49:53.000000000 +0100 -@@ -36,7 +36,7 @@ - long double - modfl (long double x, long double *iptr) - { -- return modf(x, iptr); -+ return modf(x, (double*) iptr); - } - #endif - -diff -Naur newlib-1.18.0.orig/newlib/libm/common/sf_llrint.c newlib-1.18.0/newlib/libm/common/sf_llrint.c ---- newlib-1.18.0.orig/newlib/libm/common/sf_llrint.c 2009-04-03 19:39:24.000000000 +0200 -+++ newlib-1.18.0/newlib/libm/common/sf_llrint.c 2010-01-21 12:49:53.000000000 +0100 -@@ -71,7 +71,7 @@ - GET_FLOAT_WORD (i0, t); - /* Detect the all-zeros representation of plus and - minus zero, which fails the calculation below. */ -- if ((i0 & ~(1 << 31)) == 0) -+ if ((i0 & ~((__uint32_t)1 << 31)) == 0) - return 0; - j0 = ((i0 >> 23) & 0xff) - 0x7f; - i0 &= 0x7fffff; -diff -Naur newlib-1.18.0.orig/newlib/libm/common/sf_round.c newlib-1.18.0/newlib/libm/common/sf_round.c ---- newlib-1.18.0.orig/newlib/libm/common/sf_round.c 2005-02-24 20:02:35.000000000 +0100 -+++ newlib-1.18.0/newlib/libm/common/sf_round.c 2010-01-21 12:49:53.000000000 +0100 -@@ -38,7 +38,7 @@ - w &= 0x80000000; - if (exponent_less_127 == -1) - /* Result is +1.0 or -1.0. */ -- w |= (127 << 23); -+ w |= ((__uint32_t)127 << 23); - } - else - { -diff -Naur newlib-1.18.0.orig/newlib/Makefile.am newlib-1.18.0/newlib/Makefile.am ---- newlib-1.18.0.orig/newlib/Makefile.am 2009-08-18 23:48:05.000000000 +0200 -+++ newlib-1.18.0/newlib/Makefile.am 2010-01-21 12:49:53.000000000 +0100 -@@ -81,7 +81,7 @@ - libc.a - endif - --noinst_DATA = stmp-targ-include -+BUILT_SOURCES = stmp-targ-include - - toollib_DATA = $(CRT0) $(CRT1) - -diff -Naur newlib-1.18.0.orig/newlib/Makefile.in newlib-1.18.0/newlib/Makefile.in ---- newlib-1.18.0.orig/newlib/Makefile.in 2009-10-21 00:43:45.000000000 +0200 -+++ newlib-1.18.0/newlib/Makefile.in 2010-01-21 12:49:53.000000000 +0100 -@@ -122,7 +122,7 @@ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive --DATA = $(noinst_DATA) $(toollib_DATA) -+DATA = $(toollib_DATA) - RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive - AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ -@@ -351,7 +351,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 -@@ -411,7 +411,7 @@ - - # dejagnu support - RUNTESTFLAGS = --all: newlib.h -+all: $(BUILT_SOURCES) newlib.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - - .SUFFIXES: -@@ -725,14 +725,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 -@@ -758,6 +760,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 \ -@@ -833,8 +836,9 @@ - uninstall-am: uninstall-toollibDATA uninstall-toollibLIBRARIES \ - uninstall-toollibLTLIBRARIES - --.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check-am \ -- ctags-recursive install-am install-strip tags-recursive -+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ -+ check-am ctags-recursive install install-am install-strip \ -+ tags-recursive - - .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am am--refresh check check-DEJAGNU check-am clean \