From 5a820918f121590bf1595f08a0f655fee37280a2 Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Thu, 5 Jun 2008 02:53:52 +0000 Subject: Remove. --- .../patches/binutils-2.16.1-rtems-20050708.diff | 97 -- .../patches/binutils-2.17-rtems4.8-20061021.diff | 556 ------ .../binutils-2.17.90-rtems4.8-20070807.diff | 14 - .../patches/binutils-2.18-rtems4.9-20071104.diff | 24 - .../patches/gcc-core-4.0.4-rtems4.9-20071111.diff | 27 - .../patches/gcc-core-4.2.3-rtems4.9-20080202.diff | 75 - .../patches/gcc-core-4.3.0-rtems4.9-20080306.diff | 89 - .../patches/gdb-6.8-rtems4.9-20080428.diff | 584 ------- .../patches/newlib-1.15.0-rtems4.8-20070208.diff | 1392 --------------- .../patches/newlib-1.15.0-rtems4.8-20070316.diff | 1403 --------------- .../patches/newlib-1.15.0-rtems4.8-20070413.diff | 1449 ---------------- .../patches/newlib-1.15.0-rtems4.8-20070912.diff | 1626 ------------------ .../patches/newlib-1.16.0-rtems4.9-20071220.diff | 1054 ------------ .../patches/newlib-1.16.0-rtems4.9-20080131.diff | 1138 ------------ .../patches/newlib-1.16.0-rtems4.9-20080302.diff | 1803 -------------------- 15 files changed, 11331 deletions(-) delete mode 100644 contrib/crossrpms/patches/binutils-2.16.1-rtems-20050708.diff delete mode 100644 contrib/crossrpms/patches/binutils-2.17-rtems4.8-20061021.diff delete mode 100644 contrib/crossrpms/patches/binutils-2.17.90-rtems4.8-20070807.diff delete mode 100644 contrib/crossrpms/patches/binutils-2.18-rtems4.9-20071104.diff delete mode 100644 contrib/crossrpms/patches/gcc-core-4.0.4-rtems4.9-20071111.diff delete mode 100644 contrib/crossrpms/patches/gcc-core-4.2.3-rtems4.9-20080202.diff delete mode 100644 contrib/crossrpms/patches/gcc-core-4.3.0-rtems4.9-20080306.diff delete mode 100644 contrib/crossrpms/patches/gdb-6.8-rtems4.9-20080428.diff delete mode 100644 contrib/crossrpms/patches/newlib-1.15.0-rtems4.8-20070208.diff delete mode 100644 contrib/crossrpms/patches/newlib-1.15.0-rtems4.8-20070316.diff delete mode 100644 contrib/crossrpms/patches/newlib-1.15.0-rtems4.8-20070413.diff delete mode 100644 contrib/crossrpms/patches/newlib-1.15.0-rtems4.8-20070912.diff delete mode 100644 contrib/crossrpms/patches/newlib-1.16.0-rtems4.9-20071220.diff delete mode 100644 contrib/crossrpms/patches/newlib-1.16.0-rtems4.9-20080131.diff delete mode 100644 contrib/crossrpms/patches/newlib-1.16.0-rtems4.9-20080302.diff (limited to 'contrib') diff --git a/contrib/crossrpms/patches/binutils-2.16.1-rtems-20050708.diff b/contrib/crossrpms/patches/binutils-2.16.1-rtems-20050708.diff deleted file mode 100644 index 37d102c8b9..0000000000 --- a/contrib/crossrpms/patches/binutils-2.16.1-rtems-20050708.diff +++ /dev/null @@ -1,97 +0,0 @@ ---- binutils-2.16.1/bfd/config.bfd 31 Jan 2005 17:18:47 -0000 1.181 -+++ binutils-2.16.1/bfd/config.bfd 5 Jul 2005 15:32:00 -0000 -@@ -369,7 +369,12 @@ - targ_selvecs=bfd_elf32_frv_vec - ;; - -- h8300*-*-elf) -+ h8300*-*-rtemscoff*) -+ targ_defvec=h8300coff_vec -+ targ_underscore=yes -+ ;; -+ -+ h8300*-*-elf | h8300*-*-rtems*) - targ_defvec=bfd_elf32_h8300_vec - targ_underscore=yes - ;; ---- binutils-2.16.1/gas/configure.tgt 31 Jan 2005 17:18:51 -0000 1.3 -+++ binutils-2.16.1/gas/configure.tgt 5 Jul 2005 15:32:03 -0000 -@@ -163,9 +163,9 @@ - hppa-*-bsd*) fmt=som em=hppa ;; - hppa-*-hiux*) fmt=som em=hppa ;; - -- h8300-*-rtems*) fmt=coff ;; -+ h8300-*-rtemscoff*) fmt=coff ;; - h8300-*-coff) fmt=coff ;; -- h8300-*-elf) fmt=elf ;; -+ h8300-*-elf | h8300-*-rtems*) fmt=elf ;; - h8500-*-rtems*) fmt=coff ;; - h8500-*-coff) fmt=coff ;; - ---- binutils-2.16.1/ld/configure.tgt 8 Feb 2005 19:54:27 -0000 1.165 -+++ binutils-2.16.1/ld/configure.tgt 5 Jul 2005 15:32:18 -0000 -@@ -280,10 +280,10 @@ - targ_extra_ofiles="deffilep.o pe-dll.o" ;; - xscale-*-coff) targ_emul=armcoff ;; - xscale-*-elf) targ_emul=armelf ;; --h8300-*-hms* | h8300-*-coff* | h8300-*-rtems*) -+h8300-*-hms* | h8300-*-coff* | h8300-*-rtemscoff*) - targ_emul=h8300; targ_extra_emuls="h8300h h8300s h8300hn h8300sn h8300sx h8300sxn" - ;; --h8300-*-elf*) -+h8300-*-elf* | h8300-*-rtems*) - targ_emul=h8300elf; - targ_extra_emuls="h8300helf h8300self h8300hnelf h8300snelf h8300sxelf h8300sxnelf" - ;; ---- binutils-2.16.1/bfd/archive.c 3 Mar 2005 11:40:56 -0000 1.34 -+++ binutils-2.16.1/bfd/archive.c 8 Jul 2005 06:28:30 -0000 -@@ -1308,6 +1308,13 @@ - #define getgid() 0 - #endif - -+static void print_ar_size( struct ar_hdr* hdr, int val ) -+{ -+ char buffer[sizeof(hdr->ar_size)+1]; -+ sprintf(buffer,"%-10d", val); -+ memcpy(hdr->ar_size,buffer,sizeof(hdr->ar_size)); -+} -+ - /* Takes a filename, returns an arelt_data for it, or NULL if it can't - make one. The filename must refer to a filename in the filesystem. - The filename field of the ar_hdr will NOT be initialized. If member -@@ -1368,7 +1375,7 @@ - #endif - sprintf ((hdr->ar_gid), "%ld", (long) status.st_gid); - sprintf ((hdr->ar_mode), "%-8o", (unsigned int) status.st_mode); -- sprintf ((hdr->ar_size), "%-10ld", (long) status.st_size); -+ print_ar_size(hdr, (long) status.st_size); - /* Correct for a lossage in sprintf whereby it null-terminates. I cannot - understand how these C losers could design such a ramshackle bunch of - IO operations. */ -@@ -1660,7 +1667,7 @@ - memset (&hdr, 0, sizeof (struct ar_hdr)); - strcpy (hdr.ar_name, ename); - /* Round size up to even number in archive header. */ -- sprintf (&(hdr.ar_size[0]), "%-10d", -+ print_ar_size(&hdr, - (int) ((elength + 1) & ~(bfd_size_type) 1)); - strncpy (hdr.ar_fmag, ARFMAG, 2); - for (i = 0; i < sizeof (struct ar_hdr); i++) -@@ -1913,7 +1920,7 @@ - sprintf (hdr.ar_date, "%ld", bfd_ardata (arch)->armap_timestamp); - sprintf (hdr.ar_uid, "%ld", (long) getuid ()); - sprintf (hdr.ar_gid, "%ld", (long) getgid ()); -- sprintf (hdr.ar_size, "%-10d", (int) mapsize); -+ print_ar_size(&hdr, (int) mapsize); - strncpy (hdr.ar_fmag, ARFMAG, 2); - for (i = 0; i < sizeof (struct ar_hdr); i++) - if (((char *) (&hdr))[i] == '\0') -@@ -2068,7 +2075,7 @@ - - memset (&hdr, 0, sizeof (struct ar_hdr)); - hdr.ar_name[0] = '/'; -- sprintf (hdr.ar_size, "%-10d", (int) mapsize); -+ print_ar_size (&hdr, (int) mapsize); - sprintf (hdr.ar_date, "%ld", (long) time (NULL)); - /* This, at least, is what Intel coff sets the values to. */ - sprintf ((hdr.ar_uid), "%d", 0); diff --git a/contrib/crossrpms/patches/binutils-2.17-rtems4.8-20061021.diff b/contrib/crossrpms/patches/binutils-2.17-rtems4.8-20061021.diff deleted file mode 100644 index a5b2216a5c..0000000000 --- a/contrib/crossrpms/patches/binutils-2.17-rtems4.8-20061021.diff +++ /dev/null @@ -1,556 +0,0 @@ -diff -uNr binutils-2.17.orig/bfd/bfd-in2.h binutils-2.17/bfd/bfd-in2.h ---- binutils-2.17.orig/bfd/bfd-in2.h 2006-03-26 01:38:42.000000000 +0100 -+++ binutils-2.17/bfd/bfd-in2.h 2006-10-21 13:53:23.000000000 +0200 -@@ -643,6 +643,12 @@ - DYN_NO_NEEDED = 8 - }; - -+enum notice_asneeded_action { -+ notice_as_needed, -+ notice_not_needed, -+ notice_needed -+}; -+ - extern bfd_boolean bfd_elf_record_link_assignment - (bfd *, struct bfd_link_info *, const char *, bfd_boolean, - bfd_boolean); -diff -uNr binutils-2.17.orig/bfd/bfd-in.h binutils-2.17/bfd/bfd-in.h ---- binutils-2.17.orig/bfd/bfd-in.h 2006-03-16 13:20:15.000000000 +0100 -+++ binutils-2.17/bfd/bfd-in.h 2006-10-21 13:53:23.000000000 +0200 -@@ -636,6 +636,12 @@ - DYN_NO_NEEDED = 8 - }; - -+enum notice_asneeded_action { -+ notice_as_needed, -+ notice_not_needed, -+ notice_needed -+}; -+ - extern bfd_boolean bfd_elf_record_link_assignment - (bfd *, struct bfd_link_info *, const char *, bfd_boolean, - bfd_boolean); -diff -uNr binutils-2.17.orig/bfd/ChangeLog binutils-2.17/bfd/ChangeLog ---- binutils-2.17.orig/bfd/ChangeLog 2006-06-23 20:18:16.000000000 +0200 -+++ binutils-2.17/bfd/ChangeLog 2006-10-21 13:53:23.000000000 +0200 -@@ -1,3 +1,25 @@ -+2006-08-08 Nick Clifton -+ -+ PR binutils/2724 -+ * coffcode.h (coff_new_section_hook): Only modify the section -+ symbol of sections which were created by the user. -+ -+2006-07-19 Alan Modra -+ -+ * bfd-in.h (enum notice_asneeded_action): Define. -+ * bfd-in2.h: Regenerate. -+ * elflink.c (elf_link_add_object_symbols): Call linker "notice" -+ function with NULL name for as-needed handling. -+ -+2006-07-12 Matthew R. Dempsky -+ -+ * cpu-m68k.c (bfd_m68k_compatible): Handle CPU32. -+ -+2006-06-23 Daniel Jacobowitz -+ -+ * Makefile.am: Clear RELEASE. -+ * Makefile.in: Regenerated. -+ - 2006-06-23 Daniel Jacobowitz - - * configure.in: Update version to 2.17. -diff -uNr binutils-2.17.orig/bfd/coffcode.h binutils-2.17/bfd/coffcode.h ---- binutils-2.17.orig/bfd/coffcode.h 2005-10-25 19:40:09.000000000 +0200 -+++ binutils-2.17/bfd/coffcode.h 2006-10-21 13:53:24.000000000 +0200 -@@ -1546,9 +1546,6 @@ - static bfd_boolean - coff_new_section_hook (bfd * abfd, asection * section) - { -- combined_entry_type *native; -- bfd_size_type amt; -- - section->alignment_power = COFF_DEFAULT_SECTION_ALIGNMENT_POWER; - - #ifdef RS6000COFF_C -@@ -1560,27 +1557,34 @@ - section->alignment_power = bfd_xcoff_data_align_power (abfd); - #endif - -- /* Allocate aux records for section symbols, to store size and -- related info. -- -- @@ The 10 is a guess at a plausible maximum number of aux entries -- (but shouldn't be a constant). */ -- amt = sizeof (combined_entry_type) * 10; -- native = bfd_zalloc (abfd, amt); -- if (native == NULL) -- return FALSE; -- -- /* We don't need to set up n_name, n_value, or n_scnum in the native -- symbol information, since they'll be overridden by the BFD symbol -- anyhow. However, we do need to set the type and storage class, -- in case this symbol winds up getting written out. The value 0 -- for n_numaux is already correct. */ -- -- native->u.syment.n_type = T_NULL; -- native->u.syment.n_sclass = C_STAT; -+ /* PR binutils/2724: Only real sections have a symbol that -+ has the coff_symbol_type structure allocated for it. */ -+ if (! bfd_is_const_section (section)) -+ { -+ combined_entry_type *native; -+ bfd_size_type amt; -+ -+ /* Allocate aux records for section symbols, to store size and -+ related info. -+ -+ @@ The 10 is a guess at a plausible maximum number of aux entries -+ (but shouldn't be a constant). */ -+ amt = sizeof (combined_entry_type) * 10; -+ native = bfd_zalloc (abfd, amt); -+ if (native == NULL) -+ return FALSE; - -- coffsymbol (section->symbol)->native = native; -+ /* We don't need to set up n_name, n_value, or n_scnum in the native -+ symbol information, since they'll be overridden by the BFD symbol -+ anyhow. However, we do need to set the type and storage class, -+ in case this symbol winds up getting written out. The value 0 -+ for n_numaux is already correct. */ -+ native->u.syment.n_type = T_NULL; -+ native->u.syment.n_sclass = C_STAT; - -+ coffsymbol (section->symbol)->native = native; -+ } -+ - coff_set_custom_section_alignment (abfd, section, - coff_section_alignment_table, - coff_section_alignment_table_size); -diff -uNr binutils-2.17.orig/bfd/cpu-m68k.c binutils-2.17/bfd/cpu-m68k.c ---- binutils-2.17.orig/bfd/cpu-m68k.c 2006-03-25 11:24:27.000000000 +0100 -+++ binutils-2.17/bfd/cpu-m68k.c 2006-10-21 13:53:24.000000000 +0200 -@@ -202,6 +202,9 @@ - if (a->mach <= bfd_mach_m68060 && b->mach <= bfd_mach_m68060) - /* Merge m68k machine. */ - return a->mach > b->mach ? a : b; -+ else if (a->mach == bfd_mach_cpu32 && b->mach == bfd_mach_cpu32) -+ /* CPU32 is compatible with itself. */ -+ return a; - else if (a->mach >= bfd_mach_mcf_isa_a_nodiv - && b->mach >= bfd_mach_mcf_isa_a_nodiv) - { -diff -uNr binutils-2.17.orig/bfd/elflink.c binutils-2.17/bfd/elflink.c ---- binutils-2.17.orig/bfd/elflink.c 2006-05-22 17:06:36.000000000 +0200 -+++ binutils-2.17/bfd/elflink.c 2006-10-21 13:53:24.000000000 +0200 -@@ -3496,6 +3496,13 @@ - if (alloc_mark == NULL) - goto error_free_vers; - -+ /* Make a special call to the linker "notice" function to -+ tell it that we are about to handle an as-needed lib. */ -+ if (!(*info->callbacks->notice) (info, NULL, abfd, NULL, -+ notice_as_needed)) -+ return FALSE; -+ -+ - /* Clone the symbol table and sym hashes. Remember some - pointers into the symbol table, and dynamic symbol count. */ - old_hash = (char *) old_tab + tabsize; -@@ -4169,6 +4176,12 @@ - } - } - -+ /* Make a special call to the linker "notice" function to -+ tell it that symbols added for crefs may need to be removed. */ -+ if (!(*info->callbacks->notice) (info, NULL, abfd, NULL, -+ notice_not_needed)) -+ return FALSE; -+ - free (old_tab); - objalloc_free_block ((struct objalloc *) htab->root.table.memory, - alloc_mark); -@@ -4179,6 +4192,9 @@ - - if (old_tab != NULL) - { -+ if (!(*info->callbacks->notice) (info, NULL, abfd, NULL, -+ notice_needed)) -+ return FALSE; - free (old_tab); - old_tab = NULL; - } -diff -uNr binutils-2.17.orig/bfd/version.h binutils-2.17/bfd/version.h ---- binutils-2.17.orig/bfd/version.h 2006-06-23 20:14:41.000000000 +0200 -+++ binutils-2.17/bfd/version.h 2006-10-21 13:53:24.000000000 +0200 -@@ -1,3 +1,3 @@ --#define BFD_VERSION_DATE 20060623 -+#define BFD_VERSION_DATE 20061021 - #define BFD_VERSION @bfd_version@ - #define BFD_VERSION_STRING @bfd_version_string@ -diff -uNr binutils-2.17.orig/binutils/ChangeLog binutils-2.17/binutils/ChangeLog ---- binutils-2.17.orig/binutils/ChangeLog 2006-06-12 15:05:03.000000000 +0200 -+++ binutils-2.17/binutils/ChangeLog 2006-10-21 13:53:24.000000000 +0200 -@@ -1,3 +1,8 @@ -+2006-08-15 Nick Clifton -+ -+ PR binutils/3039 -+ * wrstabs.c (stab_tag_type): Initialize 'size'. -+ - 2006-06-07 Joseph S. Myers - - * po/Make-in (pdf, ps): New dummy targets. -diff -uNr binutils-2.17.orig/binutils/wrstabs.c binutils-2.17/binutils/wrstabs.c ---- binutils-2.17.orig/binutils/wrstabs.c 2006-03-16 13:20:16.000000000 +0100 -+++ binutils-2.17/binutils/wrstabs.c 2006-10-21 13:53:24.000000000 +0200 -@@ -1869,7 +1869,7 @@ - { - struct stab_write_handle *info = (struct stab_write_handle *) p; - long index; -- unsigned int size; -+ unsigned int size = 0; - - index = stab_get_struct_index (info, name, id, kind, &size); - if (index < 0) -diff -uNr binutils-2.17.orig/gas/ChangeLog binutils-2.17/gas/ChangeLog ---- binutils-2.17.orig/gas/ChangeLog 2006-06-12 15:05:03.000000000 +0200 -+++ binutils-2.17/gas/ChangeLog 2006-10-21 13:53:24.000000000 +0200 -@@ -1,3 +1,8 @@ -+2006-07-19 Mat Hostetter -+ -+ * symbols.c (report_op_error): Fix pasto. Don't use as_bad_where -+ when file and line unknown. -+ - 2006-06-07 Joseph S. Myers - - * po/Make-in (pdf, ps): New dummy targets. -diff -uNr binutils-2.17.orig/gas/symbols.c binutils-2.17/gas/symbols.c ---- binutils-2.17.orig/gas/symbols.c 2006-01-09 18:14:40.000000000 +0100 -+++ binutils-2.17/gas/symbols.c 2006-10-21 13:53:24.000000000 +0200 -@@ -928,13 +928,11 @@ - && seg_right != undefined_section) - { - if (right) -- as_bad_where (file, line, -- _("invalid sections for operation on `%s' and `%s' setting `%s'"), -- S_GET_NAME (left), S_GET_NAME (right), S_GET_NAME (symp)); -+ as_bad (_("invalid sections for operation on `%s' and `%s' setting `%s'"), -+ S_GET_NAME (left), S_GET_NAME (right), S_GET_NAME (symp)); - else -- as_bad_where (file, line, -- _("invalid section for operation on `%s' setting `%s'"), -- S_GET_NAME (left), S_GET_NAME (symp)); -+ as_bad (_("invalid section for operation on `%s' setting `%s'"), -+ S_GET_NAME (left), S_GET_NAME (symp)); - } - } - } -diff -uNr binutils-2.17.orig/ld/ChangeLog binutils-2.17/ld/ChangeLog ---- binutils-2.17.orig/ld/ChangeLog 2006-06-12 15:07:28.000000000 +0200 -+++ binutils-2.17/ld/ChangeLog 2006-10-21 13:53:24.000000000 +0200 -@@ -1,3 +1,20 @@ -+2006-07-19 Alan Modra -+ -+ * ld.h (handle_asneeded_cref): Declare. -+ * ldcref.c: Include objalloc.h. -+ (old_table, old_tab, alloc_mark): New variables. -+ (tabsize, entsize, refsize, old_symcount): Likewise. -+ (add_cref): Use bfd_hash_allocate for refs. -+ (handle_asneeded_cref): New function. -+ * ldmain.c (notice): Call handle_asneeded_cref for NULL name. -+ -+2006-07-04 Daniel Jacobowitz -+ -+ Backport: -+ 2006-05-19 Alan Modra -+ * ldlang.c (lang_size_sections_1): Don't check mem regions for -+ os->ignored sections. -+ - 2006-06-12 Fred Fish - - * emulparams/elf32bmip.sh (OTHER_SECTIONS): Keep the -diff -uNr binutils-2.17.orig/ld/configure.tgt binutils-2.17/ld/configure.tgt ---- binutils-2.17.orig/ld/configure.tgt 2006-04-05 14:41:57.000000000 +0200 -+++ binutils-2.17/ld/configure.tgt 2006-10-21 13:53:24.000000000 +0200 -@@ -83,7 +83,8 @@ - avr-*-*) targ_emul=avr2 - targ_extra_emuls="avr1 avr3 avr4 avr5" - ;; --bfin-*-elf) targ_emul=elf32bfin; targ_extra_emuls="elf32bfinfd" ;; -+bfin-*-elf | bfin-*-rtems*) -+ targ_emul=elf32bfin; targ_extra_emuls="elf32bfinfd" ;; - bfin-*-uclinux*) targ_emul=elf32bfin; targ_extra_emuls="elf32bfinfd" ;; - cr16c-*-elf*) targ_emul=elf32cr16c - ;; -diff -uNr binutils-2.17.orig/ld/emulparams/h8300elf.sh binutils-2.17/ld/emulparams/h8300elf.sh ---- binutils-2.17.orig/ld/emulparams/h8300elf.sh 2005-12-22 18:43:34.000000000 +0100 -+++ binutils-2.17/ld/emulparams/h8300elf.sh 2006-10-21 13:53:24.000000000 +0200 -@@ -17,7 +17,7 @@ - TINY_DATA_SECTION=".tinydata 0xff8000 : - { - *(.tinydata) -- _tinydata = .; -+ ${RELOCATING+ _tinydata = .; } - }" - TINY_BSS_SECTION=".tinybss : AT (_tinydata) - { -diff -uNr binutils-2.17.orig/ld/ldcref.c binutils-2.17/ld/ldcref.c ---- binutils-2.17.orig/ld/ldcref.c 2006-03-16 13:20:16.000000000 +0100 -+++ binutils-2.17/ld/ldcref.c 2006-10-21 13:53:24.000000000 +0200 -@@ -27,6 +27,7 @@ - #include "sysdep.h" - #include "bfdlink.h" - #include "libiberty.h" -+#include "objalloc.h" - - #include "ld.h" - #include "ldmain.h" -@@ -101,6 +102,15 @@ - - static size_t cref_symcount; - -+/* Used to take a snapshot of the cref hash table when starting to -+ add syms from an as-needed library. */ -+static struct bfd_hash_entry **old_table; -+static unsigned int old_size; -+static void *old_tab; -+static void *alloc_mark; -+static size_t tabsize, entsize, refsize; -+static size_t old_symcount; -+ - /* Create an entry in a cref hash table. */ - - static struct bfd_hash_entry * -@@ -165,7 +175,9 @@ - - if (r == NULL) - { -- r = xmalloc (sizeof *r); -+ r = bfd_hash_allocate (&cref_table.root, sizeof *r); -+ if (r == NULL) -+ einfo (_("%X%P: cref alloc failed: %E\n")); - r->next = h->refs; - h->refs = r; - r->abfd = abfd; -@@ -182,6 +194,123 @@ - r->def = TRUE; - } - -+/* Called before loading an as-needed library to take a snapshot of -+ the cref hash table, and after we have loaded or found that the -+ library was not needed. */ -+ -+bfd_boolean -+handle_asneeded_cref (bfd *abfd ATTRIBUTE_UNUSED, -+ enum notice_asneeded_action act) -+{ -+ unsigned int i; -+ -+ if (!cref_initialized) -+ return TRUE; -+ -+ if (act == notice_as_needed) -+ { -+ char *old_ent, *old_ref; -+ -+ for (i = 0; i < cref_table.root.size; i++) -+ { -+ struct bfd_hash_entry *p; -+ struct cref_hash_entry *c; -+ struct cref_ref *r; -+ -+ for (p = cref_table.root.table[i]; p != NULL; p = p->next) -+ { -+ entsize += cref_table.root.entsize; -+ c = (struct cref_hash_entry *) p; -+ for (r = c->refs; r != NULL; r = r->next) -+ refsize += sizeof (struct cref_hash_entry); -+ } -+ } -+ -+ tabsize = cref_table.root.size * sizeof (struct bfd_hash_entry *); -+ old_tab = xmalloc (tabsize + entsize + refsize); -+ -+ alloc_mark = bfd_hash_allocate (&cref_table.root, 1); -+ if (alloc_mark == NULL) -+ return FALSE; -+ -+ memcpy (old_tab, cref_table.root.table, tabsize); -+ old_ent = (char *) old_tab + tabsize; -+ old_ref = (char *) old_ent + entsize; -+ old_table = cref_table.root.table; -+ old_size = cref_table.root.size; -+ old_symcount = cref_symcount; -+ -+ for (i = 0; i < cref_table.root.size; i++) -+ { -+ struct bfd_hash_entry *p; -+ struct cref_hash_entry *c; -+ struct cref_ref *r; -+ -+ for (p = cref_table.root.table[i]; p != NULL; p = p->next) -+ { -+ memcpy (old_ent, p, cref_table.root.entsize); -+ old_ent = (char *) old_ent + cref_table.root.entsize; -+ c = (struct cref_hash_entry *) p; -+ for (r = c->refs; r != NULL; r = r->next) -+ { -+ memcpy (old_ref, r, sizeof (struct cref_hash_entry)); -+ old_ref = (char *) old_ref + sizeof (struct cref_hash_entry); -+ } -+ } -+ } -+ return TRUE; -+ } -+ -+ if (act == notice_not_needed) -+ { -+ char *old_ent, *old_ref; -+ -+ if (old_tab == NULL) -+ { -+ /* The only way old_tab can be NULL is if the cref hash table -+ had not been initialised when notice_as_needed. */ -+ bfd_hash_table_free (&cref_table.root); -+ cref_initialized = FALSE; -+ return TRUE; -+ } -+ -+ old_ent = (char *) old_tab + tabsize; -+ old_ref = (char *) old_ent + entsize; -+ cref_table.root.table = old_table; -+ cref_table.root.size = old_size; -+ memcpy (cref_table.root.table, old_tab, tabsize); -+ cref_symcount = old_symcount; -+ -+ for (i = 0; i < cref_table.root.size; i++) -+ { -+ struct bfd_hash_entry *p; -+ struct cref_hash_entry *c; -+ struct cref_ref *r; -+ -+ for (p = cref_table.root.table[i]; p != NULL; p = p->next) -+ { -+ memcpy (p, old_ent, cref_table.root.entsize); -+ old_ent = (char *) old_ent + cref_table.root.entsize; -+ c = (struct cref_hash_entry *) p; -+ for (r = c->refs; r != NULL; r = r->next) -+ { -+ memcpy (r, old_ref, sizeof (struct cref_hash_entry)); -+ old_ref = (char *) old_ref + sizeof (struct cref_hash_entry); -+ } -+ } -+ } -+ -+ objalloc_free_block ((struct objalloc *) cref_table.root.memory, -+ alloc_mark); -+ } -+ else if (act != notice_needed) -+ return FALSE; -+ -+ free (old_tab); -+ old_tab = NULL; -+ return TRUE; -+} -+ - /* Copy the addresses of the hash table entries into an array. This - is called via cref_hash_traverse. We also fill in the demangled - name. */ -diff -uNr binutils-2.17.orig/ld/ld.h binutils-2.17/ld/ld.h ---- binutils-2.17.orig/ld/ld.h 2005-09-30 13:42:04.000000000 +0200 -+++ binutils-2.17/ld/ld.h 2006-10-21 13:53:24.000000000 +0200 -@@ -1,6 +1,6 @@ - /* ld.h -- general linker header file - Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -- 2001, 2002, 2003, 2004, 2005 -+ 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. - - This file is part of GLD, the Gnu Linker. -@@ -282,6 +282,7 @@ - - extern int yyparse (void); - extern void add_cref (const char *, bfd *, asection *, bfd_vma); -+extern bfd_boolean handle_asneeded_cref (bfd *, enum notice_asneeded_action); - extern void output_cref (FILE *); - extern void check_nocrossrefs (void); - extern void ld_abort (const char *, int, const char *) ATTRIBUTE_NORETURN; -diff -uNr binutils-2.17.orig/ld/ldlang.c binutils-2.17/ld/ldlang.c ---- binutils-2.17.orig/ld/ldlang.c 2006-06-12 15:05:04.000000000 +0200 -+++ binutils-2.17/ld/ldlang.c 2006-10-21 13:53:24.000000000 +0200 -@@ -4207,7 +4207,8 @@ - /* If a loadable section is using the default memory - region, and some non default memory regions were - defined, issue an error message. */ -- if (!IGNORE_SECTION (os->bfd_section) -+ if (!os->ignored -+ && !IGNORE_SECTION (os->bfd_section) - && ! link_info.relocatable - && check_regions - && strcmp (os->region->name, -diff -uNr binutils-2.17.orig/ld/ldmain.c binutils-2.17/ld/ldmain.c ---- binutils-2.17.orig/ld/ldmain.c 2006-04-06 20:52:45.000000000 +0200 -+++ binutils-2.17/ld/ldmain.c 2006-10-21 13:53:24.000000000 +0200 -@@ -1511,6 +1511,13 @@ - asection *section, - bfd_vma value) - { -+ if (name == NULL) -+ { -+ if (command_line.cref || nocrossref_list != NULL) -+ return handle_asneeded_cref (abfd, value); -+ return TRUE; -+ } -+ - if (! info->notice_all - || (info->notice_hash != NULL - && bfd_hash_lookup (info->notice_hash, name, FALSE, FALSE) != NULL)) -diff -uNr binutils-2.17.orig/ld/testsuite/ChangeLog binutils-2.17/ld/testsuite/ChangeLog ---- binutils-2.17.orig/ld/testsuite/ChangeLog 2006-06-12 15:44:33.000000000 +0200 -+++ binutils-2.17/ld/testsuite/ChangeLog 2006-10-21 13:53:24.000000000 +0200 -@@ -1,3 +1,17 @@ -+2006-07-12 Richard Sandiford -+ -+ * ld-m68k/merge-ok-1c.d: New test. -+ * ld-m68k/m68k.exp: Run it. -+ -+2006-07-04 Daniel Jacobowitz -+ -+ Backport: -+ 2006-05-19 Alan Modra -+ * ld-scripts/empty-orphan.d: Update again. -+ -+ * ld-scripts/empty-orphan.t: Discard .reginfo. -+ * ld-scripts/empty-orphan.d: Update. -+ - 2006-06-12 Daniel Jacobowitz - - Backport: -diff -uNr binutils-2.17.orig/ld/testsuite/ld-m68k/m68k.exp binutils-2.17/ld/testsuite/ld-m68k/m68k.exp ---- binutils-2.17.orig/ld/testsuite/ld-m68k/m68k.exp 2006-03-25 11:24:27.000000000 +0100 -+++ binutils-2.17/ld/testsuite/ld-m68k/m68k.exp 2006-10-21 13:53:24.000000000 +0200 -@@ -53,3 +53,4 @@ - run_dump_test "merge-error-1e" - run_dump_test "merge-ok-1a" - run_dump_test "merge-ok-1b" -+run_dump_test "merge-ok-1c" -diff -uNr binutils-2.17.orig/ld/testsuite/ld-scripts/empty-orphan.d binutils-2.17/ld/testsuite/ld-scripts/empty-orphan.d ---- binutils-2.17.orig/ld/testsuite/ld-scripts/empty-orphan.d 2005-03-17 17:20:39.000000000 +0100 -+++ binutils-2.17/ld/testsuite/ld-scripts/empty-orphan.d 2006-10-21 13:53:24.000000000 +0200 -@@ -1,3 +1,6 @@ - #source: empty-orphan.s - #ld: -T empty-orphan.t --#error: no memory region specified for loadable section -+#readelf: -l --wide -+#... -+ +LOAD +[x0-9a-f]+ [x0]+70000000 [x0]+70000000 [x0]+(2|4|8|10|20|40|80) .* -+#pass -diff -uNr binutils-2.17.orig/ld/testsuite/ld-scripts/empty-orphan.t binutils-2.17/ld/testsuite/ld-scripts/empty-orphan.t ---- binutils-2.17.orig/ld/testsuite/ld-scripts/empty-orphan.t 2005-03-17 17:20:39.000000000 +0100 -+++ binutils-2.17/ld/testsuite/ld-scripts/empty-orphan.t 2006-10-21 13:53:24.000000000 +0200 -@@ -17,5 +17,6 @@ - .text : { *(.text) } > text_mem : text_phdr - .data : { *(.data) } > data_mem : data_phdr - .bss : { *(.bss) } > data_mem : data_phdr -+ /DISCARD/ : { *(.reginfo) } - /* .orphan_data is an orphan */ - } diff --git a/contrib/crossrpms/patches/binutils-2.17.90-rtems4.8-20070807.diff b/contrib/crossrpms/patches/binutils-2.17.90-rtems4.8-20070807.diff deleted file mode 100644 index dde88a22af..0000000000 --- a/contrib/crossrpms/patches/binutils-2.17.90-rtems4.8-20070807.diff +++ /dev/null @@ -1,14 +0,0 @@ -diff -uNr binutils-2.17.90.orig/ld/configure.tgt binutils-2.17.90/ld/configure.tgt ---- binutils-2.17.90.orig/ld/configure.tgt 2007-08-06 22:00:19.000000000 +0200 -+++ binutils-2.17.90/ld/configure.tgt 2007-08-07 08:42:24.000000000 +0200 -@@ -113,6 +113,10 @@ - targ_extra_emuls="elf32bfinfd" - targ_extra_libpath=$targ_extra_emuls - ;; -+bfin-*-rtems*) targ_emul=elf32bfin; -+ targ_extra_emuls="elf32bfinfd" -+ targ_extra_libpath=$targ_extra_emuls -+ ;; - bfin-*-uclinux*) targ_emul=elf32bfin; - targ_extra_emuls="elf32bfinfd" - targ_extra_libpath=$targ_extra_emuls diff --git a/contrib/crossrpms/patches/binutils-2.18-rtems4.9-20071104.diff b/contrib/crossrpms/patches/binutils-2.18-rtems4.9-20071104.diff deleted file mode 100644 index 8923ccb11e..0000000000 --- a/contrib/crossrpms/patches/binutils-2.18-rtems4.9-20071104.diff +++ /dev/null @@ -1,24 +0,0 @@ -diff -uNr binutils-2.18.orig/configure binutils-2.18/configure ---- binutils-2.18.orig/configure 2007-08-06 22:29:40.000000000 +0200 -+++ binutils-2.18/configure 2007-11-04 10:15:52.000000000 +0100 -@@ -6128,7 +6128,7 @@ - # For an installed makeinfo, we require it to be from texinfo 4.4 or - # higher, else we use the "missing" dummy. - if ${MAKEINFO} --version \ -- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then -+ | egrep 'texinfo[^0-9]*(4\.([4-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then - : - else - MAKEINFO="$MISSING makeinfo" -diff -uNr binutils-2.18.orig/configure.ac binutils-2.18/configure.ac ---- binutils-2.18.orig/configure.ac 2007-08-28 22:24:26.000000000 +0200 -+++ binutils-2.18/configure.ac 2007-11-04 10:15:52.000000000 +0100 -@@ -2403,7 +2403,7 @@ - # For an installed makeinfo, we require it to be from texinfo 4.4 or - # higher, else we use the "missing" dummy. - if ${MAKEINFO} --version \ -- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[4-9]|[5-9])' >/dev/null 2>&1; then -+ | egrep 'texinfo[^0-9]*(4\.([4-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then - : - else - MAKEINFO="$MISSING makeinfo" diff --git a/contrib/crossrpms/patches/gcc-core-4.0.4-rtems4.9-20071111.diff b/contrib/crossrpms/patches/gcc-core-4.0.4-rtems4.9-20071111.diff deleted file mode 100644 index 98306a0a4d..0000000000 --- a/contrib/crossrpms/patches/gcc-core-4.0.4-rtems4.9-20071111.diff +++ /dev/null @@ -1,27 +0,0 @@ -diff -uNr gcc-4.0.4.orig/gcc/collect2.c gcc-4.0.4/gcc/collect2.c ---- gcc-4.0.4.orig/gcc/collect2.c 2005-06-06 21:21:03.000000000 +0200 -+++ gcc-4.0.4/gcc/collect2.c 2007-11-12 08:09:42.000000000 +0100 -@@ -1577,7 +1577,7 @@ - if (redir) - { - /* Open response file. */ -- redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT); -+ redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT, S_IWUSR | S_IRUSR); - - /* Duplicate the stdout and stderr file handles - so they can be restored later. */ -diff -uNr gcc-4.0.4.orig/gcc/Makefile.in gcc-4.0.4/gcc/Makefile.in ---- gcc-4.0.4.orig/gcc/Makefile.in 2006-09-06 12:30:49.000000000 +0200 -+++ gcc-4.0.4/gcc/Makefile.in 2007-11-12 06:39:10.000000000 +0100 -@@ -3275,9 +3275,9 @@ - install-driver: installdirs xgcc$(exeext) - -rm -f $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext) - -$(INSTALL_PROGRAM) xgcc$(exeext) $(DESTDIR)$(bindir)/$(GCC_INSTALL_NAME)$(exeext) -- -rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-$(version) -+ -rm -f $(DESTDIR)$(bindir)/$(target_noncanonical)-gcc-$(version)$(exeext) - -( cd $(DESTDIR)$(bindir) && \ -- $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-$(version) ) -+ $(LN) $(GCC_INSTALL_NAME)$(exeext) $(target_noncanonical)-gcc-$(version)$(exeext) ) - -if [ -f gcc-cross$(exeext) ] ; then \ - if [ -d $(DESTDIR)$(gcc_tooldir)/bin/. ] ; then \ - rm -f $(DESTDIR)$(gcc_tooldir)/bin/gcc$(exeext); \ diff --git a/contrib/crossrpms/patches/gcc-core-4.2.3-rtems4.9-20080202.diff b/contrib/crossrpms/patches/gcc-core-4.2.3-rtems4.9-20080202.diff deleted file mode 100644 index dcb31686ac..0000000000 --- a/contrib/crossrpms/patches/gcc-core-4.2.3-rtems4.9-20080202.diff +++ /dev/null @@ -1,75 +0,0 @@ -diff -uNr gcc-4.2.3.orig/gcc/config/arm/rtems-elf.h gcc-4.2.3/gcc/config/arm/rtems-elf.h ---- gcc-4.2.3.orig/gcc/config/arm/rtems-elf.h 2007-09-01 17:28:30.000000000 +0200 -+++ gcc-4.2.3/gcc/config/arm/rtems-elf.h 2008-02-02 04:26:47.000000000 +0100 -@@ -26,6 +26,7 @@ - #define TARGET_OS_CPP_BUILTINS() \ - do { \ - builtin_define ("__rtems__"); \ -+ builtin_define ("__USE_INIT_FINI__"); \ - builtin_assert ("system=rtems"); \ - } while (0) - -diff -uNr gcc-4.2.3.orig/gcc/config/c4x/rtems.h gcc-4.2.3/gcc/config/c4x/rtems.h ---- gcc-4.2.3.orig/gcc/config/c4x/rtems.h 2007-09-01 17:28:30.000000000 +0200 -+++ gcc-4.2.3/gcc/config/c4x/rtems.h 2008-02-02 04:26:47.000000000 +0100 -@@ -23,6 +23,5 @@ - #define TARGET_OS_CPP_BUILTINS() \ - do { \ - builtin_define ("__rtems__"); \ -- builtin_define ("__USE_INIT_FINI__"); \ - builtin_assert ("system=rtems"); \ - } while (0) -diff -uNr gcc-4.2.3.orig/gcc/config/h8300/t-rtems gcc-4.2.3/gcc/config/h8300/t-rtems ---- gcc-4.2.3.orig/gcc/config/h8300/t-rtems 2004-03-17 03:46:28.000000000 +0100 -+++ gcc-4.2.3/gcc/config/h8300/t-rtems 2008-02-02 04:26:47.000000000 +0100 -@@ -2,6 +2,6 @@ - - # -mn is not applicable to RTEMS (-mn implies 16bit void*) - --MULTILIB_OPTIONS = mh/ms mint32 --MULTILIB_DIRNAMES = h8300h h8300s int32 -+MULTILIB_OPTIONS = mh/ms/msx mint32 -+MULTILIB_DIRNAMES = h8300h h8300s h8sx int32 - MULTILIB_EXCEPTIONS = mint32 -diff -uNr gcc-4.2.3.orig/gcc/config/m68k/t-rtems gcc-4.2.3/gcc/config/m68k/t-rtems ---- gcc-4.2.3.orig/gcc/config/m68k/t-rtems 2005-02-07 06:13:25.000000000 +0100 -+++ gcc-4.2.3/gcc/config/m68k/t-rtems 2008-02-02 04:26:47.000000000 +0100 -@@ -1,7 +1,14 @@ - # Custom multilibs for RTEMS - --MULTILIB_OPTIONS = m68000/m68020/m5200/mcpu32/m68030/m68040/m68060 m68881/msoft-float -+MULTILIB_OPTIONS = m68000/m68020/m5200/m528x/mcpu32/m68030/m68040/m68060/m5307/m5407/mcfv4e -+MULTILIB_OPTIONS += m68881/msoft-float - MULTILIB_DIRNAMES = - MULTILIB_MATCHES = m68000=mc68000 m68000=m68302 mcpu32=m68332 m68020=mc68020 m68030=mc68030 --MULTILIB_MATCHES += m5200=m528x --MULTILIB_EXCEPTIONS = m68000/msoft-float m5200/m68881 m5200/msoft-float mcpu32/m68881 mcpu32/msoft-float m68040/m68881 m68060/m68881 -+MULTILIB_MATCHES += m5200=m5206e -+MULTILIB_EXCEPTIONS = m68000/msoft-float m68040/m68881 m68060/m68881 -+MULTILIB_EXCEPTIONS += mcpu32/m68881 mcpu32/msoft-float -+MULTILIB_EXCEPTIONS += m5200/m68881 m5200/msoft-float -+MULTILIB_EXCEPTIONS += m528x/m68881 m528x/msoft-float -+MULTILIB_EXCEPTIONS += m5307/m68881 m5307/msoft-float -+MULTILIB_EXCEPTIONS += m5407/m68881 m5407/msoft-float -+MULTILIB_EXCEPTIONS += mcfv4e/m68881 mcfv4e/msoft-float -diff -uNr gcc-4.2.3.orig/gcc/config/mips/elf.h gcc-4.2.3/gcc/config/mips/elf.h ---- gcc-4.2.3.orig/gcc/config/mips/elf.h 2007-09-01 17:28:30.000000000 +0200 -+++ gcc-4.2.3/gcc/config/mips/elf.h 2008-02-02 04:26:47.000000000 +0100 -@@ -48,6 +48,4 @@ - #undef ENDFILE_SPEC - #define ENDFILE_SPEC "crtend%O%s crtn%O%s" - --#define NO_IMPLICIT_EXTERN_C 1 -- - #define HANDLE_PRAGMA_PACK_PUSH_POP 1 -diff -uNr gcc-4.2.3.orig/gcc/gthr-rtems.h gcc-4.2.3/gcc/gthr-rtems.h ---- gcc-4.2.3.orig/gcc/gthr-rtems.h 2005-06-25 04:02:01.000000000 +0200 -+++ gcc-4.2.3/gcc/gthr-rtems.h 2008-02-02 04:26:47.000000000 +0100 -@@ -38,7 +38,6 @@ - #define __GTHREADS 1 - - #define __GTHREAD_ONCE_INIT 0 --#define __GTHREAD_MUTEX_INIT 0 - #define __GTHREAD_MUTEX_INIT_FUNCTION rtems_gxx_mutex_init - #define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION rtems_gxx_recursive_mutex_init - diff --git a/contrib/crossrpms/patches/gcc-core-4.3.0-rtems4.9-20080306.diff b/contrib/crossrpms/patches/gcc-core-4.3.0-rtems4.9-20080306.diff deleted file mode 100644 index 9bff95bc74..0000000000 --- a/contrib/crossrpms/patches/gcc-core-4.3.0-rtems4.9-20080306.diff +++ /dev/null @@ -1,89 +0,0 @@ -diff -Naur gcc-4.3.0.orig/configure gcc-4.3.0/configure ---- gcc-4.3.0.orig/configure 2008-02-02 04:29:30.000000000 +0100 -+++ gcc-4.3.0/configure 2008-03-06 16:22:30.000000000 +0100 -@@ -2185,6 +2185,7 @@ - noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss ${libgcj} target-libmudflap" - ;; - *-*-rtems*) -+ skipdirs="$skipdirs target-libiberty" - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" - ;; - # The tpf target doesn't support gdb yet. -diff -Naur gcc-4.3.0.orig/configure.ac gcc-4.3.0/configure.ac ---- gcc-4.3.0.orig/configure.ac 2008-02-02 04:29:30.000000000 +0100 -+++ gcc-4.3.0/configure.ac 2008-03-06 16:22:30.000000000 +0100 -@@ -462,6 +462,7 @@ - noconfigdirs="$noconfigdirs target-newlib target-libiberty target-libgloss ${libgcj} target-libmudflap" - ;; - *-*-rtems*) -+ skipdirs="$skipdirs target-libiberty" - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" - ;; - # The tpf target doesn't support gdb yet. -diff -Naur gcc-4.3.0.orig/gcc/config/mips/elf.h gcc-4.3.0/gcc/config/mips/elf.h ---- gcc-4.3.0.orig/gcc/config/mips/elf.h 2007-08-02 12:49:31.000000000 +0200 -+++ gcc-4.3.0/gcc/config/mips/elf.h 2008-03-06 16:22:30.000000000 +0100 -@@ -48,6 +48,4 @@ - #undef ENDFILE_SPEC - #define ENDFILE_SPEC "crtend%O%s crtn%O%s" - --#define NO_IMPLICIT_EXTERN_C 1 -- - #define HANDLE_PRAGMA_PACK_PUSH_POP 1 -diff -Naur gcc-4.3.0.orig/gcc/config/rs6000/rtems.h gcc-4.3.0/gcc/config/rs6000/rtems.h ---- gcc-4.3.0.orig/gcc/config/rs6000/rtems.h 2007-08-02 12:49:31.000000000 +0200 -+++ gcc-4.3.0/gcc/config/rs6000/rtems.h 2008-03-06 16:22:30.000000000 +0100 -@@ -49,8 +49,18 @@ - %{mcpu=604: %{!Dppc*: %{!Dmpc*: -Dmpc604} } } \ - %{mcpu=750: %{!Dppc*: %{!Dmpc*: -Dmpc750} } } \ - %{mcpu=821: %{!Dppc*: %{!Dmpc*: -Dmpc821} } } \ --%{mcpu=860: %{!Dppc*: %{!Dmpc*: -Dmpc860} } }" -+%{mcpu=860: %{!Dppc*: %{!Dmpc*: -Dmpc860} } } \ -+%{mcpu=8540: %{!Dppc*: %{!Dmpc*: -Dppc8540} } }" - - #undef SUBSUBTARGET_EXTRA_SPECS - #define SUBSUBTARGET_EXTRA_SPECS \ - { "cpp_os_rtems", CPP_OS_RTEMS_SPEC } -+ -+#undef SUBSUBTARGET_OVERRIDE_OPTIONS -+#define SUBSUBTARGET_OVERRIDE_OPTIONS \ -+ do { \ -+ if (TARGET_E500) \ -+ { \ -+ rs6000_float_gprs = 1; \ -+ } \ -+ } while(0) -diff -Naur gcc-4.3.0.orig/gcc/config/rs6000/t-rtems gcc-4.3.0/gcc/config/rs6000/t-rtems ---- gcc-4.3.0.orig/gcc/config/rs6000/t-rtems 2005-05-27 09:54:06.000000000 +0200 -+++ gcc-4.3.0/gcc/config/rs6000/t-rtems 2008-03-06 16:22:30.000000000 +0100 -@@ -1,12 +1,12 @@ - # Multilibs for powerpc RTEMS targets. - - MULTILIB_OPTIONS = \ --mcpu=403/mcpu=505/mcpu=601/mcpu=603e/mcpu=604/mcpu=860/mcpu=7400 \ -+mcpu=403/mcpu=505/mcpu=601/mcpu=603e/mcpu=604/mcpu=860/mcpu=7400/mcpu=8540 \ - Dmpc8260 \ - msoft-float - - MULTILIB_DIRNAMES = \ --m403 m505 m601 m603e m604 m860 m7400 \ -+m403 m505 m601 m603e m604 m860 m7400 m8540 \ - mpc8260 \ - nof - -@@ -31,6 +31,10 @@ - # Map 750 to . - MULTILIB_MATCHES += mcpu?750= - -+# Map e500, 8548 to 8540 -+MULTILIB_MATCHES += mcpu?8540=mcpu?e500 -+MUTLILIB_MATCHES += mcpu?8540=mcpu?8548 -+ - # Soft-float only, default implies msoft-float - # NOTE: Must match with MULTILIB_MATCHES_FLOAT and MULTILIB_MATCHES - MULTILIB_SOFTFLOAT_ONLY = \ -@@ -64,3 +68,4 @@ - MULTILIB_EXCEPTIONS += *mcpu=750/Dmpc* - MULTILIB_EXCEPTIONS += *mcpu=860/Dmpc* - MULTILIB_EXCEPTIONS += *mcpu=7400/Dmpc* -+MULTILIB_EXCEPTIONS += *mcpu=8540/Dmpc* diff --git a/contrib/crossrpms/patches/gdb-6.8-rtems4.9-20080428.diff b/contrib/crossrpms/patches/gdb-6.8-rtems4.9-20080428.diff deleted file mode 100644 index 2642a9fc2d..0000000000 --- a/contrib/crossrpms/patches/gdb-6.8-rtems4.9-20080428.diff +++ /dev/null @@ -1,584 +0,0 @@ -diff -Naur -x autom4te.cache gdb-6.8.orig/sim/common/aclocal.m4 gdb-6.8-rtems4.9-20080428/sim/common/aclocal.m4 ---- gdb-6.8.orig/sim/common/aclocal.m4 2006-06-13 10:06:48.000000000 +0200 -+++ gdb-6.8-rtems4.9-20080428/sim/common/aclocal.m4 2008-04-28 07:18:30.000000000 +0200 -@@ -18,7 +18,7 @@ - # - # SIM_AC_OUTPUT - --AC_DEFUN(SIM_AC_COMMON, -+AC_DEFUN([SIM_AC_COMMON], - [ - # autoconf.info says this should be called right after AC_INIT. - AC_CONFIG_HEADER(ifelse([$1],,config.h,[$1]):config.in) -@@ -245,7 +245,7 @@ - dnl supported. - dnl ??? Until there is demonstrable value in doing something more complicated, - dnl let's not. --AC_DEFUN(SIM_AC_OPTION_ENVIRONMENT, -+AC_DEFUN([SIM_AC_OPTION_ENVIRONMENT], - [ - AC_ARG_ENABLE(sim-environment, - [ --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.], -@@ -269,7 +269,7 @@ - dnl Without this option all possible alignment restrictions are accommodated. - dnl arg[1] is hardwired target alignment - dnl arg[2] is default target alignment --AC_DEFUN(SIM_AC_OPTION_ALIGNMENT, -+AC_DEFUN([SIM_AC_OPTION_ALIGNMENT], - wire_alignment="[$1]" - default_alignment="[$2]" - [ -@@ -318,7 +318,7 @@ - - - dnl Conditionally compile in assertion statements. --AC_DEFUN(SIM_AC_OPTION_ASSERT, -+AC_DEFUN([SIM_AC_OPTION_ASSERT], - [ - AC_ARG_ENABLE(sim-assert, - [ --enable-sim-assert Specify whether to perform random assertions.], -@@ -342,7 +342,7 @@ - dnl arg[3] is the number of bits in an address - dnl arg[4] is the number of bits in an OpenFirmware cell. - dnl FIXME: this information should be obtained from bfd/archure --AC_DEFUN(SIM_AC_OPTION_BITSIZE, -+AC_DEFUN([SIM_AC_OPTION_BITSIZE], - wire_word_bitsize="[$1]" - wire_word_msb="[$2]" - wire_address_bitsize="[$3]" -@@ -408,7 +408,7 @@ - dnl that support both big and little endian targets. - dnl arg[1] is hardwired target endianness. - dnl arg[2] is default target endianness. --AC_DEFUN(SIM_AC_OPTION_ENDIAN, -+AC_DEFUN([SIM_AC_OPTION_ENDIAN], - [ - wire_endian="[$1]" - default_endian="[$2]" -@@ -458,7 +458,7 @@ - dnl --enable-sim-hostendian is for users of the simulator when - dnl they find that AC_C_BIGENDIAN does not function correctly - dnl (for instance in a canadian cross) --AC_DEFUN(SIM_AC_OPTION_HOSTENDIAN, -+AC_DEFUN([SIM_AC_OPTION_HOSTENDIAN], - [ - AC_ARG_ENABLE(sim-hostendian, - [ --enable-sim-hostendian=end Specify host byte endian orientation.], -@@ -490,7 +490,7 @@ - dnl And optionally the bitsize of the floating point register. - dnl arg[1] specifies the presence (or absence) of floating point hardware - dnl arg[2] specifies the number of bits in a floating point register --AC_DEFUN(SIM_AC_OPTION_FLOAT, -+AC_DEFUN([SIM_AC_OPTION_FLOAT], - [ - default_sim_float="[$1]" - default_sim_float_bitsize="[$2]" -@@ -519,7 +519,7 @@ - - - dnl The argument is the default cache size if none is specified. --AC_DEFUN(SIM_AC_OPTION_SCACHE, -+AC_DEFUN([SIM_AC_OPTION_SCACHE], - [ - default_sim_scache="ifelse([$1],,0,[$1])" - AC_ARG_ENABLE(sim-scache, -@@ -539,7 +539,7 @@ - - - dnl The argument is the default model if none is specified. --AC_DEFUN(SIM_AC_OPTION_DEFAULT_MODEL, -+AC_DEFUN([SIM_AC_OPTION_DEFAULT_MODEL], - [ - default_sim_default_model="ifelse([$1],,0,[$1])" - AC_ARG_ENABLE(sim-default-model, -@@ -559,7 +559,7 @@ - dnl arg[1] Enable sim-hw by default? ("yes" or "no") - dnl arg[2] is a space separated list of devices that override the defaults - dnl arg[3] is a space separated list of extra target specific devices. --AC_DEFUN(SIM_AC_OPTION_HARDWARE, -+AC_DEFUN([SIM_AC_OPTION_HARDWARE], - [ - if test x"[$1]" = x"yes"; then - sim_hw_p=yes -@@ -621,7 +621,7 @@ - dnl performance by inlining functions. - dnl Guarantee that unconfigured simulators do not do any inlining - sim_inline="-DDEFAULT_INLINE=0" --AC_DEFUN(SIM_AC_OPTION_INLINE, -+AC_DEFUN([SIM_AC_OPTION_INLINE], - [ - default_sim_inline="ifelse([$1],,,-DDEFAULT_INLINE=[$1])" - AC_ARG_ENABLE(sim-inline, -@@ -666,7 +666,7 @@ - AC_SUBST(sim_inline) - - --AC_DEFUN(SIM_AC_OPTION_PACKAGES, -+AC_DEFUN([SIM_AC_OPTION_PACKAGES], - [ - AC_ARG_ENABLE(sim-packages, - [ --enable-sim-packages=list Specify the packages to be included in the build.], -@@ -692,7 +692,7 @@ - AC_SUBST(sim_packages) - - --AC_DEFUN(SIM_AC_OPTION_REGPARM, -+AC_DEFUN([SIM_AC_OPTION_REGPARM], - [ - AC_ARG_ENABLE(sim-regparm, - [ --enable-sim-regparm=nr-parm Pass parameters in registers instead of on the stack - x86/GCC specific.], -@@ -709,7 +709,7 @@ - AC_SUBST(sim_regparm) - - --AC_DEFUN(SIM_AC_OPTION_RESERVED_BITS, -+AC_DEFUN([SIM_AC_OPTION_RESERVED_BITS], - [ - default_sim_reserved_bits="ifelse([$1],,1,[$1])" - AC_ARG_ENABLE(sim-reserved-bits, -@@ -726,7 +726,7 @@ - AC_SUBST(sim_reserved_bits) - - --AC_DEFUN(SIM_AC_OPTION_SMP, -+AC_DEFUN([SIM_AC_OPTION_SMP], - [ - default_sim_smp="ifelse([$1],,5,[$1])" - AC_ARG_ENABLE(sim-smp, -@@ -746,7 +746,7 @@ - AC_SUBST(sim_smp) - - --AC_DEFUN(SIM_AC_OPTION_STDCALL, -+AC_DEFUN([SIM_AC_OPTION_STDCALL], - [ - AC_ARG_ENABLE(sim-stdcall, - [ --enable-sim-stdcall=type Use an alternative function call/return mechanism - x86/GCC specific.], -@@ -763,7 +763,7 @@ - AC_SUBST(sim_stdcall) - - --AC_DEFUN(SIM_AC_OPTION_XOR_ENDIAN, -+AC_DEFUN([SIM_AC_OPTION_XOR_ENDIAN], - [ - default_sim_xor_endian="ifelse([$1],,8,[$1])" - AC_ARG_ENABLE(sim-xor-endian, -@@ -782,7 +782,7 @@ - - dnl --enable-build-warnings is for developers of the simulator. - dnl it enables extra GCC specific warnings. --AC_DEFUN(SIM_AC_OPTION_WARNINGS, -+AC_DEFUN([SIM_AC_OPTION_WARNINGS], - [ - # NOTE: Don't add -Wall or -Wunused, they both include - # -Wunused-parameter which reports bogus warnings. -@@ -866,7 +866,7 @@ - dnl one afterwards. The two pieces of the common fragment are inserted into - dnl the target's fragment at the appropriate points. - --AC_DEFUN(SIM_AC_OUTPUT, -+AC_DEFUN([SIM_AC_OUTPUT], - [ - AC_LINK_FILES($sim_link_files, $sim_link_links) - dnl Make @cgen_breaks@ non-null only if the sim uses CGEN. -@@ -895,7 +895,7 @@ - sinclude(../../config/gettext-sister.m4) - - dnl --enable-cgen-maint support --AC_DEFUN(SIM_AC_OPTION_CGEN_MAINT, -+AC_DEFUN([SIM_AC_OPTION_CGEN_MAINT], - [ - cgen_maint=no - dnl Default is to use one in build tree. -diff -Naur -x autom4te.cache gdb-6.8.orig/sim/erc32/configure gdb-6.8-rtems4.9-20080428/sim/erc32/configure ---- gdb-6.8.orig/sim/erc32/configure 2006-12-20 23:35:51.000000000 +0100 -+++ gdb-6.8-rtems4.9-20080428/sim/erc32/configure 2008-04-28 13:55:32.000000000 +0200 -@@ -309,7 +309,7 @@ - # include - #endif" - --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 sim_environment sim_alignment sim_assert sim_bitsize sim_endian sim_hostendian sim_float sim_scache sim_default_model sim_hw_cflags sim_hw_objs sim_hw sim_inline sim_packages sim_regparm sim_reserved_bits sim_smp sim_stdcall sim_xor_endian WARN_CFLAGS WERROR_CFLAGS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CC_FOR_BUILD HDEFINES AR RANLIB ac_ct_RANLIB USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT CPP EGREP MAINT sim_bswap sim_cflags sim_debug sim_stdio sim_trace sim_profile TERMCAP READLINE cgen_breaks LIBOBJS LTLIBOBJS' -+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 sim_environment sim_alignment sim_assert sim_bitsize sim_endian sim_hostendian sim_float sim_scache sim_default_model sim_hw_cflags sim_hw_objs sim_hw sim_inline sim_packages sim_regparm sim_reserved_bits sim_smp sim_stdcall sim_xor_endian WARN_CFLAGS WERROR_CFLAGS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CC_FOR_BUILD HDEFINES AR RANLIB ac_ct_RANLIB USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS DATADIRNAME INSTOBJEXT GENCAT CATOBJEXT CPP EGREP MAINT sim_bswap sim_cflags sim_debug sim_stdio sim_trace sim_profile READLINE READLINE_DEPS READLINE_CFLAGS cgen_breaks LIBOBJS LTLIBOBJS' - ac_subst_files='' - - # Initialize some variables set by options. -@@ -858,6 +858,11 @@ - --enable-sim-trace=opts Enable tracing flags - --enable-sim-profile=opts Enable profiling flags - -+Optional Packages: -+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] -+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) -+ --with-system-readline use installed readline library -+ - Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags -@@ -4493,45 +4498,22 @@ - done - - --# In the Cygwin environment, we need some additional flags. --echo "$as_me:$LINENO: checking for cygwin" >&5 --echo $ECHO_N "checking for cygwin... $ECHO_C" >&6 --if test "${sim_cv_os_cygwin+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- cat >conftest.$ac_ext <<_ACEOF --/* confdefs.h. */ --_ACEOF --cat confdefs.h >>conftest.$ac_ext --cat >>conftest.$ac_ext <<_ACEOF --/* end confdefs.h. */ - --#ifdef __CYGWIN__ --lose --#endif --_ACEOF --if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -- $EGREP "lose" >/dev/null 2>&1; then -- sim_cv_os_cygwin=yes --else -- sim_cv_os_cygwin=no --fi --rm -f conftest* -+# Check whether --with-system-readline or --without-system-readline was given. -+if test "${with_system_readline+set}" = set; then -+ withval="$with_system_readline" - --fi --echo "$as_me:$LINENO: result: $sim_cv_os_cygwin" >&5 --echo "${ECHO_T}$sim_cv_os_cygwin" >&6 -+fi; - --if test x$sim_cv_os_cygwin = xyes; then -- TERMCAP='`if test -r ../../libtermcap/libtermcap.a; then echo ../../libtermcap/libtermcap.a; else echo -ltermcap; fi` -luser32' --else -- echo "$as_me:$LINENO: checking for main in -ltermcap" >&5 --echo $ECHO_N "checking for main in -ltermcap... $ECHO_C" >&6 --if test "${ac_cv_lib_termcap_main+set}" = set; then -+if test "$with_system_readline" = yes; then -+ save_LIBS="$LIBS" -+ echo "$as_me:$LINENO: checking for library containing readline" >&5 -+echo $ECHO_N "checking for library containing readline... $ECHO_C" >&6 -+if test "${ac_cv_search_readline+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else -- ac_check_lib_save_LIBS=$LIBS --LIBS="-ltermcap $LIBS" -+ ac_func_search_save_LIBS=$LIBS -+ac_cv_search_readline=no - cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ - _ACEOF -@@ -4539,11 +4521,17 @@ - cat >>conftest.$ac_ext <<_ACEOF - /* end confdefs.h. */ - -- -+/* Override any gcc2 internal prototype to avoid an error. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+/* We use char because int might match the return type of a gcc2 -+ builtin and then its argument prototype would still apply. */ -+char readline (); - int - main () - { --main (); -+readline (); - ; - return 0; - } -@@ -4570,41 +4558,18 @@ - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then -- ac_cv_lib_termcap_main=yes -+ ac_cv_search_readline="none required" - else - echo "$as_me: failed program was:" >&5 - sed 's/^/| /' conftest.$ac_ext >&5 - --ac_cv_lib_termcap_main=no - fi - rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext --LIBS=$ac_check_lib_save_LIBS --fi --echo "$as_me:$LINENO: result: $ac_cv_lib_termcap_main" >&5 --echo "${ECHO_T}$ac_cv_lib_termcap_main" >&6 --if test $ac_cv_lib_termcap_main = yes; then -- TERMCAP=-ltermcap --else -- TERMCAP="" --fi -- --fi -- -- --# We prefer the in-tree readline. Top-level dependencies make sure --# src/readline (if it's there) is configured before src/sim. --if test -r ../../readline/Makefile; then -- READLINE=../../readline/libreadline.a --else -- echo "$as_me:$LINENO: checking for readline in -lreadline" >&5 --echo $ECHO_N "checking for readline in -lreadline... $ECHO_C" >&6 --if test "${ac_cv_lib_readline_readline+set}" = set; then -- echo $ECHO_N "(cached) $ECHO_C" >&6 --else -- ac_check_lib_save_LIBS=$LIBS --LIBS="-lreadline $TERMCAP $LIBS" --cat >conftest.$ac_ext <<_ACEOF -+if test "$ac_cv_search_readline" = no; then -+ for ac_lib in readline; do -+ LIBS="-l$ac_lib $ac_func_search_save_LIBS" -+ cat >conftest.$ac_ext <<_ACEOF - /* confdefs.h. */ - _ACEOF - cat confdefs.h >>conftest.$ac_ext -@@ -4648,29 +4613,40 @@ - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then -- ac_cv_lib_readline_readline=yes -+ ac_cv_search_readline="-l$ac_lib" -+break - else - echo "$as_me: failed program was:" >&5 - sed 's/^/| /' conftest.$ac_ext >&5 - --ac_cv_lib_readline_readline=no - fi - rm -f conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext --LIBS=$ac_check_lib_save_LIBS -+ done - fi --echo "$as_me:$LINENO: result: $ac_cv_lib_readline_readline" >&5 --echo "${ECHO_T}$ac_cv_lib_readline_readline" >&6 --if test $ac_cv_lib_readline_readline = yes; then -- READLINE=-lreadline --else -- { { echo "$as_me:$LINENO: error: the required \"readline\" library is missing" >&5 --echo "$as_me: error: the required \"readline\" library is missing" >&2;} -- { (exit 1); exit 1; }; } -+LIBS=$ac_func_search_save_LIBS - fi -+echo "$as_me:$LINENO: result: $ac_cv_search_readline" >&5 -+echo "${ECHO_T}$ac_cv_search_readline" >&6 -+if test "$ac_cv_search_readline" != no; then -+ test "$ac_cv_search_readline" = "none required" || LIBS="$ac_cv_search_readline $LIBS" -+ -+ READLINE=-lreadline -+ READLINE_DEPS= -+ READLINE_CFLAGS= - - fi - -+ LIBS="$save_LIBS" -+else -+ READLINE='$(READLINE_DIR)/libreadline.a' -+ READLINE_DEPS='$(READLINE)' -+ READLINE_CFLAGS='-I$(READLINE_SRC)/..' -+fi -+ -+ -+ -+ - - ac_sources="$sim_link_files" - ac_dests="$sim_link_links" -@@ -5389,8 +5365,9 @@ - s,@sim_stdio@,$sim_stdio,;t t - s,@sim_trace@,$sim_trace,;t t - s,@sim_profile@,$sim_profile,;t t --s,@TERMCAP@,$TERMCAP,;t t - s,@READLINE@,$READLINE,;t t -+s,@READLINE_DEPS@,$READLINE_DEPS,;t t -+s,@READLINE_CFLAGS@,$READLINE_CFLAGS,;t t - s,@cgen_breaks@,$cgen_breaks,;t t - s,@LIBOBJS@,$LIBOBJS,;t t - s,@LTLIBOBJS@,$LTLIBOBJS,;t t -diff -Naur -x autom4te.cache gdb-6.8.orig/sim/erc32/configure.ac gdb-6.8-rtems4.9-20080428/sim/erc32/configure.ac ---- gdb-6.8.orig/sim/erc32/configure.ac 2006-12-20 23:35:51.000000000 +0100 -+++ gdb-6.8-rtems4.9-20080428/sim/erc32/configure.ac 2008-04-28 13:55:17.000000000 +0200 -@@ -11,27 +11,25 @@ - - AC_CHECK_HEADERS(stdlib.h) - --# In the Cygwin environment, we need some additional flags. --AC_CACHE_CHECK([for cygwin], sim_cv_os_cygwin, --[AC_EGREP_CPP(lose, [ --#ifdef __CYGWIN__ --lose --#endif],[sim_cv_os_cygwin=yes],[sim_cv_os_cygwin=no])]) -+AC_ARG_WITH([system-readline], -+ [AS_HELP_STRING([--with-system-readline], -+ [use installed readline library])]) - --if test x$sim_cv_os_cygwin = xyes; then -- TERMCAP='`if test -r ../../libtermcap/libtermcap.a; then echo ../../libtermcap/libtermcap.a; else echo -ltermcap; fi` -luser32' -+if test "$with_system_readline" = yes; then -+ save_LIBS="$LIBS" -+ AC_SEARCH_LIBS([readline],[readline],[ -+ READLINE=-lreadline -+ READLINE_DEPS= -+ READLINE_CFLAGS= -+ ],[]) -+ LIBS="$save_LIBS" - else -- AC_CHECK_LIB(termcap, main, TERMCAP=-ltermcap, TERMCAP="") --fi --AC_SUBST(TERMCAP) -- --# We prefer the in-tree readline. Top-level dependencies make sure --# src/readline (if it's there) is configured before src/sim. --if test -r ../../readline/Makefile; then -- READLINE=../../readline/libreadline.a --else -- AC_CHECK_LIB(readline, readline, READLINE=-lreadline, -- AC_ERROR([the required "readline" library is missing]), $TERMCAP) -+ READLINE='$(READLINE_DIR)/libreadline.a' -+ READLINE_DEPS='$(READLINE)' -+ READLINE_CFLAGS='-I$(READLINE_SRC)/..' - fi - AC_SUBST(READLINE) -+AC_SUBST(READLINE_DEPS) -+AC_SUBST(READLINE_CFLAGS) -+ - SIM_AC_OUTPUT -diff -Naur -x autom4te.cache gdb-6.8.orig/sim/erc32/erc32.c gdb-6.8-rtems4.9-20080428/sim/erc32/erc32.c ---- gdb-6.8.orig/sim/erc32/erc32.c 1999-04-16 03:35:00.000000000 +0200 -+++ gdb-6.8-rtems4.9-20080428/sim/erc32/erc32.c 2008-04-28 07:18:30.000000000 +0200 -@@ -24,6 +24,7 @@ - - #include - #include -+#include - #include - #include - #include -@@ -413,7 +414,7 @@ - if (rom8) mec_memcfg &= ~0x20000; - else mec_memcfg |= 0x20000; - -- mem_ramsz = (256 * 1024) << ((mec_memcfg >> 10) & 7); -+ mem_ramsz = (512 * 1024) << ((mec_memcfg >> 10) & 7); - mem_romsz = (128 * 1024) << ((mec_memcfg >> 18) & 7); - - if (sparclite_board) { -@@ -1659,7 +1660,7 @@ - errmec = 0; - return(1); - } --#endif; -+#endif - - if ((addr >= mem_ramstart) && (addr < (mem_ramstart + mem_ramsz))) { - fetch_bytes (asi, &ramb[addr & mem_rammask], data, sz); -@@ -1736,7 +1737,7 @@ - errmec = 0; - return(1); - } --#endif; -+#endif - - if ((addr >= mem_ramstart) && (addr < (mem_ramstart + mem_ramsz))) { - if (mem_accprot) { -diff -Naur -x autom4te.cache gdb-6.8.orig/sim/erc32/exec.c gdb-6.8-rtems4.9-20080428/sim/erc32/exec.c ---- gdb-6.8.orig/sim/erc32/exec.c 2005-03-07 12:09:05.000000000 +0100 -+++ gdb-6.8-rtems4.9-20080428/sim/erc32/exec.c 2008-04-28 07:18:30.000000000 +0200 -@@ -1713,7 +1713,7 @@ - sregs->fdp[rs2 | 1] = sregs->fs[rs2 & ~1]; - sregs->fdp[rs2 & ~1] = sregs->fs[rs2 | 1]; - default: -- ; -+ break; - } - #endif - -@@ -1886,7 +1886,7 @@ - sregs->fs[rd & ~1] = sregs->fdp[rd | 1]; - sregs->fs[rd | 1] = sregs->fdp[rd & ~1]; - default: -- ; -+ break; - } - #endif - if (sregs->fpstate == FP_EXC_PE) { -diff -Naur -x autom4te.cache gdb-6.8.orig/sim/erc32/Makefile.in gdb-6.8-rtems4.9-20080428/sim/erc32/Makefile.in ---- gdb-6.8.orig/sim/erc32/Makefile.in 2008-01-01 23:53:24.000000000 +0100 -+++ gdb-6.8-rtems4.9-20080428/sim/erc32/Makefile.in 2008-04-28 07:18:30.000000000 +0200 -@@ -18,12 +18,12 @@ - - ## COMMON_PRE_CONFIG_FRAG - --TERMCAP_LIB = @TERMCAP@ -+# TERMCAP_LIB = -lncurses - READLINE_LIB = @READLINE@ - - SIM_OBJS = exec.o erc32.o func.o help.o float.o interf.o - SIM_EXTRA_LIBS = $(READLINE_LIB) $(TERMCAP_LIB) -lm --SIM_EXTRA_ALL = sis -+SIM_EXTRA_ALL = sis$(EXEEXT) - SIM_EXTRA_INSTALL = install-sis - SIM_EXTRA_CLEAN = clean-sis - -@@ -37,8 +37,8 @@ - # `sis' doesn't need interf.o. - SIS_OFILES = exec.o erc32.o func.o help.o float.o - --sis: sis.o $(SIS_OFILES) $(COMMON_OBJS) $(LIBDEPS) -- $(CC) $(ALL_CFLAGS) -o sis \ -+sis$(EXEEXT): sis.o $(SIS_OFILES) $(COMMON_OBJS) $(LIBDEPS) -+ $(CC) $(ALL_CFLAGS) -o sis$(EXEEXT) \ - sis.o $(SIS_OFILES) $(COMMON_OBJS) $(EXTRA_LIBS) - - # FIXME: This computes the build host's endianness, doesn't it? -@@ -51,11 +51,11 @@ - - # Copy the files into directories where they will be run. - install-sis: installdirs -- n=`echo sis | sed '$(program_transform_name)'`; \ -- $(INSTALL_PROGRAM) sis$(EXEEXT) $(DESTDIR)$(bindir)/$$n$(EXEEXT) -+ n=`echo sis$(EXEEXT) | sed '$(program_transform_name)'`; \ -+ $(INSTALL_PROGRAM) sis$(EXEEXT) $(DESTDIR)$(bindir)/$$n - - clean-sis: -- rm -f sis end end.h -+ rm -f sis$(EXEEXT) end end.h - - configure: - @echo "Rebuilding configure..." -diff -Naur -x autom4te.cache gdb-6.8.orig/sim/ppc/ppc-instructions gdb-6.8-rtems4.9-20080428/sim/ppc/ppc-instructions ---- gdb-6.8.orig/sim/ppc/ppc-instructions 2006-11-29 16:20:55.000000000 +0100 -+++ gdb-6.8-rtems4.9-20080428/sim/ppc/ppc-instructions 2008-04-28 07:18:30.000000000 +0200 -@@ -3402,6 +3402,14 @@ - case spr_dec: - *rT = cpu_get_decrementer(processor); - break; -+ case spr_tbrl: -+ if (is_64bit_implementation) *rT = TB; -+ else *rT = EXTRACTED64(TB, 32, 63); -+ break; -+ case spr_tbru: -+ if (is_64bit_implementation) *rT = EXTRACTED64(TB, 0, 31); -+ else *rT = EXTRACTED64(TB, 0, 31); -+ break; - case spr_tbu: - case spr_tbl: - /* NOTE - these SPR's are not readable. Use mftb[ul] */ -diff -Naur -x autom4te.cache gdb-6.8.orig/sim/ppc/ppc-spr-table gdb-6.8-rtems4.9-20080428/sim/ppc/ppc-spr-table ---- gdb-6.8.orig/sim/ppc/ppc-spr-table 2003-06-22 18:48:12.000000000 +0200 -+++ gdb-6.8-rtems4.9-20080428/sim/ppc/ppc-spr-table 2008-04-28 07:18:30.000000000 +0200 -@@ -32,6 +32,8 @@ - SRR0:26:0:0 - SRR1:27:0:0 - VRSAVE:256:0:0 -+TBRL:268:0:0 -+TBRU:269:0:0 - SPRG0:272:0:0 - SPRG1:273:0:0 - SPRG2:274:0:0 diff --git a/contrib/crossrpms/patches/newlib-1.15.0-rtems4.8-20070208.diff b/contrib/crossrpms/patches/newlib-1.15.0-rtems4.8-20070208.diff deleted file mode 100644 index 997ae2f342..0000000000 --- a/contrib/crossrpms/patches/newlib-1.15.0-rtems4.8-20070208.diff +++ /dev/null @@ -1,1392 +0,0 @@ -diff -uNr newlib-1.15.0.orig/newlib/libc/include/inttypes.h newlib-1.15.0/newlib/libc/include/inttypes.h ---- newlib-1.15.0.orig/newlib/libc/include/inttypes.h 2005-12-16 20:03:12.000000000 +0100 -+++ newlib-1.15.0/newlib/libc/include/inttypes.h 2007-02-08 08:19:02.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 -uNr newlib-1.15.0.orig/newlib/libc/include/machine/setjmp.h newlib-1.15.0/newlib/libc/include/machine/setjmp.h ---- newlib-1.15.0.orig/newlib/libc/include/machine/setjmp.h 2006-12-18 17:48:03.000000000 +0100 -+++ newlib-1.15.0/newlib/libc/include/machine/setjmp.h 2007-02-08 08:19:02.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 -uNr newlib-1.15.0.orig/newlib/libc/include/stdint.h newlib-1.15.0/newlib/libc/include/stdint.h ---- newlib-1.15.0.orig/newlib/libc/include/stdint.h 2006-08-16 23:39:43.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/include/stdint.h 2007-02-08 08:19:02.000000000 +0100 -@@ -393,6 +393,9 @@ - #define UINTMAX_C(x) x##UL - #endif - -+#ifdef __rtems__ -+#include -+#endif - - #ifdef __cplusplus - } -diff -uNr newlib-1.15.0.orig/newlib/libc/include/sys/errno.h newlib-1.15.0/newlib/libc/include/sys/errno.h ---- newlib-1.15.0.orig/newlib/libc/include/sys/errno.h 2002-09-24 16:10:12.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/include/sys/errno.h 2007-02-08 08:19:02.000000000 +0100 -@@ -148,6 +148,7 @@ - #define ECASECLASH 137 /* Filename exists with different case */ - #define EILSEQ 138 - #define EOVERFLOW 139 /* Value too large for defined data type */ -+#define ECANCELED 140 /* Operation canceled. */ - - /* From cygwin32. */ - #define EWOULDBLOCK EAGAIN /* Operation would block */ -diff -uNr newlib-1.15.0.orig/newlib/libc/include/sys/features.h newlib-1.15.0/newlib/libc/include/sys/features.h ---- newlib-1.15.0.orig/newlib/libc/include/sys/features.h 2006-09-14 00:09:27.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/include/sys/features.h 2007-02-08 08:19:02.000000000 +0100 -@@ -81,17 +81,89 @@ - #endif - - #ifdef __CYGWIN__ --# define _POSIX_JOB_CONTROL 1 --# define _POSIX_SAVED_IDS 0 --# define _POSIX_VERSION 199009L --# define _POSIX_THREADS 1 --# define _POSIX_THREAD_PROCESS_SHARED 1 --# define _POSIX_THREAD_SAFE_FUNCTIONS 1 --# define _POSIX_THREAD_PRIORITY_SCHEDULING 1 --# define _POSIX_THREAD_ATTR_STACKSIZE 1 --# define _POSIX_SEMAPHORES 1 --# define _POSIX_TIMERS 1 --# define _POSIX_MEMLOCK_RANGE 1 -+#define _POSIX_VERSION 200112L -+#define _POSIX2_VERSION 200112L -+#define _XOPEN_VERSION 600 -+ -+#define _POSIX_ADVISORY_INFO 200112L -+/* #define _POSIX_ASYNCHRONOUS_IO -1 */ -+/* #define _POSIX_BARRIERS -1 */ -+#define _POSIX_CHOWN_RESTRICTED 1 -+/* #define _POSIX_CLOCK_SELECTION -1 */ -+/* #define _POSIX_CPUTIME -1 */ -+#define _POSIX_FSYNC 200112L -+#define _POSIX_IPV6 200112L -+#define _POSIX_JOB_CONTROL 1 -+#define _POSIX_MAPPED_FILES 200112L -+/* #define _POSIX_MEMLOCK -1 */ -+#define _POSIX_MEMLOCK_RANGE 200112L -+#define _POSIX_MEMORY_PROTECTION 200112L -+/* #define _POSIX_MESSAGE_PASSING -1 */ -+/* #define _POSIX_MONOTONIC_CLOCK -1 */ -+#define _POSIX_NO_TRUNC 1 -+/* #define _POSIX_PRIORITIZED_IO -1 */ -+#define _POSIX_PRIORITY_SCHEDULING 200112L -+#define _POSIX_RAW_SOCKETS 200112L -+#define _POSIX_READER_WRITER_LOCKS 200112L -+#define _POSIX_REALTIME_SIGNALS 200112L -+#define _POSIX_REGEXP 1 -+#define _POSIX_SAVED_IDS 1 -+#define _POSIX_SEMAPHORES 1 -+/* #define _POSIX_SHARED_MEMORY_OBJECTS -1 */ -+#define _POSIX_SHELL 1 -+/* #define _POSIX_SPAWN -1 */ -+/* #define _POSIX_SPIN_LOCKS -1 */ -+/* #define _POSIX_SPORADIC_SERVER -1 */ -+#define _POSIX_SYNCHRONIZED_IO 200112L -+/* #define _POSIX_THREAD_ATTR_STACKADDR -1 */ -+#define _POSIX_THREAD_ATTR_STACKSIZE 200112L -+/* #define _POSIX_THREAD_CPUTIME -1 */ -+/* #define _POSIX_THREAD_PRIO_INHERIT -1 */ -+/* #define _POSIX_THREAD_PRIO_PROTECT -1 */ -+#define _POSIX_THREAD_PRIORITY_SCHEDULING 200112L -+#define _POSIX_THREAD_PROCESS_SHARED 200112L -+#define _POSIX_THREAD_SAFE_FUNCTIONS 200112L -+/* #define _POSIX_THREAD_SPORADIC_SERVER -1 */ -+#define _POSIX_THREADS 200112L -+/* #define _POSIX_TIMEOUTS -1 */ -+#define _POSIX_TIMERS 1 -+/* #define _POSIX_TRACE -1 */ -+/* #define _POSIX_TRACE_EVENT_FILTER -1 */ -+/* #define _POSIX_TRACE_INHERIT -1 */ -+/* #define _POSIX_TRACE_LOG -1 */ -+/* #define _POSIX_TYPED_MEMORY_OBJECTS -1 */ -+#define _POSIX_VDISABLE '\0' -+#define _POSIX2_C_BIND 200112L -+#define _POSIX2_C_DEV 200112L -+#define _POSIX2_CHAR_TERM 200112L -+/* #define _POSIX2_FORT_DEV -1 */ -+/* #define _POSIX2_FORT_RUN -1 */ -+/* #define _POSIX2_LOCALEDEF -1 */ -+/* #define _POSIX2_PBS -1 */ -+/* #define _POSIX2_PBS_ACCOUNTING -1 */ -+/* #define _POSIX2_PBS_CHECKPOINT -1 */ -+/* #define _POSIX2_PBS_LOCATE -1 */ -+/* #define _POSIX2_PBS_MESSAGE -1 */ -+/* #define _POSIX2_PBS_TRACK -1 */ -+#define _POSIX2_SW_DEV 200112L -+#define _POSIX2_UPE 200112L -+/* #define _POSIX_V6_ILP32_OFF32 -1 */ -+#define _XBS5_ILP32_OFF32 _POSIX_V6_ILP32_OFF32 -+#define _POSIX_V6_ILP32_OFFBIG 1 -+#define _XBS5_ILP32_OFFBIG _POSIX_V6_ILP32_OFFBIG -+/* #define _POSIX_V6_LP64_OFF64 -1 */ -+#define _XBS5_LP64_OFF64 _POSIX_V6_LP64_OFF64 -+/* #define _POSIX_V6_LPBIG_OFFBIG -1 */ -+#define _XBS5_LPBIG_OFFBIG _POSIX_V6_LPBIG_OFFBIG -+#define _XOPEN_CRYPT 1 -+#define _XOPEN_ENH_I18N 1 -+/* #define _XOPEN_LEGACY -1 */ -+/* #define _XOPEN_REALTIME -1 */ -+/* #define _XOPEN_REALTIME_THREADS -1 */ -+#define _XOPEN_SHM 1 -+/* #define _XOPEN_STREAMS -1 */ -+/* #define _XOPEN_UNIX -1 */ -+ - #endif - - #ifdef __cplusplus -diff -uNr newlib-1.15.0.orig/newlib/libc/include/sys/_types.h newlib-1.15.0/newlib/libc/include/sys/_types.h ---- newlib-1.15.0.orig/newlib/libc/include/sys/_types.h 2004-06-11 22:37:09.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/include/sys/_types.h 2007-02-08 08:19:02.000000000 +0100 -@@ -39,4 +39,7 @@ - /* Iconv descriptor type */ - typedef void *_iconv_t; - -+typedef long * __intptr_t; -+typedef unsigned long* __uintptr_t; -+ - #endif /* _SYS__TYPES_H */ -diff -uNr newlib-1.15.0.orig/newlib/libc/include/sys/unistd.h newlib-1.15.0/newlib/libc/include/sys/unistd.h ---- newlib-1.15.0.orig/newlib/libc/include/sys/unistd.h 2006-11-07 16:33:40.000000000 +0100 -+++ newlib-1.15.0/newlib/libc/include/sys/unistd.h 2007-02-08 08:19:02.000000000 +0100 -@@ -231,63 +231,55 @@ - #define STDERR_FILENO 2 /* standard error file descriptor */ - - /* -- * 4.8.1 Get Configurable System Variables, P1003.1b-1993, p. 96 -- * -- * NOTE: Table 4-2, Configurable System Variables, p. 96 -- */ -- --#define _SC_ARG_MAX 0 --#define _SC_CHILD_MAX 1 --#define _SC_CLK_TCK 2 --#define _SC_NGROUPS_MAX 3 --#define _SC_OPEN_MAX 4 -- /* no _SC_STREAM_MAX */ --#define _SC_JOB_CONTROL 5 --#define _SC_SAVED_IDS 6 --#define _SC_VERSION 7 --#define _SC_PAGESIZE 8 --/* CYGWIN-specific values .. do not touch */ --#define _SC_NPROCESSORS_CONF 9 --#define _SC_NPROCESSORS_ONLN 10 --#define _SC_PHYS_PAGES 11 --#define _SC_AVPHYS_PAGES 12 --/* end of CYGWIN-specific values */ --#define _SC_MQ_OPEN_MAX 13 --#define _SC_MQ_PRIO_MAX 14 --#define _SC_RTSIG_MAX 15 --#define _SC_SEM_NSEMS_MAX 16 --#define _SC_SEM_VALUE_MAX 17 --#define _SC_SIGQUEUE_MAX 18 --#define _SC_TIMER_MAX 19 --#define _SC_TZNAME_MAX 20 -- --#define _SC_ASYNCHRONOUS_IO 21 --#define _SC_FSYNC 22 --#define _SC_MAPPED_FILES 23 --#define _SC_MEMLOCK 24 --#define _SC_MEMLOCK_RANGE 25 --#define _SC_MEMORY_PROTECTION 26 --#define _SC_MESSAGE_PASSING 27 --#define _SC_PRIORITIZED_IO 28 --#define _SC_REALTIME_SIGNALS 29 --#define _SC_SEMAPHORES 30 --#define _SC_SHARED_MEMORY_OBJECTS 31 --#define _SC_SYNCHRONIZED_IO 32 --#define _SC_TIMERS 33 --#define _SC_AIO_LISTIO_MAX 34 --#define _SC_AIO_MAX 35 --#define _SC_AIO_PRIO_DELTA_MAX 36 --#define _SC_DELAYTIMER_MAX 37 -- --/* -- * P1003.1c/D10, p. 52 adds the following. -+ * sysconf values per IEEE Std 1003.1, 2004 Edition - */ - -+#define _SC_ARG_MAX 0 -+#define _SC_CHILD_MAX 1 -+#define _SC_CLK_TCK 2 -+#define _SC_NGROUPS_MAX 3 -+#define _SC_OPEN_MAX 4 -+#define _SC_JOB_CONTROL 5 -+#define _SC_SAVED_IDS 6 -+#define _SC_VERSION 7 -+#define _SC_PAGESIZE 8 -+#define _SC_PAGE_SIZE _SC_PAGESIZE -+/* These are non-POSIX values we accidentally introduced in 2000 without -+ guarding them. Keeping them unguarded for backward compatibility. */ -+#define _SC_NPROCESSORS_CONF 9 -+#define _SC_NPROCESSORS_ONLN 10 -+#define _SC_PHYS_PAGES 11 -+#define _SC_AVPHYS_PAGES 12 -+/* End of non-POSIX values. */ -+#define _SC_MQ_OPEN_MAX 13 -+#define _SC_MQ_PRIO_MAX 14 -+#define _SC_RTSIG_MAX 15 -+#define _SC_SEM_NSEMS_MAX 16 -+#define _SC_SEM_VALUE_MAX 17 -+#define _SC_SIGQUEUE_MAX 18 -+#define _SC_TIMER_MAX 19 -+#define _SC_TZNAME_MAX 20 -+#define _SC_ASYNCHRONOUS_IO 21 -+#define _SC_FSYNC 22 -+#define _SC_MAPPED_FILES 23 -+#define _SC_MEMLOCK 24 -+#define _SC_MEMLOCK_RANGE 25 -+#define _SC_MEMORY_PROTECTION 26 -+#define _SC_MESSAGE_PASSING 27 -+#define _SC_PRIORITIZED_IO 28 -+#define _SC_REALTIME_SIGNALS 29 -+#define _SC_SEMAPHORES 30 -+#define _SC_SHARED_MEMORY_OBJECTS 31 -+#define _SC_SYNCHRONIZED_IO 32 -+#define _SC_TIMERS 33 -+#define _SC_AIO_LISTIO_MAX 34 -+#define _SC_AIO_MAX 35 -+#define _SC_AIO_PRIO_DELTA_MAX 36 -+#define _SC_DELAYTIMER_MAX 37 - #define _SC_THREAD_KEYS_MAX 38 - #define _SC_THREAD_STACK_MIN 39 - #define _SC_THREAD_THREADS_MAX 40 - #define _SC_TTY_NAME_MAX 41 -- - #define _SC_THREADS 42 - #define _SC_THREAD_ATTR_STACKADDR 43 - #define _SC_THREAD_ATTR_STACKSIZE 44 -@@ -302,34 +294,99 @@ - #define _SC_GETPW_R_SIZE_MAX 51 - #define _SC_LOGIN_NAME_MAX 52 - #define _SC_THREAD_DESTRUCTOR_ITERATIONS 53 -- --#if !defined(__rtems__) --#define _SC_STREAM_MAX 100 --#endif --#if !defined(__CYGWIN__) && !defined(__rtems__) --#define _SC_PRIORITY_SCHEDULING 101 --#endif -- --# define _PC_LINK_MAX 0 --# define _PC_MAX_CANON 1 --# define _PC_MAX_INPUT 2 --# define _PC_NAME_MAX 3 --# define _PC_PATH_MAX 4 --# define _PC_PIPE_BUF 5 --# define _PC_CHOWN_RESTRICTED 6 --# define _PC_NO_TRUNC 7 --# define _PC_VDISABLE 8 --# define _PC_ASYNC_IO 9 --# define _PC_PRIO_IO 10 --# define _PC_SYNC_IO 11 --# define _PC_FILESIZEBITS 12 --# define _PC_2_SYMLINKS 13 --# define _PC_SYMLINK_MAX 14 -+#define _SC_ADVISORY_INFO 54 -+#define _SC_ATEXIT_MAX 55 -+#define _SC_BARRIERS 56 -+#define _SC_BC_BASE_MAX 57 -+#define _SC_BC_DIM_MAX 58 -+#define _SC_BC_SCALE_MAX 59 -+#define _SC_BC_STRING_MAX 60 -+#define _SC_CLOCK_SELECTION 61 -+#define _SC_COLL_WEIGHTS_MAX 62 -+#define _SC_CPUTIME 63 -+#define _SC_EXPR_NEST_MAX 64 -+#define _SC_HOST_NAME_MAX 65 -+#define _SC_IOV_MAX 66 -+#define _SC_IPV6 67 -+#define _SC_LINE_MAX 68 -+#define _SC_MONOTONIC_CLOCK 69 -+#define _SC_RAW_SOCKETS 70 -+#define _SC_READER_WRITER_LOCKS 71 -+#define _SC_REGEXP 72 -+#define _SC_RE_DUP_MAX 73 -+#define _SC_SHELL 74 -+#define _SC_SPAWN 75 -+#define _SC_SPIN_LOCKS 76 -+#define _SC_SPORADIC_SERVER 77 -+#define _SC_SS_REPL_MAX 78 -+#define _SC_SYMLOOP_MAX 79 -+#define _SC_THREAD_CPUTIME 80 -+#define _SC_THREAD_SPORADIC_SERVER 81 -+#define _SC_TIMEOUTS 82 -+#define _SC_TRACE 83 -+#define _SC_TRACE_EVENT_FILTER 84 -+#define _SC_TRACE_EVENT_NAME_MAX 85 -+#define _SC_TRACE_INHERIT 86 -+#define _SC_TRACE_LOG 87 -+#define _SC_TRACE_NAME_MAX 88 -+#define _SC_TRACE_SYS_MAX 89 -+#define _SC_TRACE_USER_EVENT_MAX 90 -+#define _SC_TYPED_MEMORY_OBJECTS 91 -+#define _SC_V6_ILP32_OFF32 92 -+#define _SC_XBS5_ILP32_OFF32 _SC_V6_ILP32_OFF32 -+#define _SC_V6_ILP32_OFFBIG 93 -+#define _SC_XBS5_ILP32_OFFBIG _SC_V6_ILP32_OFFBIG -+#define _SC_V6_LP64_OFF64 94 -+#define _SC_XBS5_LP64_OFF64 _SC_V6_LP64_OFF64 -+#define _SC_V6_LPBIG_OFFBIG 95 -+#define _SC_XBS5_LPBIG_OFFBIG _SC_V6_LPBIG_OFFBIG -+#define _SC_XOPEN_CRYPT 96 -+#define _SC_XOPEN_ENH_I18N 97 -+#define _SC_XOPEN_LEGACY 98 -+#define _SC_XOPEN_REALTIME 99 -+#define _SC_STREAM_MAX 100 -+#define _SC_PRIORITY_SCHEDULING 101 -+#define _SC_XOPEN_REALTIME_THREADS 102 -+#define _SC_XOPEN_SHM 103 -+#define _SC_XOPEN_STREAMS 104 -+#define _SC_XOPEN_UNIX 105 -+#define _SC_XOPEN_VERSION 106 -+#define _SC_2_CHAR_TERM 107 -+#define _SC_2_C_BIND 108 -+#define _SC_2_C_DEV 109 -+#define _SC_2_FORT_DEV 110 -+#define _SC_2_FORT_RUN 111 -+#define _SC_2_LOCALEDEF 112 -+#define _SC_2_PBS 113 -+#define _SC_2_PBS_ACCOUNTING 114 -+#define _SC_2_PBS_CHECKPOINT 115 -+#define _SC_2_PBS_LOCATE 116 -+#define _SC_2_PBS_MESSAGE 117 -+#define _SC_2_PBS_TRACK 118 -+#define _SC_2_SW_DEV 119 -+#define _SC_2_UPE 120 -+#define _SC_2_VERSION 121 -+ -+#define _PC_LINK_MAX 0 -+#define _PC_MAX_CANON 1 -+#define _PC_MAX_INPUT 2 -+#define _PC_NAME_MAX 3 -+#define _PC_PATH_MAX 4 -+#define _PC_PIPE_BUF 5 -+#define _PC_CHOWN_RESTRICTED 6 -+#define _PC_NO_TRUNC 7 -+#define _PC_VDISABLE 8 -+#define _PC_ASYNC_IO 9 -+#define _PC_PRIO_IO 10 -+#define _PC_SYNC_IO 11 -+#define _PC_FILESIZEBITS 12 -+#define _PC_2_SYMLINKS 13 -+#define _PC_SYMLINK_MAX 14 - #ifdef __CYGWIN__ - /* Ask for POSIX permission bits support. */ --# define _PC_POSIX_PERMISSIONS 90 -+#define _PC_POSIX_PERMISSIONS 90 - /* Ask for full POSIX permission support including uid/gid settings. */ --# define _PC_POSIX_SECURITY 91 -+#define _PC_POSIX_SECURITY 91 - #endif - - /* FIXME: This is temporary until winsup gets sorted out. */ -diff -uNr newlib-1.15.0.orig/newlib/libc/machine/arm/machine/endian.h newlib-1.15.0/newlib/libc/machine/arm/machine/endian.h ---- newlib-1.15.0.orig/newlib/libc/machine/arm/machine/endian.h 2004-05-07 22:29:24.000000000 +0200 -+++ newlib-1.15.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 -uNr newlib-1.15.0.orig/newlib/libc/search/db_local.h newlib-1.15.0/newlib/libc/search/db_local.h ---- newlib-1.15.0.orig/newlib/libc/search/db_local.h 2002-06-25 01:05:08.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/db_local.h 2007-02-08 08:19:02.000000000 +0100 -@@ -50,7 +50,7 @@ - #define MAX_PAGE_NUMBER 0xffffffff /* >= # of pages in a file */ - typedef __uint32_t pgno_t; - #define MAX_PAGE_OFFSET 65535 /* >= # of bytes in a page */ --typedef __uint16_t indx_t; -+typedef __uint_least16_t indx_t; - #define MAX_REC_NUMBER 0xffffffff /* >= # of records in a tree */ - typedef __uint32_t recno_t; - -@@ -191,12 +191,12 @@ - * P_16_COPY swap from one location to another - */ - #define M_16_SWAP(a) { \ -- __uint16_t _tmp = a; \ -+ __uint_least16_t _tmp = a; \ - ((char *)&a)[0] = ((char *)&_tmp)[1]; \ - ((char *)&a)[1] = ((char *)&_tmp)[0]; \ - } - #define P_16_SWAP(a) { \ -- __uint16_t _tmp = *(__uint16_t *)a; \ -+ __uint_least16_t _tmp = *(__uint_least16_t *)a; \ - ((char *)a)[0] = ((char *)&_tmp)[1]; \ - ((char *)a)[1] = ((char *)&_tmp)[0]; \ - } -diff -uNr newlib-1.15.0.orig/newlib/libc/search/extern.h newlib-1.15.0/newlib/libc/search/extern.h ---- newlib-1.15.0.orig/newlib/libc/search/extern.h 2002-06-20 21:51:31.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/extern.h 2007-02-08 08:19:02.000000000 +0100 -@@ -48,7 +48,7 @@ - int __delpair(HTAB *, BUFHEAD *, int); - int __expand_table(HTAB *); - int __find_bigpair(HTAB *, BUFHEAD *, int, char *, int); --__uint16_t __find_last_page(HTAB *, BUFHEAD **); -+__uint_least16_t __find_last_page(HTAB *, BUFHEAD **); - void __free_ovflpage(HTAB *, BUFHEAD *); - BUFHEAD *__get_buf(HTAB *, __uint32_t, BUFHEAD *, int); - int __get_page(HTAB *, char *, __uint32_t, int, int, int); -diff -uNr newlib-1.15.0.orig/newlib/libc/search/hash_bigkey.c newlib-1.15.0/newlib/libc/search/hash_bigkey.c ---- newlib-1.15.0.orig/newlib/libc/search/hash_bigkey.c 2006-06-07 21:22:59.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/hash_bigkey.c 2007-02-08 08:19:02.000000000 +0100 -@@ -92,13 +92,13 @@ - BUFHEAD *bufp; - const DBT *key, *val; - { -- __uint16_t *p; -+ __uint_least16_t *p; - int key_size, n, val_size; -- __uint16_t space, move_bytes, off; -+ __uint_least16_t space, move_bytes, off; - char *cp, *key_data, *val_data; - - cp = bufp->page; /* Character pointer of p. */ -- p = (__uint16_t *)cp; -+ p = (__uint_least16_t *)cp; - - key_data = (char *)key->data; - key_size = key->size; -@@ -136,7 +136,7 @@ - OFFSET(p) = off; - } else - p[n - 2] = FULL_KEY; -- p = (__uint16_t *)bufp->page; -+ p = (__uint_least16_t *)bufp->page; - cp = bufp->page; - bufp->flags |= BUF_MOD; - } -@@ -166,7 +166,7 @@ - if (!bufp) - return (-1); - cp = bufp->page; -- p = (__uint16_t *)cp; -+ p = (__uint_least16_t *)cp; - } else - p[n] = FULL_KEY_DATA; - bufp->flags |= BUF_MOD; -@@ -191,12 +191,12 @@ - BUFHEAD *bufp; - { - BUFHEAD *last_bfp, *rbufp; -- __uint16_t *bp, pageno; -+ __uint_least16_t *bp, pageno; - int key_done, n; - - rbufp = bufp; - last_bfp = NULL; -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - pageno = 0; - key_done = 0; - -@@ -219,7 +219,7 @@ - last_bfp = rbufp; - if (!rbufp) - return (-1); /* Error. */ -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - } - - /* -@@ -234,7 +234,7 @@ - pageno = bp[n - 1]; - - /* Now, bp is the first page of the pair. */ -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - if (n > 2) { - /* There is an overflow page. */ - bp[1] = pageno; -@@ -272,13 +272,13 @@ - char *key; - int size; - { -- __uint16_t *bp; -+ __uint_least16_t *bp; - char *p; - int ksize; -- __uint16_t bytes; -+ __uint_least16_t bytes; - char *kkey; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - p = bufp->page; - ksize = size; - kkey = key; -@@ -294,7 +294,7 @@ - if (!bufp) - return (-3); - p = bufp->page; -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - ndx = 1; - } - -@@ -316,17 +316,17 @@ - * of the pair; 0 if there isn't any (i.e. big pair is the last key in the - * bucket) - */ --extern __uint16_t -+extern __uint_least16_t - __find_last_page(hashp, bpp) - HTAB *hashp; - BUFHEAD **bpp; - { - BUFHEAD *bufp; -- __uint16_t *bp, pageno; -+ __uint_least16_t *bp, pageno; - int n; - - bufp = *bpp; -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - for (;;) { - n = bp[0]; - -@@ -343,7 +343,7 @@ - bufp = __get_buf(hashp, pageno, bufp, 0); - if (!bufp) - return (0); /* Need to indicate an error! */ -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } - - *bpp = bufp; -@@ -366,15 +366,15 @@ - int set_current; - { - BUFHEAD *save_p; -- __uint16_t *bp, len, off, save_addr; -+ __uint_least16_t *bp, len, off, save_addr; - char *tp; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - while (bp[ndx + 1] == PARTIAL_KEY) { - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - ndx = 1; - } - -@@ -382,7 +382,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - save_p = bufp; - save_addr = save_p->addr; - off = bp[1]; -@@ -403,7 +403,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } else { - /* The data is all on one page. */ - tp = (char *)bp; -@@ -422,7 +422,7 @@ - if (!hashp->cpage) - return (-1); - hashp->cndx = 1; -- if (!((__uint16_t *) -+ if (!((__uint_least16_t *) - hashp->cpage->page)[0]) { - hashp->cbucket++; - hashp->cpage = NULL; -@@ -454,14 +454,14 @@ - BUFHEAD *bufp; - int len, set; - { -- __uint16_t *bp; -+ __uint_least16_t *bp; - char *p; - BUFHEAD *xbp; -- __uint16_t save_addr; -+ __uint_least16_t save_addr; - int mylen, totlen; - - p = bufp->page; -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - mylen = hashp->BSIZE - bp[1]; - save_addr = bufp->addr; - -@@ -481,7 +481,7 @@ - __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!hashp->cpage) - return (-1); -- else if (!((__uint16_t *)hashp->cpage->page)[0]) { -+ else if (!((__uint_least16_t *)hashp->cpage->page)[0]) { - hashp->cbucket++; - hashp->cpage = NULL; - } -@@ -533,10 +533,10 @@ - BUFHEAD *xbp; - char *p; - int mylen, totlen; -- __uint16_t *bp, save_addr; -+ __uint_least16_t *bp, save_addr; - - p = bufp->page; -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - mylen = hashp->BSIZE - bp[1]; - - save_addr = bufp->addr; -@@ -579,11 +579,11 @@ - SPLIT_RETURN *ret; - { - BUFHEAD *tmpp; -- __uint16_t *tp; -+ __uint_least16_t *tp; - BUFHEAD *bp; - DBT key, val; - __uint32_t change; -- __uint16_t free_space, n, off; -+ __uint_least16_t free_space, n, off; - - bp = big_keyp; - -@@ -615,14 +615,14 @@ - (tmpp->ovfl ? tmpp->ovfl->addr : 0), (bp ? bp->addr : 0)); - #endif - tmpp->ovfl = bp; /* one of op/np point to big_keyp */ -- tp = (__uint16_t *)tmpp->page; -+ tp = (__uint_least16_t *)tmpp->page; - #ifdef DEBUG - assert(FREESPACE(tp) >= OVFLSIZE); - #endif - n = tp[0]; - off = OFFSET(tp); - free_space = FREESPACE(tp); -- tp[++n] = (__uint16_t)addr; -+ tp[++n] = (__uint_least16_t)addr; - tp[++n] = OVFLPAGE; - tp[0] = n; - OFFSET(tp) = off; -@@ -638,7 +638,7 @@ - ret->newp = np; - ret->oldp = op; - -- tp = (__uint16_t *)big_keyp->page; -+ tp = (__uint_least16_t *)big_keyp->page; - big_keyp->flags |= BUF_MOD; - if (tp[0] > 2) { - /* -diff -uNr newlib-1.15.0.orig/newlib/libc/search/hash_buf.c newlib-1.15.0/newlib/libc/search/hash_buf.c ---- newlib-1.15.0.orig/newlib/libc/search/hash_buf.c 2004-05-26 19:57:10.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/hash_buf.c 2007-02-08 08:19:02.000000000 +0100 -@@ -176,7 +176,7 @@ - BUFHEAD *next_xbp; - SEGMENT segp; - int segment_ndx; -- __uint16_t oaddr, *shortp; -+ __uint_least16_t oaddr, *shortp; - - oaddr = 0; - bp = LRU; -@@ -212,7 +212,7 @@ - * Set oaddr before __put_page so that you get it - * before bytes are swapped. - */ -- shortp = (__uint16_t *)bp->page; -+ shortp = (__uint_least16_t *)bp->page; - if (shortp[0]) - oaddr = shortp[shortp[0] - 1]; - if ((bp->flags & BUF_MOD) && __put_page(hashp, bp->page, -@@ -255,7 +255,7 @@ - (oaddr != xbp->addr)) - break; - -- shortp = (__uint16_t *)xbp->page; -+ shortp = (__uint_least16_t *)xbp->page; - if (shortp[0]) - /* set before __put_page */ - oaddr = shortp[shortp[0] - 1]; -diff -uNr newlib-1.15.0.orig/newlib/libc/search/hash.c newlib-1.15.0/newlib/libc/search/hash.c ---- newlib-1.15.0.orig/newlib/libc/search/hash.c 2004-05-26 19:57:10.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/hash.c 2007-02-08 08:19:02.000000000 +0100 -@@ -628,10 +628,10 @@ - { - BUFHEAD *rbufp; - BUFHEAD *bufp, *save_bufp; -- __uint16_t *bp; -+ __uint_least16_t *bp; - int n, ndx, off, size; - char *kp; -- __uint16_t pageno; -+ __uint_least16_t pageno; - - #ifdef HASH_STATISTICS - hash_accesses++; -@@ -647,7 +647,7 @@ - - /* Pin the bucket chain */ - rbufp->flags |= BUF_PIN; -- for (bp = (__uint16_t *)rbufp->page, n = *bp++, ndx = 1; ndx < n;) -+ for (bp = (__uint_least16_t *)rbufp->page, n = *bp++, ndx = 1; ndx < n;) - if (bp[1] >= REAL_KEY) { - /* Real key/data pair */ - if (size == off - *bp && -@@ -666,7 +666,7 @@ - return (ERROR); - } - /* FOR LOOP INIT */ -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - n = *bp++; - ndx = 1; - off = hashp->BSIZE; -@@ -688,7 +688,7 @@ - return (ERROR); - } - /* FOR LOOP INIT */ -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - n = *bp++; - ndx = 1; - off = hashp->BSIZE; -@@ -722,7 +722,7 @@ - save_bufp->flags &= ~BUF_PIN; - return (ABNORMAL); - case HASH_GET: -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - if (bp[ndx + 1] < REAL_KEY) { - if (__big_return(hashp, rbufp, ndx, val, 0)) - return (ERROR); -@@ -758,7 +758,7 @@ - __uint32_t bucket; - BUFHEAD *bufp; - HTAB *hashp; -- __uint16_t *bp, ndx; -+ __uint_least16_t *bp, ndx; - - hashp = (HTAB *)dbp->internal; - if (flag && flag != R_FIRST && flag != R_NEXT) { -@@ -783,7 +783,7 @@ - if (!bufp) - return (ERROR); - hashp->cpage = bufp; -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - if (bp[0]) - break; - } -@@ -793,7 +793,7 @@ - return (ABNORMAL); - } - } else -- bp = (__uint16_t *)hashp->cpage->page; -+ bp = (__uint_least16_t *)hashp->cpage->page; - - #ifdef DEBUG - assert(bp); -@@ -804,7 +804,7 @@ - __get_buf(hashp, bp[hashp->cndx], bufp, 0); - if (!bufp) - return (ERROR); -- bp = (__uint16_t *)(bufp->page); -+ bp = (__uint_least16_t *)(bufp->page); - hashp->cndx = 1; - } - if (!bp[0]) { -diff -uNr newlib-1.15.0.orig/newlib/libc/search/hash.h newlib-1.15.0/newlib/libc/search/hash.h ---- newlib-1.15.0.orig/newlib/libc/search/hash.h 2002-07-02 20:18:58.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/hash.h 2007-02-08 08:19:02.000000000 +0100 -@@ -102,7 +102,7 @@ - #define NCACHED 32 /* number of bit maps and spare - * points */ - int spares[NCACHED];/* spare pages for overflow */ -- __uint16_t bitmaps[NCACHED]; /* address of overflow page -+ __uint_least16_t bitmaps[NCACHED]; /* address of overflow page - * bitmaps */ - } HASHHDR; - -diff -uNr newlib-1.15.0.orig/newlib/libc/search/hash_page.c newlib-1.15.0/newlib/libc/search/hash_page.c ---- newlib-1.15.0.orig/newlib/libc/search/hash_page.c 2002-09-19 23:28:51.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/hash_page.c 2007-02-08 08:19:02.000000000 +0100 -@@ -77,16 +77,16 @@ - static __uint32_t *fetch_bitmap(HTAB *, int); - static __uint32_t first_free(__uint32_t); - static int open_temp(HTAB *); --static __uint16_t overflow_page(HTAB *); -+static __uint_least16_t overflow_page(HTAB *); - static void putpair(char *, const DBT *, const DBT *); --static void squeeze_key(__uint16_t *, const DBT *, const DBT *); -+static void squeeze_key(__uint_least16_t *, const DBT *, const DBT *); - static int ugly_split - (HTAB *, __uint32_t, BUFHEAD *, BUFHEAD *, int, int); - - #define PAGE_INIT(P) { \ -- ((__uint16_t *)(P))[0] = 0; \ -- ((__uint16_t *)(P))[1] = hashp->BSIZE - 3 * sizeof(__uint16_t); \ -- ((__uint16_t *)(P))[2] = hashp->BSIZE; \ -+ ((__uint_least16_t *)(P))[0] = 0; \ -+ ((__uint_least16_t *)(P))[1] = hashp->BSIZE - 3 * sizeof(__uint_least16_t); \ -+ ((__uint_least16_t *)(P))[2] = hashp->BSIZE; \ - } - - /* -@@ -99,9 +99,9 @@ - char *p; - const DBT *key, *val; - { -- __uint16_t *bp, n, off; -+ __uint_least16_t *bp, n, off; - -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - - /* Enter the key first. */ - n = bp[0]; -@@ -117,7 +117,7 @@ - - /* Adjust page info. */ - bp[0] = n; -- bp[n + 1] = off - ((n + 3) * sizeof(__uint16_t)); -+ bp[n + 1] = off - ((n + 3) * sizeof(__uint_least16_t)); - bp[n + 2] = off; - } - -@@ -132,11 +132,11 @@ - BUFHEAD *bufp; - int ndx; - { -- __uint16_t *bp, newoff; -+ __uint_least16_t *bp, newoff; - int n; -- __uint16_t pairlen; -+ __uint_least16_t pairlen; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - n = bp[0]; - - if (bp[ndx + 1] < REAL_KEY) -@@ -167,7 +167,7 @@ - } - /* Finally adjust the page data */ - bp[n] = OFFSET(bp) + pairlen; -- bp[n - 1] = bp[n + 1] + pairlen + 2 * sizeof(__uint16_t); -+ bp[n - 1] = bp[n + 1] + pairlen + 2 * sizeof(__uint_least16_t); - bp[0] = n - 2; - hashp->NKEYS--; - -@@ -185,15 +185,15 @@ - __uint32_t obucket, nbucket; - { - BUFHEAD *new_bufp, *old_bufp; -- __uint16_t *ino; -+ __uint_least16_t *ino; - char *np; - DBT key, val; - int n, ndx, retval; -- __uint16_t copyto, diff, off, moved; -+ __uint_least16_t copyto, diff, off, moved; - char *op; - -- copyto = (__uint16_t)hashp->BSIZE; -- off = (__uint16_t)hashp->BSIZE; -+ copyto = (__uint_least16_t)hashp->BSIZE; -+ off = (__uint_least16_t)hashp->BSIZE; - old_bufp = __get_buf(hashp, obucket, NULL, 0); - if (old_bufp == NULL) - return (-1); -@@ -204,7 +204,7 @@ - old_bufp->flags |= (BUF_MOD | BUF_PIN); - new_bufp->flags |= (BUF_MOD | BUF_PIN); - -- ino = (__uint16_t *)(op = old_bufp->page); -+ ino = (__uint_least16_t *)(op = old_bufp->page); - np = new_bufp->page; - - moved = 0; -@@ -246,13 +246,13 @@ - - /* Now clean up the page */ - ino[0] -= moved; -- FREESPACE(ino) = copyto - sizeof(__uint16_t) * (ino[0] + 3); -+ FREESPACE(ino) = copyto - sizeof(__uint_least16_t) * (ino[0] + 3); - OFFSET(ino) = copyto; - - #ifdef DEBUG3 - (void)fprintf(stderr, "split %d/%d\n", -- ((__uint16_t *)np)[0] / 2, -- ((__uint16_t *)op)[0] / 2); -+ ((__uint_least16_t *)np)[0] / 2, -+ ((__uint_least16_t *)op)[0] / 2); - #endif - /* unpin both pages */ - old_bufp->flags &= ~BUF_PIN; -@@ -284,22 +284,22 @@ - int moved; /* Number of pairs moved to new page. */ - { - BUFHEAD *bufp; /* Buffer header for ino */ -- __uint16_t *ino; /* Page keys come off of */ -- __uint16_t *np; /* New page */ -- __uint16_t *op; /* Page keys go on to if they aren't moving */ -+ __uint_least16_t *ino; /* Page keys come off of */ -+ __uint_least16_t *np; /* New page */ -+ __uint_least16_t *op; /* Page keys go on to if they aren't moving */ - - BUFHEAD *last_bfp; /* Last buf header OVFL needing to be freed */ - DBT key, val; - SPLIT_RETURN ret; -- __uint16_t n, off, ov_addr, scopyto; -+ __uint_least16_t n, off, ov_addr, scopyto; - char *cino; /* Character value of ino */ - - bufp = old_bufp; -- ino = (__uint16_t *)old_bufp->page; -- np = (__uint16_t *)new_bufp->page; -- op = (__uint16_t *)old_bufp->page; -+ ino = (__uint_least16_t *)old_bufp->page; -+ np = (__uint_least16_t *)new_bufp->page; -+ op = (__uint_least16_t *)old_bufp->page; - last_bfp = NULL; -- scopyto = (__uint16_t)copyto; /* ANSI */ -+ scopyto = (__uint_least16_t)copyto; /* ANSI */ - - n = ino[0] - 1; - while (n < ino[0]) { -@@ -310,16 +310,16 @@ - old_bufp = ret.oldp; - if (!old_bufp) - return (-1); -- op = (__uint16_t *)old_bufp->page; -+ op = (__uint_least16_t *)old_bufp->page; - new_bufp = ret.newp; - if (!new_bufp) - return (-1); -- np = (__uint16_t *)new_bufp->page; -+ np = (__uint_least16_t *)new_bufp->page; - bufp = ret.nextp; - if (!bufp) - return (0); - cino = (char *)bufp->page; -- ino = (__uint16_t *)cino; -+ ino = (__uint_least16_t *)cino; - last_bfp = ret.nextp; - } else if (ino[n + 1] == OVFLPAGE) { - ov_addr = ino[n]; -@@ -329,14 +329,14 @@ - */ - ino[0] -= (moved + 2); - FREESPACE(ino) = -- scopyto - sizeof(__uint16_t) * (ino[0] + 3); -+ scopyto - sizeof(__uint_least16_t) * (ino[0] + 3); - OFFSET(ino) = scopyto; - - bufp = __get_buf(hashp, ov_addr, bufp, 0); - if (!bufp) - return (-1); - -- ino = (__uint16_t *)bufp->page; -+ ino = (__uint_least16_t *)bufp->page; - n = 1; - scopyto = hashp->BSIZE; - moved = 0; -@@ -364,7 +364,7 @@ - __add_ovflpage(hashp, old_bufp); - if (!old_bufp) - return (-1); -- op = (__uint16_t *)old_bufp->page; -+ op = (__uint_least16_t *)old_bufp->page; - putpair((char *)op, &key, &val); - } - old_bufp->flags |= BUF_MOD; -@@ -377,7 +377,7 @@ - __add_ovflpage(hashp, new_bufp); - if (!new_bufp) - return (-1); -- np = (__uint16_t *)new_bufp->page; -+ np = (__uint_least16_t *)new_bufp->page; - putpair((char *)np, &key, &val); - } - new_bufp->flags |= BUF_MOD; -@@ -402,10 +402,10 @@ - BUFHEAD *bufp; - const DBT *key, *val; - { -- __uint16_t *bp, *sop; -+ __uint_least16_t *bp, *sop; - int do_expand; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - do_expand = 0; - while (bp[0] && (bp[2] < REAL_KEY || bp[bp[0]] < REAL_KEY)) - /* Exception case */ -@@ -417,7 +417,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } else - /* Try to squeeze key on this page */ - if (FREESPACE(bp) > PAIRSIZE(key, val)) { -@@ -427,7 +427,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } - - if (PAIRFITS(bp, key, val)) -@@ -437,7 +437,7 @@ - bufp = __add_ovflpage(hashp, bufp); - if (!bufp) - return (-1); -- sop = (__uint16_t *)bufp->page; -+ sop = (__uint_least16_t *)bufp->page; - - if (PAIRFITS(sop, key, val)) - putpair((char *)sop, key, val); -@@ -468,12 +468,12 @@ - HTAB *hashp; - BUFHEAD *bufp; - { -- __uint16_t *sp; -- __uint16_t ndx, ovfl_num; -+ __uint_least16_t *sp; -+ __uint_least16_t ndx, ovfl_num; - #ifdef DEBUG1 - int tmp1, tmp2; - #endif -- sp = (__uint16_t *)bufp->page; -+ sp = (__uint_least16_t *)bufp->page; - - /* Check if we are dynamically determining the fill factor */ - if (hashp->FFACTOR == DEF_FFACTOR) { -@@ -525,7 +525,7 @@ - { - int fd, page, size; - int rsize; -- __uint16_t *bp; -+ __uint_least16_t *bp; - - fd = hashp->fp; - size = hashp->BSIZE; -@@ -541,7 +541,7 @@ - if ((lseek(fd, (off_t)page << hashp->BSHIFT, SEEK_SET) == -1) || - ((rsize = read(fd, p, size)) == -1)) - return (-1); -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - if (!rsize) - bp[0] = 0; /* We hit the EOF, so initialize a new page */ - else -@@ -600,9 +600,9 @@ - for (i = 0; i < max; i++) - M_32_SWAP(((int *)p)[i]); - } else { -- max = ((__uint16_t *)p)[0] + 2; -+ max = ((__uint_least16_t *)p)[0] + 2; - for (i = 0; i <= max; i++) -- M_16_SWAP(((__uint16_t *)p)[i]); -+ M_16_SWAP(((__uint_least16_t *)p)[i]); - } - } - if (is_bucket) -@@ -643,7 +643,7 @@ - hashp->BSIZE - clearbytes); - ip[clearints - 1] = ALL_SET << (nbits & BYTE_MASK); - SETBIT(ip, 0); -- hashp->BITMAPS[ndx] = (__uint16_t)pnum; -+ hashp->BITMAPS[ndx] = (__uint_least16_t)pnum; - hashp->mapp[ndx] = ip; - return (0); - } -@@ -663,13 +663,13 @@ - return (i); - } - --static __uint16_t -+static __uint_least16_t - overflow_page(hashp) - HTAB *hashp; - { - __uint32_t *freep; - int max_free, offset, splitnum; -- __uint16_t addr; -+ __uint_least16_t addr; - int bit, first_page, free_bit, free_page, i, in_use_bits, j; - #ifdef DEBUG2 - int tmp1, tmp2; -@@ -816,16 +816,16 @@ - HTAB *hashp; - BUFHEAD *obufp; - { -- __uint16_t addr; -+ __uint_least16_t addr; - __uint32_t *freep; - int bit_address, free_page, free_bit; -- __uint16_t ndx; -+ __uint_least16_t ndx; - - addr = obufp->addr; - #ifdef DEBUG1 - (void)fprintf(stderr, "Freeing %d\n", addr); - #endif -- ndx = (((__uint16_t)addr) >> SPLITSHIFT); -+ ndx = (((__uint_least16_t)addr) >> SPLITSHIFT); - bit_address = - (ndx ? hashp->SPARES[ndx - 1] : 0) + (addr & SPLITMASK) - 1; - if (bit_address < hashp->LAST_FREED) -@@ -883,11 +883,11 @@ - */ - static void - squeeze_key(sp, key, val) -- __uint16_t *sp; -+ __uint_least16_t *sp; - const DBT *key, *val; - { - char *p; -- __uint16_t free_space, n, off, pageno; -+ __uint_least16_t free_space, n, off, pageno; - - p = (char *)sp; - n = sp[0]; -diff -uNr newlib-1.15.0.orig/newlib/libc/search/page.h newlib-1.15.0/newlib/libc/search/page.h ---- newlib-1.15.0.orig/newlib/libc/search/page.h 2002-06-20 21:51:31.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/page.h 2007-02-08 08:19:02.000000000 +0100 -@@ -74,20 +74,20 @@ - * You might as well do this up front. - */ - --#define PAIRSIZE(K,D) (2*sizeof(__uint16_t) + (K)->size + (D)->size) --#define BIGOVERHEAD (4*sizeof(__uint16_t)) --#define KEYSIZE(K) (4*sizeof(__uint16_t) + (K)->size); --#define OVFLSIZE (2*sizeof(__uint16_t)) -+#define PAIRSIZE(K,D) (2*sizeof(__uint_least16_t) + (K)->size + (D)->size) -+#define BIGOVERHEAD (4*sizeof(__uint_least16_t)) -+#define KEYSIZE(K) (4*sizeof(__uint_least16_t) + (K)->size); -+#define OVFLSIZE (2*sizeof(__uint_least16_t)) - #define FREESPACE(P) ((P)[(P)[0]+1]) - #define OFFSET(P) ((P)[(P)[0]+2]) - #define PAIRFITS(P,K,D) \ - (((P)[2] >= REAL_KEY) && \ - (PAIRSIZE((K),(D)) + OVFLSIZE) <= FREESPACE((P))) --#define PAGE_META(N) (((N)+3) * sizeof(__uint16_t)) -+#define PAGE_META(N) (((N)+3) * sizeof(__uint_least16_t)) - - typedef struct { - BUFHEAD *newp; - BUFHEAD *oldp; - BUFHEAD *nextp; -- __uint16_t next_addr; -+ __uint_least16_t next_addr; - } SPLIT_RETURN; -diff -uNr newlib-1.15.0.orig/newlib/libc/sys/rtems/machine/stdint.h newlib-1.15.0/newlib/libc/sys/rtems/machine/stdint.h ---- newlib-1.15.0.orig/newlib/libc/sys/rtems/machine/stdint.h 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.15.0/newlib/libc/sys/rtems/machine/stdint.h 2007-02-08 08:19:02.000000000 +0100 -@@ -0,0 +1,31 @@ -+/* -+ * -+ */ -+#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 -+ -+#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 -uNr newlib-1.15.0.orig/newlib/Makefile.am newlib-1.15.0/newlib/Makefile.am ---- newlib-1.15.0.orig/newlib/Makefile.am 2006-06-05 19:42:57.000000000 +0200 -+++ newlib-1.15.0/newlib/Makefile.am 2007-02-08 08:19:02.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 -uNr newlib-1.15.0.orig/newlib/Makefile.in newlib-1.15.0/newlib/Makefile.in ---- newlib-1.15.0.orig/newlib/Makefile.in 2006-12-18 21:32:41.000000000 +0100 -+++ newlib-1.15.0/newlib/Makefile.in 2007-02-08 08:19:02.000000000 +0100 -@@ -103,7 +103,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) -@@ -205,12 +205,7 @@ - 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_CC = @ac_ct_CC@ --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@ -@@ -226,12 +221,16 @@ - build_os = @build_os@ - build_vendor = @build_vendor@ - datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ - exec_prefix = @exec_prefix@ - host = @host@ - host_alias = @host_alias@ - host_cpu = @host_cpu@ - host_os = @host_os@ - host_vendor = @host_vendor@ -+htmldir = @htmldir@ - includedir = @includedir@ - infodir = @infodir@ - install_sh = @install_sh@ -@@ -240,6 +239,7 @@ - libdir = @libdir@ - libexecdir = @libexecdir@ - libm_machine_dir = @libm_machine_dir@ -+localedir = @localedir@ - localstatedir = @localstatedir@ - lpfx = @lpfx@ - machine_dir = @machine_dir@ -@@ -248,8 +248,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@ - subdirs = @subdirs@ -@@ -323,7 +325,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 -@@ -382,7 +384,7 @@ - - # dejagnu support - RUNTESTFLAGS = --all: newlib.h -+all: $(BUILT_SOURCES) newlib.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - - .SUFFIXES: -@@ -687,14 +689,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 -@@ -719,6 +723,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 \ -@@ -837,8 +842,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 --git a/contrib/crossrpms/patches/newlib-1.15.0-rtems4.8-20070316.diff b/contrib/crossrpms/patches/newlib-1.15.0-rtems4.8-20070316.diff deleted file mode 100644 index b847a1c37c..0000000000 --- a/contrib/crossrpms/patches/newlib-1.15.0-rtems4.8-20070316.diff +++ /dev/null @@ -1,1403 +0,0 @@ -diff -uNr newlib-1.15.0.orig/newlib/libc/include/inttypes.h newlib-1.15.0/newlib/libc/include/inttypes.h ---- newlib-1.15.0.orig/newlib/libc/include/inttypes.h 2005-12-16 20:03:12.000000000 +0100 -+++ newlib-1.15.0/newlib/libc/include/inttypes.h 2007-03-16 05:31:33.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 -uNr newlib-1.15.0.orig/newlib/libc/include/machine/setjmp.h newlib-1.15.0/newlib/libc/include/machine/setjmp.h ---- newlib-1.15.0.orig/newlib/libc/include/machine/setjmp.h 2006-12-18 17:48:03.000000000 +0100 -+++ newlib-1.15.0/newlib/libc/include/machine/setjmp.h 2007-03-16 05:31:34.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 -uNr newlib-1.15.0.orig/newlib/libc/include/stdint.h newlib-1.15.0/newlib/libc/include/stdint.h ---- newlib-1.15.0.orig/newlib/libc/include/stdint.h 2006-08-16 23:39:43.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/include/stdint.h 2007-03-16 05:31:34.000000000 +0100 -@@ -393,6 +393,9 @@ - #define UINTMAX_C(x) x##UL - #endif - -+#ifdef __rtems__ -+#include -+#endif - - #ifdef __cplusplus - } -diff -uNr newlib-1.15.0.orig/newlib/libc/include/sys/errno.h newlib-1.15.0/newlib/libc/include/sys/errno.h ---- newlib-1.15.0.orig/newlib/libc/include/sys/errno.h 2002-09-24 16:10:12.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/include/sys/errno.h 2007-03-16 05:31:34.000000000 +0100 -@@ -148,6 +148,7 @@ - #define ECASECLASH 137 /* Filename exists with different case */ - #define EILSEQ 138 - #define EOVERFLOW 139 /* Value too large for defined data type */ -+#define ECANCELED 140 /* Operation canceled. */ - - /* From cygwin32. */ - #define EWOULDBLOCK EAGAIN /* Operation would block */ -diff -uNr newlib-1.15.0.orig/newlib/libc/include/sys/features.h newlib-1.15.0/newlib/libc/include/sys/features.h ---- newlib-1.15.0.orig/newlib/libc/include/sys/features.h 2006-09-14 00:09:27.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/include/sys/features.h 2007-03-16 05:31:34.000000000 +0100 -@@ -81,17 +81,89 @@ - #endif - - #ifdef __CYGWIN__ --# define _POSIX_JOB_CONTROL 1 --# define _POSIX_SAVED_IDS 0 --# define _POSIX_VERSION 199009L --# define _POSIX_THREADS 1 --# define _POSIX_THREAD_PROCESS_SHARED 1 --# define _POSIX_THREAD_SAFE_FUNCTIONS 1 --# define _POSIX_THREAD_PRIORITY_SCHEDULING 1 --# define _POSIX_THREAD_ATTR_STACKSIZE 1 --# define _POSIX_SEMAPHORES 1 --# define _POSIX_TIMERS 1 --# define _POSIX_MEMLOCK_RANGE 1 -+#define _POSIX_VERSION 200112L -+#define _POSIX2_VERSION 200112L -+#define _XOPEN_VERSION 600 -+ -+#define _POSIX_ADVISORY_INFO 200112L -+/* #define _POSIX_ASYNCHRONOUS_IO -1 */ -+/* #define _POSIX_BARRIERS -1 */ -+#define _POSIX_CHOWN_RESTRICTED 1 -+/* #define _POSIX_CLOCK_SELECTION -1 */ -+/* #define _POSIX_CPUTIME -1 */ -+#define _POSIX_FSYNC 200112L -+#define _POSIX_IPV6 200112L -+#define _POSIX_JOB_CONTROL 1 -+#define _POSIX_MAPPED_FILES 200112L -+/* #define _POSIX_MEMLOCK -1 */ -+#define _POSIX_MEMLOCK_RANGE 200112L -+#define _POSIX_MEMORY_PROTECTION 200112L -+/* #define _POSIX_MESSAGE_PASSING -1 */ -+/* #define _POSIX_MONOTONIC_CLOCK -1 */ -+#define _POSIX_NO_TRUNC 1 -+/* #define _POSIX_PRIORITIZED_IO -1 */ -+#define _POSIX_PRIORITY_SCHEDULING 200112L -+#define _POSIX_RAW_SOCKETS 200112L -+#define _POSIX_READER_WRITER_LOCKS 200112L -+#define _POSIX_REALTIME_SIGNALS 200112L -+#define _POSIX_REGEXP 1 -+#define _POSIX_SAVED_IDS 1 -+#define _POSIX_SEMAPHORES 1 -+/* #define _POSIX_SHARED_MEMORY_OBJECTS -1 */ -+#define _POSIX_SHELL 1 -+/* #define _POSIX_SPAWN -1 */ -+/* #define _POSIX_SPIN_LOCKS -1 */ -+/* #define _POSIX_SPORADIC_SERVER -1 */ -+#define _POSIX_SYNCHRONIZED_IO 200112L -+/* #define _POSIX_THREAD_ATTR_STACKADDR -1 */ -+#define _POSIX_THREAD_ATTR_STACKSIZE 200112L -+/* #define _POSIX_THREAD_CPUTIME -1 */ -+/* #define _POSIX_THREAD_PRIO_INHERIT -1 */ -+/* #define _POSIX_THREAD_PRIO_PROTECT -1 */ -+#define _POSIX_THREAD_PRIORITY_SCHEDULING 200112L -+#define _POSIX_THREAD_PROCESS_SHARED 200112L -+#define _POSIX_THREAD_SAFE_FUNCTIONS 200112L -+/* #define _POSIX_THREAD_SPORADIC_SERVER -1 */ -+#define _POSIX_THREADS 200112L -+/* #define _POSIX_TIMEOUTS -1 */ -+#define _POSIX_TIMERS 1 -+/* #define _POSIX_TRACE -1 */ -+/* #define _POSIX_TRACE_EVENT_FILTER -1 */ -+/* #define _POSIX_TRACE_INHERIT -1 */ -+/* #define _POSIX_TRACE_LOG -1 */ -+/* #define _POSIX_TYPED_MEMORY_OBJECTS -1 */ -+#define _POSIX_VDISABLE '\0' -+#define _POSIX2_C_BIND 200112L -+#define _POSIX2_C_DEV 200112L -+#define _POSIX2_CHAR_TERM 200112L -+/* #define _POSIX2_FORT_DEV -1 */ -+/* #define _POSIX2_FORT_RUN -1 */ -+/* #define _POSIX2_LOCALEDEF -1 */ -+/* #define _POSIX2_PBS -1 */ -+/* #define _POSIX2_PBS_ACCOUNTING -1 */ -+/* #define _POSIX2_PBS_CHECKPOINT -1 */ -+/* #define _POSIX2_PBS_LOCATE -1 */ -+/* #define _POSIX2_PBS_MESSAGE -1 */ -+/* #define _POSIX2_PBS_TRACK -1 */ -+#define _POSIX2_SW_DEV 200112L -+#define _POSIX2_UPE 200112L -+/* #define _POSIX_V6_ILP32_OFF32 -1 */ -+#define _XBS5_ILP32_OFF32 _POSIX_V6_ILP32_OFF32 -+#define _POSIX_V6_ILP32_OFFBIG 1 -+#define _XBS5_ILP32_OFFBIG _POSIX_V6_ILP32_OFFBIG -+/* #define _POSIX_V6_LP64_OFF64 -1 */ -+#define _XBS5_LP64_OFF64 _POSIX_V6_LP64_OFF64 -+/* #define _POSIX_V6_LPBIG_OFFBIG -1 */ -+#define _XBS5_LPBIG_OFFBIG _POSIX_V6_LPBIG_OFFBIG -+#define _XOPEN_CRYPT 1 -+#define _XOPEN_ENH_I18N 1 -+/* #define _XOPEN_LEGACY -1 */ -+/* #define _XOPEN_REALTIME -1 */ -+/* #define _XOPEN_REALTIME_THREADS -1 */ -+#define _XOPEN_SHM 1 -+/* #define _XOPEN_STREAMS -1 */ -+/* #define _XOPEN_UNIX -1 */ -+ - #endif - - #ifdef __cplusplus -diff -uNr newlib-1.15.0.orig/newlib/libc/include/sys/_types.h newlib-1.15.0/newlib/libc/include/sys/_types.h ---- newlib-1.15.0.orig/newlib/libc/include/sys/_types.h 2004-06-11 22:37:09.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/include/sys/_types.h 2007-03-16 05:31:34.000000000 +0100 -@@ -39,4 +39,7 @@ - /* Iconv descriptor type */ - typedef void *_iconv_t; - -+typedef long * __intptr_t; -+typedef unsigned long* __uintptr_t; -+ - #endif /* _SYS__TYPES_H */ -diff -uNr newlib-1.15.0.orig/newlib/libc/include/sys/unistd.h newlib-1.15.0/newlib/libc/include/sys/unistd.h ---- newlib-1.15.0.orig/newlib/libc/include/sys/unistd.h 2006-11-07 16:33:40.000000000 +0100 -+++ newlib-1.15.0/newlib/libc/include/sys/unistd.h 2007-03-16 05:31:34.000000000 +0100 -@@ -231,63 +231,55 @@ - #define STDERR_FILENO 2 /* standard error file descriptor */ - - /* -- * 4.8.1 Get Configurable System Variables, P1003.1b-1993, p. 96 -- * -- * NOTE: Table 4-2, Configurable System Variables, p. 96 -- */ -- --#define _SC_ARG_MAX 0 --#define _SC_CHILD_MAX 1 --#define _SC_CLK_TCK 2 --#define _SC_NGROUPS_MAX 3 --#define _SC_OPEN_MAX 4 -- /* no _SC_STREAM_MAX */ --#define _SC_JOB_CONTROL 5 --#define _SC_SAVED_IDS 6 --#define _SC_VERSION 7 --#define _SC_PAGESIZE 8 --/* CYGWIN-specific values .. do not touch */ --#define _SC_NPROCESSORS_CONF 9 --#define _SC_NPROCESSORS_ONLN 10 --#define _SC_PHYS_PAGES 11 --#define _SC_AVPHYS_PAGES 12 --/* end of CYGWIN-specific values */ --#define _SC_MQ_OPEN_MAX 13 --#define _SC_MQ_PRIO_MAX 14 --#define _SC_RTSIG_MAX 15 --#define _SC_SEM_NSEMS_MAX 16 --#define _SC_SEM_VALUE_MAX 17 --#define _SC_SIGQUEUE_MAX 18 --#define _SC_TIMER_MAX 19 --#define _SC_TZNAME_MAX 20 -- --#define _SC_ASYNCHRONOUS_IO 21 --#define _SC_FSYNC 22 --#define _SC_MAPPED_FILES 23 --#define _SC_MEMLOCK 24 --#define _SC_MEMLOCK_RANGE 25 --#define _SC_MEMORY_PROTECTION 26 --#define _SC_MESSAGE_PASSING 27 --#define _SC_PRIORITIZED_IO 28 --#define _SC_REALTIME_SIGNALS 29 --#define _SC_SEMAPHORES 30 --#define _SC_SHARED_MEMORY_OBJECTS 31 --#define _SC_SYNCHRONIZED_IO 32 --#define _SC_TIMERS 33 --#define _SC_AIO_LISTIO_MAX 34 --#define _SC_AIO_MAX 35 --#define _SC_AIO_PRIO_DELTA_MAX 36 --#define _SC_DELAYTIMER_MAX 37 -- --/* -- * P1003.1c/D10, p. 52 adds the following. -+ * sysconf values per IEEE Std 1003.1, 2004 Edition - */ - -+#define _SC_ARG_MAX 0 -+#define _SC_CHILD_MAX 1 -+#define _SC_CLK_TCK 2 -+#define _SC_NGROUPS_MAX 3 -+#define _SC_OPEN_MAX 4 -+#define _SC_JOB_CONTROL 5 -+#define _SC_SAVED_IDS 6 -+#define _SC_VERSION 7 -+#define _SC_PAGESIZE 8 -+#define _SC_PAGE_SIZE _SC_PAGESIZE -+/* These are non-POSIX values we accidentally introduced in 2000 without -+ guarding them. Keeping them unguarded for backward compatibility. */ -+#define _SC_NPROCESSORS_CONF 9 -+#define _SC_NPROCESSORS_ONLN 10 -+#define _SC_PHYS_PAGES 11 -+#define _SC_AVPHYS_PAGES 12 -+/* End of non-POSIX values. */ -+#define _SC_MQ_OPEN_MAX 13 -+#define _SC_MQ_PRIO_MAX 14 -+#define _SC_RTSIG_MAX 15 -+#define _SC_SEM_NSEMS_MAX 16 -+#define _SC_SEM_VALUE_MAX 17 -+#define _SC_SIGQUEUE_MAX 18 -+#define _SC_TIMER_MAX 19 -+#define _SC_TZNAME_MAX 20 -+#define _SC_ASYNCHRONOUS_IO 21 -+#define _SC_FSYNC 22 -+#define _SC_MAPPED_FILES 23 -+#define _SC_MEMLOCK 24 -+#define _SC_MEMLOCK_RANGE 25 -+#define _SC_MEMORY_PROTECTION 26 -+#define _SC_MESSAGE_PASSING 27 -+#define _SC_PRIORITIZED_IO 28 -+#define _SC_REALTIME_SIGNALS 29 -+#define _SC_SEMAPHORES 30 -+#define _SC_SHARED_MEMORY_OBJECTS 31 -+#define _SC_SYNCHRONIZED_IO 32 -+#define _SC_TIMERS 33 -+#define _SC_AIO_LISTIO_MAX 34 -+#define _SC_AIO_MAX 35 -+#define _SC_AIO_PRIO_DELTA_MAX 36 -+#define _SC_DELAYTIMER_MAX 37 - #define _SC_THREAD_KEYS_MAX 38 - #define _SC_THREAD_STACK_MIN 39 - #define _SC_THREAD_THREADS_MAX 40 - #define _SC_TTY_NAME_MAX 41 -- - #define _SC_THREADS 42 - #define _SC_THREAD_ATTR_STACKADDR 43 - #define _SC_THREAD_ATTR_STACKSIZE 44 -@@ -302,34 +294,99 @@ - #define _SC_GETPW_R_SIZE_MAX 51 - #define _SC_LOGIN_NAME_MAX 52 - #define _SC_THREAD_DESTRUCTOR_ITERATIONS 53 -- --#if !defined(__rtems__) --#define _SC_STREAM_MAX 100 --#endif --#if !defined(__CYGWIN__) && !defined(__rtems__) --#define _SC_PRIORITY_SCHEDULING 101 --#endif -- --# define _PC_LINK_MAX 0 --# define _PC_MAX_CANON 1 --# define _PC_MAX_INPUT 2 --# define _PC_NAME_MAX 3 --# define _PC_PATH_MAX 4 --# define _PC_PIPE_BUF 5 --# define _PC_CHOWN_RESTRICTED 6 --# define _PC_NO_TRUNC 7 --# define _PC_VDISABLE 8 --# define _PC_ASYNC_IO 9 --# define _PC_PRIO_IO 10 --# define _PC_SYNC_IO 11 --# define _PC_FILESIZEBITS 12 --# define _PC_2_SYMLINKS 13 --# define _PC_SYMLINK_MAX 14 -+#define _SC_ADVISORY_INFO 54 -+#define _SC_ATEXIT_MAX 55 -+#define _SC_BARRIERS 56 -+#define _SC_BC_BASE_MAX 57 -+#define _SC_BC_DIM_MAX 58 -+#define _SC_BC_SCALE_MAX 59 -+#define _SC_BC_STRING_MAX 60 -+#define _SC_CLOCK_SELECTION 61 -+#define _SC_COLL_WEIGHTS_MAX 62 -+#define _SC_CPUTIME 63 -+#define _SC_EXPR_NEST_MAX 64 -+#define _SC_HOST_NAME_MAX 65 -+#define _SC_IOV_MAX 66 -+#define _SC_IPV6 67 -+#define _SC_LINE_MAX 68 -+#define _SC_MONOTONIC_CLOCK 69 -+#define _SC_RAW_SOCKETS 70 -+#define _SC_READER_WRITER_LOCKS 71 -+#define _SC_REGEXP 72 -+#define _SC_RE_DUP_MAX 73 -+#define _SC_SHELL 74 -+#define _SC_SPAWN 75 -+#define _SC_SPIN_LOCKS 76 -+#define _SC_SPORADIC_SERVER 77 -+#define _SC_SS_REPL_MAX 78 -+#define _SC_SYMLOOP_MAX 79 -+#define _SC_THREAD_CPUTIME 80 -+#define _SC_THREAD_SPORADIC_SERVER 81 -+#define _SC_TIMEOUTS 82 -+#define _SC_TRACE 83 -+#define _SC_TRACE_EVENT_FILTER 84 -+#define _SC_TRACE_EVENT_NAME_MAX 85 -+#define _SC_TRACE_INHERIT 86 -+#define _SC_TRACE_LOG 87 -+#define _SC_TRACE_NAME_MAX 88 -+#define _SC_TRACE_SYS_MAX 89 -+#define _SC_TRACE_USER_EVENT_MAX 90 -+#define _SC_TYPED_MEMORY_OBJECTS 91 -+#define _SC_V6_ILP32_OFF32 92 -+#define _SC_XBS5_ILP32_OFF32 _SC_V6_ILP32_OFF32 -+#define _SC_V6_ILP32_OFFBIG 93 -+#define _SC_XBS5_ILP32_OFFBIG _SC_V6_ILP32_OFFBIG -+#define _SC_V6_LP64_OFF64 94 -+#define _SC_XBS5_LP64_OFF64 _SC_V6_LP64_OFF64 -+#define _SC_V6_LPBIG_OFFBIG 95 -+#define _SC_XBS5_LPBIG_OFFBIG _SC_V6_LPBIG_OFFBIG -+#define _SC_XOPEN_CRYPT 96 -+#define _SC_XOPEN_ENH_I18N 97 -+#define _SC_XOPEN_LEGACY 98 -+#define _SC_XOPEN_REALTIME 99 -+#define _SC_STREAM_MAX 100 -+#define _SC_PRIORITY_SCHEDULING 101 -+#define _SC_XOPEN_REALTIME_THREADS 102 -+#define _SC_XOPEN_SHM 103 -+#define _SC_XOPEN_STREAMS 104 -+#define _SC_XOPEN_UNIX 105 -+#define _SC_XOPEN_VERSION 106 -+#define _SC_2_CHAR_TERM 107 -+#define _SC_2_C_BIND 108 -+#define _SC_2_C_DEV 109 -+#define _SC_2_FORT_DEV 110 -+#define _SC_2_FORT_RUN 111 -+#define _SC_2_LOCALEDEF 112 -+#define _SC_2_PBS 113 -+#define _SC_2_PBS_ACCOUNTING 114 -+#define _SC_2_PBS_CHECKPOINT 115 -+#define _SC_2_PBS_LOCATE 116 -+#define _SC_2_PBS_MESSAGE 117 -+#define _SC_2_PBS_TRACK 118 -+#define _SC_2_SW_DEV 119 -+#define _SC_2_UPE 120 -+#define _SC_2_VERSION 121 -+ -+#define _PC_LINK_MAX 0 -+#define _PC_MAX_CANON 1 -+#define _PC_MAX_INPUT 2 -+#define _PC_NAME_MAX 3 -+#define _PC_PATH_MAX 4 -+#define _PC_PIPE_BUF 5 -+#define _PC_CHOWN_RESTRICTED 6 -+#define _PC_NO_TRUNC 7 -+#define _PC_VDISABLE 8 -+#define _PC_ASYNC_IO 9 -+#define _PC_PRIO_IO 10 -+#define _PC_SYNC_IO 11 -+#define _PC_FILESIZEBITS 12 -+#define _PC_2_SYMLINKS 13 -+#define _PC_SYMLINK_MAX 14 - #ifdef __CYGWIN__ - /* Ask for POSIX permission bits support. */ --# define _PC_POSIX_PERMISSIONS 90 -+#define _PC_POSIX_PERMISSIONS 90 - /* Ask for full POSIX permission support including uid/gid settings. */ --# define _PC_POSIX_SECURITY 91 -+#define _PC_POSIX_SECURITY 91 - #endif - - /* FIXME: This is temporary until winsup gets sorted out. */ -diff -uNr newlib-1.15.0.orig/newlib/libc/machine/arm/machine/endian.h newlib-1.15.0/newlib/libc/machine/arm/machine/endian.h ---- newlib-1.15.0.orig/newlib/libc/machine/arm/machine/endian.h 2004-05-07 22:29:24.000000000 +0200 -+++ newlib-1.15.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 -uNr newlib-1.15.0.orig/newlib/libc/search/db_local.h newlib-1.15.0/newlib/libc/search/db_local.h ---- newlib-1.15.0.orig/newlib/libc/search/db_local.h 2002-06-25 01:05:08.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/db_local.h 2007-03-16 05:31:34.000000000 +0100 -@@ -50,7 +50,7 @@ - #define MAX_PAGE_NUMBER 0xffffffff /* >= # of pages in a file */ - typedef __uint32_t pgno_t; - #define MAX_PAGE_OFFSET 65535 /* >= # of bytes in a page */ --typedef __uint16_t indx_t; -+typedef __uint_least16_t indx_t; - #define MAX_REC_NUMBER 0xffffffff /* >= # of records in a tree */ - typedef __uint32_t recno_t; - -@@ -191,12 +191,12 @@ - * P_16_COPY swap from one location to another - */ - #define M_16_SWAP(a) { \ -- __uint16_t _tmp = a; \ -+ __uint_least16_t _tmp = a; \ - ((char *)&a)[0] = ((char *)&_tmp)[1]; \ - ((char *)&a)[1] = ((char *)&_tmp)[0]; \ - } - #define P_16_SWAP(a) { \ -- __uint16_t _tmp = *(__uint16_t *)a; \ -+ __uint_least16_t _tmp = *(__uint_least16_t *)a; \ - ((char *)a)[0] = ((char *)&_tmp)[1]; \ - ((char *)a)[1] = ((char *)&_tmp)[0]; \ - } -diff -uNr newlib-1.15.0.orig/newlib/libc/search/extern.h newlib-1.15.0/newlib/libc/search/extern.h ---- newlib-1.15.0.orig/newlib/libc/search/extern.h 2002-06-20 21:51:31.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/extern.h 2007-03-16 05:31:34.000000000 +0100 -@@ -48,7 +48,7 @@ - int __delpair(HTAB *, BUFHEAD *, int); - int __expand_table(HTAB *); - int __find_bigpair(HTAB *, BUFHEAD *, int, char *, int); --__uint16_t __find_last_page(HTAB *, BUFHEAD **); -+__uint_least16_t __find_last_page(HTAB *, BUFHEAD **); - void __free_ovflpage(HTAB *, BUFHEAD *); - BUFHEAD *__get_buf(HTAB *, __uint32_t, BUFHEAD *, int); - int __get_page(HTAB *, char *, __uint32_t, int, int, int); -diff -uNr newlib-1.15.0.orig/newlib/libc/search/hash_bigkey.c newlib-1.15.0/newlib/libc/search/hash_bigkey.c ---- newlib-1.15.0.orig/newlib/libc/search/hash_bigkey.c 2006-06-07 21:22:59.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/hash_bigkey.c 2007-03-16 05:31:34.000000000 +0100 -@@ -92,13 +92,13 @@ - BUFHEAD *bufp; - const DBT *key, *val; - { -- __uint16_t *p; -+ __uint_least16_t *p; - int key_size, n, val_size; -- __uint16_t space, move_bytes, off; -+ __uint_least16_t space, move_bytes, off; - char *cp, *key_data, *val_data; - - cp = bufp->page; /* Character pointer of p. */ -- p = (__uint16_t *)cp; -+ p = (__uint_least16_t *)cp; - - key_data = (char *)key->data; - key_size = key->size; -@@ -136,7 +136,7 @@ - OFFSET(p) = off; - } else - p[n - 2] = FULL_KEY; -- p = (__uint16_t *)bufp->page; -+ p = (__uint_least16_t *)bufp->page; - cp = bufp->page; - bufp->flags |= BUF_MOD; - } -@@ -166,7 +166,7 @@ - if (!bufp) - return (-1); - cp = bufp->page; -- p = (__uint16_t *)cp; -+ p = (__uint_least16_t *)cp; - } else - p[n] = FULL_KEY_DATA; - bufp->flags |= BUF_MOD; -@@ -191,12 +191,12 @@ - BUFHEAD *bufp; - { - BUFHEAD *last_bfp, *rbufp; -- __uint16_t *bp, pageno; -+ __uint_least16_t *bp, pageno; - int key_done, n; - - rbufp = bufp; - last_bfp = NULL; -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - pageno = 0; - key_done = 0; - -@@ -219,7 +219,7 @@ - last_bfp = rbufp; - if (!rbufp) - return (-1); /* Error. */ -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - } - - /* -@@ -234,7 +234,7 @@ - pageno = bp[n - 1]; - - /* Now, bp is the first page of the pair. */ -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - if (n > 2) { - /* There is an overflow page. */ - bp[1] = pageno; -@@ -272,13 +272,13 @@ - char *key; - int size; - { -- __uint16_t *bp; -+ __uint_least16_t *bp; - char *p; - int ksize; -- __uint16_t bytes; -+ __uint_least16_t bytes; - char *kkey; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - p = bufp->page; - ksize = size; - kkey = key; -@@ -294,7 +294,7 @@ - if (!bufp) - return (-3); - p = bufp->page; -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - ndx = 1; - } - -@@ -316,17 +316,17 @@ - * of the pair; 0 if there isn't any (i.e. big pair is the last key in the - * bucket) - */ --extern __uint16_t -+extern __uint_least16_t - __find_last_page(hashp, bpp) - HTAB *hashp; - BUFHEAD **bpp; - { - BUFHEAD *bufp; -- __uint16_t *bp, pageno; -+ __uint_least16_t *bp, pageno; - int n; - - bufp = *bpp; -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - for (;;) { - n = bp[0]; - -@@ -343,7 +343,7 @@ - bufp = __get_buf(hashp, pageno, bufp, 0); - if (!bufp) - return (0); /* Need to indicate an error! */ -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } - - *bpp = bufp; -@@ -366,15 +366,15 @@ - int set_current; - { - BUFHEAD *save_p; -- __uint16_t *bp, len, off, save_addr; -+ __uint_least16_t *bp, len, off, save_addr; - char *tp; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - while (bp[ndx + 1] == PARTIAL_KEY) { - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - ndx = 1; - } - -@@ -382,7 +382,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - save_p = bufp; - save_addr = save_p->addr; - off = bp[1]; -@@ -403,7 +403,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } else { - /* The data is all on one page. */ - tp = (char *)bp; -@@ -422,7 +422,7 @@ - if (!hashp->cpage) - return (-1); - hashp->cndx = 1; -- if (!((__uint16_t *) -+ if (!((__uint_least16_t *) - hashp->cpage->page)[0]) { - hashp->cbucket++; - hashp->cpage = NULL; -@@ -454,14 +454,14 @@ - BUFHEAD *bufp; - int len, set; - { -- __uint16_t *bp; -+ __uint_least16_t *bp; - char *p; - BUFHEAD *xbp; -- __uint16_t save_addr; -+ __uint_least16_t save_addr; - int mylen, totlen; - - p = bufp->page; -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - mylen = hashp->BSIZE - bp[1]; - save_addr = bufp->addr; - -@@ -481,7 +481,7 @@ - __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!hashp->cpage) - return (-1); -- else if (!((__uint16_t *)hashp->cpage->page)[0]) { -+ else if (!((__uint_least16_t *)hashp->cpage->page)[0]) { - hashp->cbucket++; - hashp->cpage = NULL; - } -@@ -533,10 +533,10 @@ - BUFHEAD *xbp; - char *p; - int mylen, totlen; -- __uint16_t *bp, save_addr; -+ __uint_least16_t *bp, save_addr; - - p = bufp->page; -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - mylen = hashp->BSIZE - bp[1]; - - save_addr = bufp->addr; -@@ -579,11 +579,11 @@ - SPLIT_RETURN *ret; - { - BUFHEAD *tmpp; -- __uint16_t *tp; -+ __uint_least16_t *tp; - BUFHEAD *bp; - DBT key, val; - __uint32_t change; -- __uint16_t free_space, n, off; -+ __uint_least16_t free_space, n, off; - - bp = big_keyp; - -@@ -615,14 +615,14 @@ - (tmpp->ovfl ? tmpp->ovfl->addr : 0), (bp ? bp->addr : 0)); - #endif - tmpp->ovfl = bp; /* one of op/np point to big_keyp */ -- tp = (__uint16_t *)tmpp->page; -+ tp = (__uint_least16_t *)tmpp->page; - #ifdef DEBUG - assert(FREESPACE(tp) >= OVFLSIZE); - #endif - n = tp[0]; - off = OFFSET(tp); - free_space = FREESPACE(tp); -- tp[++n] = (__uint16_t)addr; -+ tp[++n] = (__uint_least16_t)addr; - tp[++n] = OVFLPAGE; - tp[0] = n; - OFFSET(tp) = off; -@@ -638,7 +638,7 @@ - ret->newp = np; - ret->oldp = op; - -- tp = (__uint16_t *)big_keyp->page; -+ tp = (__uint_least16_t *)big_keyp->page; - big_keyp->flags |= BUF_MOD; - if (tp[0] > 2) { - /* -diff -uNr newlib-1.15.0.orig/newlib/libc/search/hash_buf.c newlib-1.15.0/newlib/libc/search/hash_buf.c ---- newlib-1.15.0.orig/newlib/libc/search/hash_buf.c 2004-05-26 19:57:10.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/hash_buf.c 2007-03-16 05:31:34.000000000 +0100 -@@ -176,7 +176,7 @@ - BUFHEAD *next_xbp; - SEGMENT segp; - int segment_ndx; -- __uint16_t oaddr, *shortp; -+ __uint_least16_t oaddr, *shortp; - - oaddr = 0; - bp = LRU; -@@ -212,7 +212,7 @@ - * Set oaddr before __put_page so that you get it - * before bytes are swapped. - */ -- shortp = (__uint16_t *)bp->page; -+ shortp = (__uint_least16_t *)bp->page; - if (shortp[0]) - oaddr = shortp[shortp[0] - 1]; - if ((bp->flags & BUF_MOD) && __put_page(hashp, bp->page, -@@ -255,7 +255,7 @@ - (oaddr != xbp->addr)) - break; - -- shortp = (__uint16_t *)xbp->page; -+ shortp = (__uint_least16_t *)xbp->page; - if (shortp[0]) - /* set before __put_page */ - oaddr = shortp[shortp[0] - 1]; -diff -uNr newlib-1.15.0.orig/newlib/libc/search/hash.c newlib-1.15.0/newlib/libc/search/hash.c ---- newlib-1.15.0.orig/newlib/libc/search/hash.c 2004-05-26 19:57:10.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/hash.c 2007-03-16 05:31:34.000000000 +0100 -@@ -628,10 +628,10 @@ - { - BUFHEAD *rbufp; - BUFHEAD *bufp, *save_bufp; -- __uint16_t *bp; -+ __uint_least16_t *bp; - int n, ndx, off, size; - char *kp; -- __uint16_t pageno; -+ __uint_least16_t pageno; - - #ifdef HASH_STATISTICS - hash_accesses++; -@@ -647,7 +647,7 @@ - - /* Pin the bucket chain */ - rbufp->flags |= BUF_PIN; -- for (bp = (__uint16_t *)rbufp->page, n = *bp++, ndx = 1; ndx < n;) -+ for (bp = (__uint_least16_t *)rbufp->page, n = *bp++, ndx = 1; ndx < n;) - if (bp[1] >= REAL_KEY) { - /* Real key/data pair */ - if (size == off - *bp && -@@ -666,7 +666,7 @@ - return (ERROR); - } - /* FOR LOOP INIT */ -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - n = *bp++; - ndx = 1; - off = hashp->BSIZE; -@@ -688,7 +688,7 @@ - return (ERROR); - } - /* FOR LOOP INIT */ -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - n = *bp++; - ndx = 1; - off = hashp->BSIZE; -@@ -722,7 +722,7 @@ - save_bufp->flags &= ~BUF_PIN; - return (ABNORMAL); - case HASH_GET: -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - if (bp[ndx + 1] < REAL_KEY) { - if (__big_return(hashp, rbufp, ndx, val, 0)) - return (ERROR); -@@ -758,7 +758,7 @@ - __uint32_t bucket; - BUFHEAD *bufp; - HTAB *hashp; -- __uint16_t *bp, ndx; -+ __uint_least16_t *bp, ndx; - - hashp = (HTAB *)dbp->internal; - if (flag && flag != R_FIRST && flag != R_NEXT) { -@@ -783,7 +783,7 @@ - if (!bufp) - return (ERROR); - hashp->cpage = bufp; -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - if (bp[0]) - break; - } -@@ -793,7 +793,7 @@ - return (ABNORMAL); - } - } else -- bp = (__uint16_t *)hashp->cpage->page; -+ bp = (__uint_least16_t *)hashp->cpage->page; - - #ifdef DEBUG - assert(bp); -@@ -804,7 +804,7 @@ - __get_buf(hashp, bp[hashp->cndx], bufp, 0); - if (!bufp) - return (ERROR); -- bp = (__uint16_t *)(bufp->page); -+ bp = (__uint_least16_t *)(bufp->page); - hashp->cndx = 1; - } - if (!bp[0]) { -diff -uNr newlib-1.15.0.orig/newlib/libc/search/hash.h newlib-1.15.0/newlib/libc/search/hash.h ---- newlib-1.15.0.orig/newlib/libc/search/hash.h 2002-07-02 20:18:58.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/hash.h 2007-03-16 05:31:34.000000000 +0100 -@@ -102,7 +102,7 @@ - #define NCACHED 32 /* number of bit maps and spare - * points */ - int spares[NCACHED];/* spare pages for overflow */ -- __uint16_t bitmaps[NCACHED]; /* address of overflow page -+ __uint_least16_t bitmaps[NCACHED]; /* address of overflow page - * bitmaps */ - } HASHHDR; - -diff -uNr newlib-1.15.0.orig/newlib/libc/search/hash_page.c newlib-1.15.0/newlib/libc/search/hash_page.c ---- newlib-1.15.0.orig/newlib/libc/search/hash_page.c 2002-09-19 23:28:51.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/hash_page.c 2007-03-16 05:31:34.000000000 +0100 -@@ -77,16 +77,16 @@ - static __uint32_t *fetch_bitmap(HTAB *, int); - static __uint32_t first_free(__uint32_t); - static int open_temp(HTAB *); --static __uint16_t overflow_page(HTAB *); -+static __uint_least16_t overflow_page(HTAB *); - static void putpair(char *, const DBT *, const DBT *); --static void squeeze_key(__uint16_t *, const DBT *, const DBT *); -+static void squeeze_key(__uint_least16_t *, const DBT *, const DBT *); - static int ugly_split - (HTAB *, __uint32_t, BUFHEAD *, BUFHEAD *, int, int); - - #define PAGE_INIT(P) { \ -- ((__uint16_t *)(P))[0] = 0; \ -- ((__uint16_t *)(P))[1] = hashp->BSIZE - 3 * sizeof(__uint16_t); \ -- ((__uint16_t *)(P))[2] = hashp->BSIZE; \ -+ ((__uint_least16_t *)(P))[0] = 0; \ -+ ((__uint_least16_t *)(P))[1] = hashp->BSIZE - 3 * sizeof(__uint_least16_t); \ -+ ((__uint_least16_t *)(P))[2] = hashp->BSIZE; \ - } - - /* -@@ -99,9 +99,9 @@ - char *p; - const DBT *key, *val; - { -- __uint16_t *bp, n, off; -+ __uint_least16_t *bp, n, off; - -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - - /* Enter the key first. */ - n = bp[0]; -@@ -117,7 +117,7 @@ - - /* Adjust page info. */ - bp[0] = n; -- bp[n + 1] = off - ((n + 3) * sizeof(__uint16_t)); -+ bp[n + 1] = off - ((n + 3) * sizeof(__uint_least16_t)); - bp[n + 2] = off; - } - -@@ -132,11 +132,11 @@ - BUFHEAD *bufp; - int ndx; - { -- __uint16_t *bp, newoff; -+ __uint_least16_t *bp, newoff; - int n; -- __uint16_t pairlen; -+ __uint_least16_t pairlen; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - n = bp[0]; - - if (bp[ndx + 1] < REAL_KEY) -@@ -167,7 +167,7 @@ - } - /* Finally adjust the page data */ - bp[n] = OFFSET(bp) + pairlen; -- bp[n - 1] = bp[n + 1] + pairlen + 2 * sizeof(__uint16_t); -+ bp[n - 1] = bp[n + 1] + pairlen + 2 * sizeof(__uint_least16_t); - bp[0] = n - 2; - hashp->NKEYS--; - -@@ -185,15 +185,15 @@ - __uint32_t obucket, nbucket; - { - BUFHEAD *new_bufp, *old_bufp; -- __uint16_t *ino; -+ __uint_least16_t *ino; - char *np; - DBT key, val; - int n, ndx, retval; -- __uint16_t copyto, diff, off, moved; -+ __uint_least16_t copyto, diff, off, moved; - char *op; - -- copyto = (__uint16_t)hashp->BSIZE; -- off = (__uint16_t)hashp->BSIZE; -+ copyto = (__uint_least16_t)hashp->BSIZE; -+ off = (__uint_least16_t)hashp->BSIZE; - old_bufp = __get_buf(hashp, obucket, NULL, 0); - if (old_bufp == NULL) - return (-1); -@@ -204,7 +204,7 @@ - old_bufp->flags |= (BUF_MOD | BUF_PIN); - new_bufp->flags |= (BUF_MOD | BUF_PIN); - -- ino = (__uint16_t *)(op = old_bufp->page); -+ ino = (__uint_least16_t *)(op = old_bufp->page); - np = new_bufp->page; - - moved = 0; -@@ -246,13 +246,13 @@ - - /* Now clean up the page */ - ino[0] -= moved; -- FREESPACE(ino) = copyto - sizeof(__uint16_t) * (ino[0] + 3); -+ FREESPACE(ino) = copyto - sizeof(__uint_least16_t) * (ino[0] + 3); - OFFSET(ino) = copyto; - - #ifdef DEBUG3 - (void)fprintf(stderr, "split %d/%d\n", -- ((__uint16_t *)np)[0] / 2, -- ((__uint16_t *)op)[0] / 2); -+ ((__uint_least16_t *)np)[0] / 2, -+ ((__uint_least16_t *)op)[0] / 2); - #endif - /* unpin both pages */ - old_bufp->flags &= ~BUF_PIN; -@@ -284,22 +284,22 @@ - int moved; /* Number of pairs moved to new page. */ - { - BUFHEAD *bufp; /* Buffer header for ino */ -- __uint16_t *ino; /* Page keys come off of */ -- __uint16_t *np; /* New page */ -- __uint16_t *op; /* Page keys go on to if they aren't moving */ -+ __uint_least16_t *ino; /* Page keys come off of */ -+ __uint_least16_t *np; /* New page */ -+ __uint_least16_t *op; /* Page keys go on to if they aren't moving */ - - BUFHEAD *last_bfp; /* Last buf header OVFL needing to be freed */ - DBT key, val; - SPLIT_RETURN ret; -- __uint16_t n, off, ov_addr, scopyto; -+ __uint_least16_t n, off, ov_addr, scopyto; - char *cino; /* Character value of ino */ - - bufp = old_bufp; -- ino = (__uint16_t *)old_bufp->page; -- np = (__uint16_t *)new_bufp->page; -- op = (__uint16_t *)old_bufp->page; -+ ino = (__uint_least16_t *)old_bufp->page; -+ np = (__uint_least16_t *)new_bufp->page; -+ op = (__uint_least16_t *)old_bufp->page; - last_bfp = NULL; -- scopyto = (__uint16_t)copyto; /* ANSI */ -+ scopyto = (__uint_least16_t)copyto; /* ANSI */ - - n = ino[0] - 1; - while (n < ino[0]) { -@@ -310,16 +310,16 @@ - old_bufp = ret.oldp; - if (!old_bufp) - return (-1); -- op = (__uint16_t *)old_bufp->page; -+ op = (__uint_least16_t *)old_bufp->page; - new_bufp = ret.newp; - if (!new_bufp) - return (-1); -- np = (__uint16_t *)new_bufp->page; -+ np = (__uint_least16_t *)new_bufp->page; - bufp = ret.nextp; - if (!bufp) - return (0); - cino = (char *)bufp->page; -- ino = (__uint16_t *)cino; -+ ino = (__uint_least16_t *)cino; - last_bfp = ret.nextp; - } else if (ino[n + 1] == OVFLPAGE) { - ov_addr = ino[n]; -@@ -329,14 +329,14 @@ - */ - ino[0] -= (moved + 2); - FREESPACE(ino) = -- scopyto - sizeof(__uint16_t) * (ino[0] + 3); -+ scopyto - sizeof(__uint_least16_t) * (ino[0] + 3); - OFFSET(ino) = scopyto; - - bufp = __get_buf(hashp, ov_addr, bufp, 0); - if (!bufp) - return (-1); - -- ino = (__uint16_t *)bufp->page; -+ ino = (__uint_least16_t *)bufp->page; - n = 1; - scopyto = hashp->BSIZE; - moved = 0; -@@ -364,7 +364,7 @@ - __add_ovflpage(hashp, old_bufp); - if (!old_bufp) - return (-1); -- op = (__uint16_t *)old_bufp->page; -+ op = (__uint_least16_t *)old_bufp->page; - putpair((char *)op, &key, &val); - } - old_bufp->flags |= BUF_MOD; -@@ -377,7 +377,7 @@ - __add_ovflpage(hashp, new_bufp); - if (!new_bufp) - return (-1); -- np = (__uint16_t *)new_bufp->page; -+ np = (__uint_least16_t *)new_bufp->page; - putpair((char *)np, &key, &val); - } - new_bufp->flags |= BUF_MOD; -@@ -402,10 +402,10 @@ - BUFHEAD *bufp; - const DBT *key, *val; - { -- __uint16_t *bp, *sop; -+ __uint_least16_t *bp, *sop; - int do_expand; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - do_expand = 0; - while (bp[0] && (bp[2] < REAL_KEY || bp[bp[0]] < REAL_KEY)) - /* Exception case */ -@@ -417,7 +417,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } else - /* Try to squeeze key on this page */ - if (FREESPACE(bp) > PAIRSIZE(key, val)) { -@@ -427,7 +427,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } - - if (PAIRFITS(bp, key, val)) -@@ -437,7 +437,7 @@ - bufp = __add_ovflpage(hashp, bufp); - if (!bufp) - return (-1); -- sop = (__uint16_t *)bufp->page; -+ sop = (__uint_least16_t *)bufp->page; - - if (PAIRFITS(sop, key, val)) - putpair((char *)sop, key, val); -@@ -468,12 +468,12 @@ - HTAB *hashp; - BUFHEAD *bufp; - { -- __uint16_t *sp; -- __uint16_t ndx, ovfl_num; -+ __uint_least16_t *sp; -+ __uint_least16_t ndx, ovfl_num; - #ifdef DEBUG1 - int tmp1, tmp2; - #endif -- sp = (__uint16_t *)bufp->page; -+ sp = (__uint_least16_t *)bufp->page; - - /* Check if we are dynamically determining the fill factor */ - if (hashp->FFACTOR == DEF_FFACTOR) { -@@ -525,7 +525,7 @@ - { - int fd, page, size; - int rsize; -- __uint16_t *bp; -+ __uint_least16_t *bp; - - fd = hashp->fp; - size = hashp->BSIZE; -@@ -541,7 +541,7 @@ - if ((lseek(fd, (off_t)page << hashp->BSHIFT, SEEK_SET) == -1) || - ((rsize = read(fd, p, size)) == -1)) - return (-1); -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - if (!rsize) - bp[0] = 0; /* We hit the EOF, so initialize a new page */ - else -@@ -600,9 +600,9 @@ - for (i = 0; i < max; i++) - M_32_SWAP(((int *)p)[i]); - } else { -- max = ((__uint16_t *)p)[0] + 2; -+ max = ((__uint_least16_t *)p)[0] + 2; - for (i = 0; i <= max; i++) -- M_16_SWAP(((__uint16_t *)p)[i]); -+ M_16_SWAP(((__uint_least16_t *)p)[i]); - } - } - if (is_bucket) -@@ -643,7 +643,7 @@ - hashp->BSIZE - clearbytes); - ip[clearints - 1] = ALL_SET << (nbits & BYTE_MASK); - SETBIT(ip, 0); -- hashp->BITMAPS[ndx] = (__uint16_t)pnum; -+ hashp->BITMAPS[ndx] = (__uint_least16_t)pnum; - hashp->mapp[ndx] = ip; - return (0); - } -@@ -663,13 +663,13 @@ - return (i); - } - --static __uint16_t -+static __uint_least16_t - overflow_page(hashp) - HTAB *hashp; - { - __uint32_t *freep; - int max_free, offset, splitnum; -- __uint16_t addr; -+ __uint_least16_t addr; - int bit, first_page, free_bit, free_page, i, in_use_bits, j; - #ifdef DEBUG2 - int tmp1, tmp2; -@@ -816,16 +816,16 @@ - HTAB *hashp; - BUFHEAD *obufp; - { -- __uint16_t addr; -+ __uint_least16_t addr; - __uint32_t *freep; - int bit_address, free_page, free_bit; -- __uint16_t ndx; -+ __uint_least16_t ndx; - - addr = obufp->addr; - #ifdef DEBUG1 - (void)fprintf(stderr, "Freeing %d\n", addr); - #endif -- ndx = (((__uint16_t)addr) >> SPLITSHIFT); -+ ndx = (((__uint_least16_t)addr) >> SPLITSHIFT); - bit_address = - (ndx ? hashp->SPARES[ndx - 1] : 0) + (addr & SPLITMASK) - 1; - if (bit_address < hashp->LAST_FREED) -@@ -883,11 +883,11 @@ - */ - static void - squeeze_key(sp, key, val) -- __uint16_t *sp; -+ __uint_least16_t *sp; - const DBT *key, *val; - { - char *p; -- __uint16_t free_space, n, off, pageno; -+ __uint_least16_t free_space, n, off, pageno; - - p = (char *)sp; - n = sp[0]; -diff -uNr newlib-1.15.0.orig/newlib/libc/search/page.h newlib-1.15.0/newlib/libc/search/page.h ---- newlib-1.15.0.orig/newlib/libc/search/page.h 2002-06-20 21:51:31.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/page.h 2007-03-16 05:31:34.000000000 +0100 -@@ -74,20 +74,20 @@ - * You might as well do this up front. - */ - --#define PAIRSIZE(K,D) (2*sizeof(__uint16_t) + (K)->size + (D)->size) --#define BIGOVERHEAD (4*sizeof(__uint16_t)) --#define KEYSIZE(K) (4*sizeof(__uint16_t) + (K)->size); --#define OVFLSIZE (2*sizeof(__uint16_t)) -+#define PAIRSIZE(K,D) (2*sizeof(__uint_least16_t) + (K)->size + (D)->size) -+#define BIGOVERHEAD (4*sizeof(__uint_least16_t)) -+#define KEYSIZE(K) (4*sizeof(__uint_least16_t) + (K)->size); -+#define OVFLSIZE (2*sizeof(__uint_least16_t)) - #define FREESPACE(P) ((P)[(P)[0]+1]) - #define OFFSET(P) ((P)[(P)[0]+2]) - #define PAIRFITS(P,K,D) \ - (((P)[2] >= REAL_KEY) && \ - (PAIRSIZE((K),(D)) + OVFLSIZE) <= FREESPACE((P))) --#define PAGE_META(N) (((N)+3) * sizeof(__uint16_t)) -+#define PAGE_META(N) (((N)+3) * sizeof(__uint_least16_t)) - - typedef struct { - BUFHEAD *newp; - BUFHEAD *oldp; - BUFHEAD *nextp; -- __uint16_t next_addr; -+ __uint_least16_t next_addr; - } SPLIT_RETURN; -diff -uNr newlib-1.15.0.orig/newlib/libc/sys/rtems/machine/stdint.h newlib-1.15.0/newlib/libc/sys/rtems/machine/stdint.h ---- newlib-1.15.0.orig/newlib/libc/sys/rtems/machine/stdint.h 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.15.0/newlib/libc/sys/rtems/machine/stdint.h 2007-03-16 05:31:34.000000000 +0100 -@@ -0,0 +1,31 @@ -+/* -+ * -+ */ -+#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 -+ -+#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 -uNr newlib-1.15.0.orig/newlib/libc/sys/rtems/sys/param.h newlib-1.15.0/newlib/libc/sys/rtems/sys/param.h ---- newlib-1.15.0.orig/newlib/libc/sys/rtems/sys/param.h 2004-05-07 22:29:24.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/sys/rtems/sys/param.h 2007-03-16 05:31:34.000000000 +0100 -@@ -93,7 +93,6 @@ - #include - #include - #include --#include - - #ifndef FALSE - #define FALSE 0 -diff -uNr newlib-1.15.0.orig/newlib/Makefile.am newlib-1.15.0/newlib/Makefile.am ---- newlib-1.15.0.orig/newlib/Makefile.am 2006-06-05 19:42:57.000000000 +0200 -+++ newlib-1.15.0/newlib/Makefile.am 2007-03-16 05:31:33.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 -uNr newlib-1.15.0.orig/newlib/Makefile.in newlib-1.15.0/newlib/Makefile.in ---- newlib-1.15.0.orig/newlib/Makefile.in 2006-12-18 21:32:41.000000000 +0100 -+++ newlib-1.15.0/newlib/Makefile.in 2007-03-16 05:31:33.000000000 +0100 -@@ -103,7 +103,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) -@@ -205,12 +205,7 @@ - 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_CC = @ac_ct_CC@ --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@ -@@ -226,12 +221,16 @@ - build_os = @build_os@ - build_vendor = @build_vendor@ - datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ - exec_prefix = @exec_prefix@ - host = @host@ - host_alias = @host_alias@ - host_cpu = @host_cpu@ - host_os = @host_os@ - host_vendor = @host_vendor@ -+htmldir = @htmldir@ - includedir = @includedir@ - infodir = @infodir@ - install_sh = @install_sh@ -@@ -240,6 +239,7 @@ - libdir = @libdir@ - libexecdir = @libexecdir@ - libm_machine_dir = @libm_machine_dir@ -+localedir = @localedir@ - localstatedir = @localstatedir@ - lpfx = @lpfx@ - machine_dir = @machine_dir@ -@@ -248,8 +248,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@ - subdirs = @subdirs@ -@@ -323,7 +325,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 -@@ -382,7 +384,7 @@ - - # dejagnu support - RUNTESTFLAGS = --all: newlib.h -+all: $(BUILT_SOURCES) newlib.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - - .SUFFIXES: -@@ -687,14 +689,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 -@@ -719,6 +723,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 \ -@@ -837,8 +842,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 --git a/contrib/crossrpms/patches/newlib-1.15.0-rtems4.8-20070413.diff b/contrib/crossrpms/patches/newlib-1.15.0-rtems4.8-20070413.diff deleted file mode 100644 index 853e2b15f3..0000000000 --- a/contrib/crossrpms/patches/newlib-1.15.0-rtems4.8-20070413.diff +++ /dev/null @@ -1,1449 +0,0 @@ -diff -uNr newlib-1.15.0.orig/newlib/libc/include/inttypes.h newlib-1.15.0/newlib/libc/include/inttypes.h ---- newlib-1.15.0.orig/newlib/libc/include/inttypes.h 2005-12-16 20:03:12.000000000 +0100 -+++ newlib-1.15.0/newlib/libc/include/inttypes.h 2007-04-13 10:41:47.000000000 +0200 -@@ -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 -uNr newlib-1.15.0.orig/newlib/libc/include/machine/setjmp.h newlib-1.15.0/newlib/libc/include/machine/setjmp.h ---- newlib-1.15.0.orig/newlib/libc/include/machine/setjmp.h 2006-12-18 17:48:03.000000000 +0100 -+++ newlib-1.15.0/newlib/libc/include/machine/setjmp.h 2007-04-13 10:41:47.000000000 +0200 -@@ -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 -uNr newlib-1.15.0.orig/newlib/libc/include/stdint.h newlib-1.15.0/newlib/libc/include/stdint.h ---- newlib-1.15.0.orig/newlib/libc/include/stdint.h 2006-08-16 23:39:43.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/include/stdint.h 2007-04-13 10:41:47.000000000 +0200 -@@ -393,6 +393,9 @@ - #define UINTMAX_C(x) x##UL - #endif - -+#ifdef __rtems__ -+#include -+#endif - - #ifdef __cplusplus - } -diff -uNr newlib-1.15.0.orig/newlib/libc/include/sys/errno.h newlib-1.15.0/newlib/libc/include/sys/errno.h ---- newlib-1.15.0.orig/newlib/libc/include/sys/errno.h 2002-09-24 16:10:12.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/include/sys/errno.h 2007-04-13 10:41:47.000000000 +0200 -@@ -148,6 +148,7 @@ - #define ECASECLASH 137 /* Filename exists with different case */ - #define EILSEQ 138 - #define EOVERFLOW 139 /* Value too large for defined data type */ -+#define ECANCELED 140 /* Operation canceled. */ - - /* From cygwin32. */ - #define EWOULDBLOCK EAGAIN /* Operation would block */ -diff -uNr newlib-1.15.0.orig/newlib/libc/include/sys/features.h newlib-1.15.0/newlib/libc/include/sys/features.h ---- newlib-1.15.0.orig/newlib/libc/include/sys/features.h 2006-09-14 00:09:27.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/include/sys/features.h 2007-04-13 10:41:47.000000000 +0200 -@@ -38,6 +38,7 @@ - #define _POSIX_MEMLOCK_RANGE 1 - #define _POSIX_MEMORY_PROTECTION 1 - #define _POSIX_MESSAGE_PASSING 1 -+#define _POSIX_MONOTONIC_CLOCK 200112L - #define _POSIX_PRIORITIZED_IO 1 - #define _POSIX_PRIORITY_SCHEDULING 1 - #define _POSIX_REALTIME_SIGNALS 1 -@@ -81,17 +82,89 @@ - #endif - - #ifdef __CYGWIN__ --# define _POSIX_JOB_CONTROL 1 --# define _POSIX_SAVED_IDS 0 --# define _POSIX_VERSION 199009L --# define _POSIX_THREADS 1 --# define _POSIX_THREAD_PROCESS_SHARED 1 --# define _POSIX_THREAD_SAFE_FUNCTIONS 1 --# define _POSIX_THREAD_PRIORITY_SCHEDULING 1 --# define _POSIX_THREAD_ATTR_STACKSIZE 1 --# define _POSIX_SEMAPHORES 1 --# define _POSIX_TIMERS 1 --# define _POSIX_MEMLOCK_RANGE 1 -+#define _POSIX_VERSION 200112L -+#define _POSIX2_VERSION 200112L -+#define _XOPEN_VERSION 600 -+ -+#define _POSIX_ADVISORY_INFO 200112L -+/* #define _POSIX_ASYNCHRONOUS_IO -1 */ -+/* #define _POSIX_BARRIERS -1 */ -+#define _POSIX_CHOWN_RESTRICTED 1 -+/* #define _POSIX_CLOCK_SELECTION -1 */ -+/* #define _POSIX_CPUTIME -1 */ -+#define _POSIX_FSYNC 200112L -+#define _POSIX_IPV6 200112L -+#define _POSIX_JOB_CONTROL 1 -+#define _POSIX_MAPPED_FILES 200112L -+/* #define _POSIX_MEMLOCK -1 */ -+#define _POSIX_MEMLOCK_RANGE 200112L -+#define _POSIX_MEMORY_PROTECTION 200112L -+/* #define _POSIX_MESSAGE_PASSING -1 */ -+/* #define _POSIX_MONOTONIC_CLOCK -1 */ -+#define _POSIX_NO_TRUNC 1 -+/* #define _POSIX_PRIORITIZED_IO -1 */ -+#define _POSIX_PRIORITY_SCHEDULING 200112L -+#define _POSIX_RAW_SOCKETS 200112L -+#define _POSIX_READER_WRITER_LOCKS 200112L -+#define _POSIX_REALTIME_SIGNALS 200112L -+#define _POSIX_REGEXP 1 -+#define _POSIX_SAVED_IDS 1 -+#define _POSIX_SEMAPHORES 1 -+/* #define _POSIX_SHARED_MEMORY_OBJECTS -1 */ -+#define _POSIX_SHELL 1 -+/* #define _POSIX_SPAWN -1 */ -+/* #define _POSIX_SPIN_LOCKS -1 */ -+/* #define _POSIX_SPORADIC_SERVER -1 */ -+#define _POSIX_SYNCHRONIZED_IO 200112L -+/* #define _POSIX_THREAD_ATTR_STACKADDR -1 */ -+#define _POSIX_THREAD_ATTR_STACKSIZE 200112L -+/* #define _POSIX_THREAD_CPUTIME -1 */ -+/* #define _POSIX_THREAD_PRIO_INHERIT -1 */ -+/* #define _POSIX_THREAD_PRIO_PROTECT -1 */ -+#define _POSIX_THREAD_PRIORITY_SCHEDULING 200112L -+#define _POSIX_THREAD_PROCESS_SHARED 200112L -+#define _POSIX_THREAD_SAFE_FUNCTIONS 200112L -+/* #define _POSIX_THREAD_SPORADIC_SERVER -1 */ -+#define _POSIX_THREADS 200112L -+/* #define _POSIX_TIMEOUTS -1 */ -+#define _POSIX_TIMERS 1 -+/* #define _POSIX_TRACE -1 */ -+/* #define _POSIX_TRACE_EVENT_FILTER -1 */ -+/* #define _POSIX_TRACE_INHERIT -1 */ -+/* #define _POSIX_TRACE_LOG -1 */ -+/* #define _POSIX_TYPED_MEMORY_OBJECTS -1 */ -+#define _POSIX_VDISABLE '\0' -+#define _POSIX2_C_BIND 200112L -+#define _POSIX2_C_DEV 200112L -+#define _POSIX2_CHAR_TERM 200112L -+/* #define _POSIX2_FORT_DEV -1 */ -+/* #define _POSIX2_FORT_RUN -1 */ -+/* #define _POSIX2_LOCALEDEF -1 */ -+/* #define _POSIX2_PBS -1 */ -+/* #define _POSIX2_PBS_ACCOUNTING -1 */ -+/* #define _POSIX2_PBS_CHECKPOINT -1 */ -+/* #define _POSIX2_PBS_LOCATE -1 */ -+/* #define _POSIX2_PBS_MESSAGE -1 */ -+/* #define _POSIX2_PBS_TRACK -1 */ -+#define _POSIX2_SW_DEV 200112L -+#define _POSIX2_UPE 200112L -+/* #define _POSIX_V6_ILP32_OFF32 -1 */ -+#define _XBS5_ILP32_OFF32 _POSIX_V6_ILP32_OFF32 -+#define _POSIX_V6_ILP32_OFFBIG 1 -+#define _XBS5_ILP32_OFFBIG _POSIX_V6_ILP32_OFFBIG -+/* #define _POSIX_V6_LP64_OFF64 -1 */ -+#define _XBS5_LP64_OFF64 _POSIX_V6_LP64_OFF64 -+/* #define _POSIX_V6_LPBIG_OFFBIG -1 */ -+#define _XBS5_LPBIG_OFFBIG _POSIX_V6_LPBIG_OFFBIG -+#define _XOPEN_CRYPT 1 -+#define _XOPEN_ENH_I18N 1 -+/* #define _XOPEN_LEGACY -1 */ -+/* #define _XOPEN_REALTIME -1 */ -+/* #define _XOPEN_REALTIME_THREADS -1 */ -+#define _XOPEN_SHM 1 -+/* #define _XOPEN_STREAMS -1 */ -+/* #define _XOPEN_UNIX -1 */ -+ - #endif - - #ifdef __cplusplus -diff -uNr newlib-1.15.0.orig/newlib/libc/include/sys/_types.h newlib-1.15.0/newlib/libc/include/sys/_types.h ---- newlib-1.15.0.orig/newlib/libc/include/sys/_types.h 2004-06-11 22:37:09.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/include/sys/_types.h 2007-04-13 10:41:47.000000000 +0200 -@@ -39,4 +39,7 @@ - /* Iconv descriptor type */ - typedef void *_iconv_t; - -+typedef long * __intptr_t; -+typedef unsigned long* __uintptr_t; -+ - #endif /* _SYS__TYPES_H */ -diff -uNr newlib-1.15.0.orig/newlib/libc/include/sys/unistd.h newlib-1.15.0/newlib/libc/include/sys/unistd.h ---- newlib-1.15.0.orig/newlib/libc/include/sys/unistd.h 2006-11-07 16:33:40.000000000 +0100 -+++ newlib-1.15.0/newlib/libc/include/sys/unistd.h 2007-04-13 10:41:47.000000000 +0200 -@@ -200,7 +200,7 @@ - int _EXFUN(getdtablesize, (void)); - int _EXFUN(setdtablesize, (int)); - useconds_t _EXFUN(ualarm, (useconds_t __useconds, useconds_t __interval)); --unsigned _EXFUN(usleep, (unsigned int __useconds)); -+int _EXFUN(usleep, (useconds_t __useconds)); - #if !(defined (_WINSOCK_H) || defined (__USE_W32_SOCKETS)) - /* winsock[2].h defines as __stdcall, and with int as 2nd arg */ - int _EXFUN(gethostname, (char *__name, size_t __len)); -@@ -212,7 +212,7 @@ - int _EXFUN(sync, (void)); - #endif - #endif --int _EXFUN(readlink, (const char *__path, char *__buf, int __buflen)); -+ssize_t _EXFUN(readlink, (const char *__path, char *__buf, size_t __buflen)); - int _EXFUN(symlink, (const char *__name1, const char *__name2)); - - #define F_OK 0 -@@ -231,63 +231,55 @@ - #define STDERR_FILENO 2 /* standard error file descriptor */ - - /* -- * 4.8.1 Get Configurable System Variables, P1003.1b-1993, p. 96 -- * -- * NOTE: Table 4-2, Configurable System Variables, p. 96 -- */ -- --#define _SC_ARG_MAX 0 --#define _SC_CHILD_MAX 1 --#define _SC_CLK_TCK 2 --#define _SC_NGROUPS_MAX 3 --#define _SC_OPEN_MAX 4 -- /* no _SC_STREAM_MAX */ --#define _SC_JOB_CONTROL 5 --#define _SC_SAVED_IDS 6 --#define _SC_VERSION 7 --#define _SC_PAGESIZE 8 --/* CYGWIN-specific values .. do not touch */ --#define _SC_NPROCESSORS_CONF 9 --#define _SC_NPROCESSORS_ONLN 10 --#define _SC_PHYS_PAGES 11 --#define _SC_AVPHYS_PAGES 12 --/* end of CYGWIN-specific values */ --#define _SC_MQ_OPEN_MAX 13 --#define _SC_MQ_PRIO_MAX 14 --#define _SC_RTSIG_MAX 15 --#define _SC_SEM_NSEMS_MAX 16 --#define _SC_SEM_VALUE_MAX 17 --#define _SC_SIGQUEUE_MAX 18 --#define _SC_TIMER_MAX 19 --#define _SC_TZNAME_MAX 20 -- --#define _SC_ASYNCHRONOUS_IO 21 --#define _SC_FSYNC 22 --#define _SC_MAPPED_FILES 23 --#define _SC_MEMLOCK 24 --#define _SC_MEMLOCK_RANGE 25 --#define _SC_MEMORY_PROTECTION 26 --#define _SC_MESSAGE_PASSING 27 --#define _SC_PRIORITIZED_IO 28 --#define _SC_REALTIME_SIGNALS 29 --#define _SC_SEMAPHORES 30 --#define _SC_SHARED_MEMORY_OBJECTS 31 --#define _SC_SYNCHRONIZED_IO 32 --#define _SC_TIMERS 33 --#define _SC_AIO_LISTIO_MAX 34 --#define _SC_AIO_MAX 35 --#define _SC_AIO_PRIO_DELTA_MAX 36 --#define _SC_DELAYTIMER_MAX 37 -- --/* -- * P1003.1c/D10, p. 52 adds the following. -+ * sysconf values per IEEE Std 1003.1, 2004 Edition - */ - -+#define _SC_ARG_MAX 0 -+#define _SC_CHILD_MAX 1 -+#define _SC_CLK_TCK 2 -+#define _SC_NGROUPS_MAX 3 -+#define _SC_OPEN_MAX 4 -+#define _SC_JOB_CONTROL 5 -+#define _SC_SAVED_IDS 6 -+#define _SC_VERSION 7 -+#define _SC_PAGESIZE 8 -+#define _SC_PAGE_SIZE _SC_PAGESIZE -+/* These are non-POSIX values we accidentally introduced in 2000 without -+ guarding them. Keeping them unguarded for backward compatibility. */ -+#define _SC_NPROCESSORS_CONF 9 -+#define _SC_NPROCESSORS_ONLN 10 -+#define _SC_PHYS_PAGES 11 -+#define _SC_AVPHYS_PAGES 12 -+/* End of non-POSIX values. */ -+#define _SC_MQ_OPEN_MAX 13 -+#define _SC_MQ_PRIO_MAX 14 -+#define _SC_RTSIG_MAX 15 -+#define _SC_SEM_NSEMS_MAX 16 -+#define _SC_SEM_VALUE_MAX 17 -+#define _SC_SIGQUEUE_MAX 18 -+#define _SC_TIMER_MAX 19 -+#define _SC_TZNAME_MAX 20 -+#define _SC_ASYNCHRONOUS_IO 21 -+#define _SC_FSYNC 22 -+#define _SC_MAPPED_FILES 23 -+#define _SC_MEMLOCK 24 -+#define _SC_MEMLOCK_RANGE 25 -+#define _SC_MEMORY_PROTECTION 26 -+#define _SC_MESSAGE_PASSING 27 -+#define _SC_PRIORITIZED_IO 28 -+#define _SC_REALTIME_SIGNALS 29 -+#define _SC_SEMAPHORES 30 -+#define _SC_SHARED_MEMORY_OBJECTS 31 -+#define _SC_SYNCHRONIZED_IO 32 -+#define _SC_TIMERS 33 -+#define _SC_AIO_LISTIO_MAX 34 -+#define _SC_AIO_MAX 35 -+#define _SC_AIO_PRIO_DELTA_MAX 36 -+#define _SC_DELAYTIMER_MAX 37 - #define _SC_THREAD_KEYS_MAX 38 - #define _SC_THREAD_STACK_MIN 39 - #define _SC_THREAD_THREADS_MAX 40 - #define _SC_TTY_NAME_MAX 41 -- - #define _SC_THREADS 42 - #define _SC_THREAD_ATTR_STACKADDR 43 - #define _SC_THREAD_ATTR_STACKSIZE 44 -@@ -302,34 +294,99 @@ - #define _SC_GETPW_R_SIZE_MAX 51 - #define _SC_LOGIN_NAME_MAX 52 - #define _SC_THREAD_DESTRUCTOR_ITERATIONS 53 -- --#if !defined(__rtems__) --#define _SC_STREAM_MAX 100 --#endif --#if !defined(__CYGWIN__) && !defined(__rtems__) --#define _SC_PRIORITY_SCHEDULING 101 --#endif -- --# define _PC_LINK_MAX 0 --# define _PC_MAX_CANON 1 --# define _PC_MAX_INPUT 2 --# define _PC_NAME_MAX 3 --# define _PC_PATH_MAX 4 --# define _PC_PIPE_BUF 5 --# define _PC_CHOWN_RESTRICTED 6 --# define _PC_NO_TRUNC 7 --# define _PC_VDISABLE 8 --# define _PC_ASYNC_IO 9 --# define _PC_PRIO_IO 10 --# define _PC_SYNC_IO 11 --# define _PC_FILESIZEBITS 12 --# define _PC_2_SYMLINKS 13 --# define _PC_SYMLINK_MAX 14 -+#define _SC_ADVISORY_INFO 54 -+#define _SC_ATEXIT_MAX 55 -+#define _SC_BARRIERS 56 -+#define _SC_BC_BASE_MAX 57 -+#define _SC_BC_DIM_MAX 58 -+#define _SC_BC_SCALE_MAX 59 -+#define _SC_BC_STRING_MAX 60 -+#define _SC_CLOCK_SELECTION 61 -+#define _SC_COLL_WEIGHTS_MAX 62 -+#define _SC_CPUTIME 63 -+#define _SC_EXPR_NEST_MAX 64 -+#define _SC_HOST_NAME_MAX 65 -+#define _SC_IOV_MAX 66 -+#define _SC_IPV6 67 -+#define _SC_LINE_MAX 68 -+#define _SC_MONOTONIC_CLOCK 69 -+#define _SC_RAW_SOCKETS 70 -+#define _SC_READER_WRITER_LOCKS 71 -+#define _SC_REGEXP 72 -+#define _SC_RE_DUP_MAX 73 -+#define _SC_SHELL 74 -+#define _SC_SPAWN 75 -+#define _SC_SPIN_LOCKS 76 -+#define _SC_SPORADIC_SERVER 77 -+#define _SC_SS_REPL_MAX 78 -+#define _SC_SYMLOOP_MAX 79 -+#define _SC_THREAD_CPUTIME 80 -+#define _SC_THREAD_SPORADIC_SERVER 81 -+#define _SC_TIMEOUTS 82 -+#define _SC_TRACE 83 -+#define _SC_TRACE_EVENT_FILTER 84 -+#define _SC_TRACE_EVENT_NAME_MAX 85 -+#define _SC_TRACE_INHERIT 86 -+#define _SC_TRACE_LOG 87 -+#define _SC_TRACE_NAME_MAX 88 -+#define _SC_TRACE_SYS_MAX 89 -+#define _SC_TRACE_USER_EVENT_MAX 90 -+#define _SC_TYPED_MEMORY_OBJECTS 91 -+#define _SC_V6_ILP32_OFF32 92 -+#define _SC_XBS5_ILP32_OFF32 _SC_V6_ILP32_OFF32 -+#define _SC_V6_ILP32_OFFBIG 93 -+#define _SC_XBS5_ILP32_OFFBIG _SC_V6_ILP32_OFFBIG -+#define _SC_V6_LP64_OFF64 94 -+#define _SC_XBS5_LP64_OFF64 _SC_V6_LP64_OFF64 -+#define _SC_V6_LPBIG_OFFBIG 95 -+#define _SC_XBS5_LPBIG_OFFBIG _SC_V6_LPBIG_OFFBIG -+#define _SC_XOPEN_CRYPT 96 -+#define _SC_XOPEN_ENH_I18N 97 -+#define _SC_XOPEN_LEGACY 98 -+#define _SC_XOPEN_REALTIME 99 -+#define _SC_STREAM_MAX 100 -+#define _SC_PRIORITY_SCHEDULING 101 -+#define _SC_XOPEN_REALTIME_THREADS 102 -+#define _SC_XOPEN_SHM 103 -+#define _SC_XOPEN_STREAMS 104 -+#define _SC_XOPEN_UNIX 105 -+#define _SC_XOPEN_VERSION 106 -+#define _SC_2_CHAR_TERM 107 -+#define _SC_2_C_BIND 108 -+#define _SC_2_C_DEV 109 -+#define _SC_2_FORT_DEV 110 -+#define _SC_2_FORT_RUN 111 -+#define _SC_2_LOCALEDEF 112 -+#define _SC_2_PBS 113 -+#define _SC_2_PBS_ACCOUNTING 114 -+#define _SC_2_PBS_CHECKPOINT 115 -+#define _SC_2_PBS_LOCATE 116 -+#define _SC_2_PBS_MESSAGE 117 -+#define _SC_2_PBS_TRACK 118 -+#define _SC_2_SW_DEV 119 -+#define _SC_2_UPE 120 -+#define _SC_2_VERSION 121 -+ -+#define _PC_LINK_MAX 0 -+#define _PC_MAX_CANON 1 -+#define _PC_MAX_INPUT 2 -+#define _PC_NAME_MAX 3 -+#define _PC_PATH_MAX 4 -+#define _PC_PIPE_BUF 5 -+#define _PC_CHOWN_RESTRICTED 6 -+#define _PC_NO_TRUNC 7 -+#define _PC_VDISABLE 8 -+#define _PC_ASYNC_IO 9 -+#define _PC_PRIO_IO 10 -+#define _PC_SYNC_IO 11 -+#define _PC_FILESIZEBITS 12 -+#define _PC_2_SYMLINKS 13 -+#define _PC_SYMLINK_MAX 14 - #ifdef __CYGWIN__ - /* Ask for POSIX permission bits support. */ --# define _PC_POSIX_PERMISSIONS 90 -+#define _PC_POSIX_PERMISSIONS 90 - /* Ask for full POSIX permission support including uid/gid settings. */ --# define _PC_POSIX_SECURITY 91 -+#define _PC_POSIX_SECURITY 91 - #endif - - /* FIXME: This is temporary until winsup gets sorted out. */ -diff -uNr newlib-1.15.0.orig/newlib/libc/include/time.h newlib-1.15.0/newlib/libc/include/time.h ---- newlib-1.15.0.orig/newlib/libc/include/time.h 2005-11-18 16:57:24.000000000 +0100 -+++ newlib-1.15.0/newlib/libc/include/time.h 2007-04-13 10:41:47.000000000 +0200 -@@ -226,6 +226,16 @@ - - #endif - -+#if defined(_POSIX_MONOTONIC_CLOCK) -+ -+/* The identifier for the system-wide monotonic clock, which is defined -+ as a clock whose value cannot be set via clock_settime() and which -+ cannot have backward clock jumps. */ -+ -+#define CLOCK_MONOTONIC (clockid_t)4 -+ -+#endif -+ - #if defined(_POSIX_CPUTIME) - - /* Accessing a Process CPU-time CLock, P1003.4b/D8, p. 55 */ -diff -uNr newlib-1.15.0.orig/newlib/libc/machine/arm/machine/endian.h newlib-1.15.0/newlib/libc/machine/arm/machine/endian.h ---- newlib-1.15.0.orig/newlib/libc/machine/arm/machine/endian.h 2004-05-07 22:29:24.000000000 +0200 -+++ newlib-1.15.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 -uNr newlib-1.15.0.orig/newlib/libc/search/db_local.h newlib-1.15.0/newlib/libc/search/db_local.h ---- newlib-1.15.0.orig/newlib/libc/search/db_local.h 2002-06-25 01:05:08.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/db_local.h 2007-04-13 10:41:47.000000000 +0200 -@@ -50,7 +50,7 @@ - #define MAX_PAGE_NUMBER 0xffffffff /* >= # of pages in a file */ - typedef __uint32_t pgno_t; - #define MAX_PAGE_OFFSET 65535 /* >= # of bytes in a page */ --typedef __uint16_t indx_t; -+typedef __uint_least16_t indx_t; - #define MAX_REC_NUMBER 0xffffffff /* >= # of records in a tree */ - typedef __uint32_t recno_t; - -@@ -191,12 +191,12 @@ - * P_16_COPY swap from one location to another - */ - #define M_16_SWAP(a) { \ -- __uint16_t _tmp = a; \ -+ __uint_least16_t _tmp = a; \ - ((char *)&a)[0] = ((char *)&_tmp)[1]; \ - ((char *)&a)[1] = ((char *)&_tmp)[0]; \ - } - #define P_16_SWAP(a) { \ -- __uint16_t _tmp = *(__uint16_t *)a; \ -+ __uint_least16_t _tmp = *(__uint_least16_t *)a; \ - ((char *)a)[0] = ((char *)&_tmp)[1]; \ - ((char *)a)[1] = ((char *)&_tmp)[0]; \ - } -diff -uNr newlib-1.15.0.orig/newlib/libc/search/extern.h newlib-1.15.0/newlib/libc/search/extern.h ---- newlib-1.15.0.orig/newlib/libc/search/extern.h 2002-06-20 21:51:31.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/extern.h 2007-04-13 10:41:47.000000000 +0200 -@@ -48,7 +48,7 @@ - int __delpair(HTAB *, BUFHEAD *, int); - int __expand_table(HTAB *); - int __find_bigpair(HTAB *, BUFHEAD *, int, char *, int); --__uint16_t __find_last_page(HTAB *, BUFHEAD **); -+__uint_least16_t __find_last_page(HTAB *, BUFHEAD **); - void __free_ovflpage(HTAB *, BUFHEAD *); - BUFHEAD *__get_buf(HTAB *, __uint32_t, BUFHEAD *, int); - int __get_page(HTAB *, char *, __uint32_t, int, int, int); -diff -uNr newlib-1.15.0.orig/newlib/libc/search/hash_bigkey.c newlib-1.15.0/newlib/libc/search/hash_bigkey.c ---- newlib-1.15.0.orig/newlib/libc/search/hash_bigkey.c 2006-06-07 21:22:59.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/hash_bigkey.c 2007-04-13 10:41:47.000000000 +0200 -@@ -92,13 +92,13 @@ - BUFHEAD *bufp; - const DBT *key, *val; - { -- __uint16_t *p; -+ __uint_least16_t *p; - int key_size, n, val_size; -- __uint16_t space, move_bytes, off; -+ __uint_least16_t space, move_bytes, off; - char *cp, *key_data, *val_data; - - cp = bufp->page; /* Character pointer of p. */ -- p = (__uint16_t *)cp; -+ p = (__uint_least16_t *)cp; - - key_data = (char *)key->data; - key_size = key->size; -@@ -136,7 +136,7 @@ - OFFSET(p) = off; - } else - p[n - 2] = FULL_KEY; -- p = (__uint16_t *)bufp->page; -+ p = (__uint_least16_t *)bufp->page; - cp = bufp->page; - bufp->flags |= BUF_MOD; - } -@@ -166,7 +166,7 @@ - if (!bufp) - return (-1); - cp = bufp->page; -- p = (__uint16_t *)cp; -+ p = (__uint_least16_t *)cp; - } else - p[n] = FULL_KEY_DATA; - bufp->flags |= BUF_MOD; -@@ -191,12 +191,12 @@ - BUFHEAD *bufp; - { - BUFHEAD *last_bfp, *rbufp; -- __uint16_t *bp, pageno; -+ __uint_least16_t *bp, pageno; - int key_done, n; - - rbufp = bufp; - last_bfp = NULL; -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - pageno = 0; - key_done = 0; - -@@ -219,7 +219,7 @@ - last_bfp = rbufp; - if (!rbufp) - return (-1); /* Error. */ -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - } - - /* -@@ -234,7 +234,7 @@ - pageno = bp[n - 1]; - - /* Now, bp is the first page of the pair. */ -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - if (n > 2) { - /* There is an overflow page. */ - bp[1] = pageno; -@@ -272,13 +272,13 @@ - char *key; - int size; - { -- __uint16_t *bp; -+ __uint_least16_t *bp; - char *p; - int ksize; -- __uint16_t bytes; -+ __uint_least16_t bytes; - char *kkey; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - p = bufp->page; - ksize = size; - kkey = key; -@@ -294,7 +294,7 @@ - if (!bufp) - return (-3); - p = bufp->page; -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - ndx = 1; - } - -@@ -316,17 +316,17 @@ - * of the pair; 0 if there isn't any (i.e. big pair is the last key in the - * bucket) - */ --extern __uint16_t -+extern __uint_least16_t - __find_last_page(hashp, bpp) - HTAB *hashp; - BUFHEAD **bpp; - { - BUFHEAD *bufp; -- __uint16_t *bp, pageno; -+ __uint_least16_t *bp, pageno; - int n; - - bufp = *bpp; -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - for (;;) { - n = bp[0]; - -@@ -343,7 +343,7 @@ - bufp = __get_buf(hashp, pageno, bufp, 0); - if (!bufp) - return (0); /* Need to indicate an error! */ -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } - - *bpp = bufp; -@@ -366,15 +366,15 @@ - int set_current; - { - BUFHEAD *save_p; -- __uint16_t *bp, len, off, save_addr; -+ __uint_least16_t *bp, len, off, save_addr; - char *tp; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - while (bp[ndx + 1] == PARTIAL_KEY) { - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - ndx = 1; - } - -@@ -382,7 +382,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - save_p = bufp; - save_addr = save_p->addr; - off = bp[1]; -@@ -403,7 +403,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } else { - /* The data is all on one page. */ - tp = (char *)bp; -@@ -422,7 +422,7 @@ - if (!hashp->cpage) - return (-1); - hashp->cndx = 1; -- if (!((__uint16_t *) -+ if (!((__uint_least16_t *) - hashp->cpage->page)[0]) { - hashp->cbucket++; - hashp->cpage = NULL; -@@ -454,14 +454,14 @@ - BUFHEAD *bufp; - int len, set; - { -- __uint16_t *bp; -+ __uint_least16_t *bp; - char *p; - BUFHEAD *xbp; -- __uint16_t save_addr; -+ __uint_least16_t save_addr; - int mylen, totlen; - - p = bufp->page; -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - mylen = hashp->BSIZE - bp[1]; - save_addr = bufp->addr; - -@@ -481,7 +481,7 @@ - __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!hashp->cpage) - return (-1); -- else if (!((__uint16_t *)hashp->cpage->page)[0]) { -+ else if (!((__uint_least16_t *)hashp->cpage->page)[0]) { - hashp->cbucket++; - hashp->cpage = NULL; - } -@@ -533,10 +533,10 @@ - BUFHEAD *xbp; - char *p; - int mylen, totlen; -- __uint16_t *bp, save_addr; -+ __uint_least16_t *bp, save_addr; - - p = bufp->page; -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - mylen = hashp->BSIZE - bp[1]; - - save_addr = bufp->addr; -@@ -579,11 +579,11 @@ - SPLIT_RETURN *ret; - { - BUFHEAD *tmpp; -- __uint16_t *tp; -+ __uint_least16_t *tp; - BUFHEAD *bp; - DBT key, val; - __uint32_t change; -- __uint16_t free_space, n, off; -+ __uint_least16_t free_space, n, off; - - bp = big_keyp; - -@@ -615,14 +615,14 @@ - (tmpp->ovfl ? tmpp->ovfl->addr : 0), (bp ? bp->addr : 0)); - #endif - tmpp->ovfl = bp; /* one of op/np point to big_keyp */ -- tp = (__uint16_t *)tmpp->page; -+ tp = (__uint_least16_t *)tmpp->page; - #ifdef DEBUG - assert(FREESPACE(tp) >= OVFLSIZE); - #endif - n = tp[0]; - off = OFFSET(tp); - free_space = FREESPACE(tp); -- tp[++n] = (__uint16_t)addr; -+ tp[++n] = (__uint_least16_t)addr; - tp[++n] = OVFLPAGE; - tp[0] = n; - OFFSET(tp) = off; -@@ -638,7 +638,7 @@ - ret->newp = np; - ret->oldp = op; - -- tp = (__uint16_t *)big_keyp->page; -+ tp = (__uint_least16_t *)big_keyp->page; - big_keyp->flags |= BUF_MOD; - if (tp[0] > 2) { - /* -diff -uNr newlib-1.15.0.orig/newlib/libc/search/hash_buf.c newlib-1.15.0/newlib/libc/search/hash_buf.c ---- newlib-1.15.0.orig/newlib/libc/search/hash_buf.c 2004-05-26 19:57:10.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/hash_buf.c 2007-04-13 10:41:47.000000000 +0200 -@@ -176,7 +176,7 @@ - BUFHEAD *next_xbp; - SEGMENT segp; - int segment_ndx; -- __uint16_t oaddr, *shortp; -+ __uint_least16_t oaddr, *shortp; - - oaddr = 0; - bp = LRU; -@@ -212,7 +212,7 @@ - * Set oaddr before __put_page so that you get it - * before bytes are swapped. - */ -- shortp = (__uint16_t *)bp->page; -+ shortp = (__uint_least16_t *)bp->page; - if (shortp[0]) - oaddr = shortp[shortp[0] - 1]; - if ((bp->flags & BUF_MOD) && __put_page(hashp, bp->page, -@@ -255,7 +255,7 @@ - (oaddr != xbp->addr)) - break; - -- shortp = (__uint16_t *)xbp->page; -+ shortp = (__uint_least16_t *)xbp->page; - if (shortp[0]) - /* set before __put_page */ - oaddr = shortp[shortp[0] - 1]; -diff -uNr newlib-1.15.0.orig/newlib/libc/search/hash.c newlib-1.15.0/newlib/libc/search/hash.c ---- newlib-1.15.0.orig/newlib/libc/search/hash.c 2004-05-26 19:57:10.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/hash.c 2007-04-13 10:41:47.000000000 +0200 -@@ -628,10 +628,10 @@ - { - BUFHEAD *rbufp; - BUFHEAD *bufp, *save_bufp; -- __uint16_t *bp; -+ __uint_least16_t *bp; - int n, ndx, off, size; - char *kp; -- __uint16_t pageno; -+ __uint_least16_t pageno; - - #ifdef HASH_STATISTICS - hash_accesses++; -@@ -647,7 +647,7 @@ - - /* Pin the bucket chain */ - rbufp->flags |= BUF_PIN; -- for (bp = (__uint16_t *)rbufp->page, n = *bp++, ndx = 1; ndx < n;) -+ for (bp = (__uint_least16_t *)rbufp->page, n = *bp++, ndx = 1; ndx < n;) - if (bp[1] >= REAL_KEY) { - /* Real key/data pair */ - if (size == off - *bp && -@@ -666,7 +666,7 @@ - return (ERROR); - } - /* FOR LOOP INIT */ -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - n = *bp++; - ndx = 1; - off = hashp->BSIZE; -@@ -688,7 +688,7 @@ - return (ERROR); - } - /* FOR LOOP INIT */ -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - n = *bp++; - ndx = 1; - off = hashp->BSIZE; -@@ -722,7 +722,7 @@ - save_bufp->flags &= ~BUF_PIN; - return (ABNORMAL); - case HASH_GET: -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - if (bp[ndx + 1] < REAL_KEY) { - if (__big_return(hashp, rbufp, ndx, val, 0)) - return (ERROR); -@@ -758,7 +758,7 @@ - __uint32_t bucket; - BUFHEAD *bufp; - HTAB *hashp; -- __uint16_t *bp, ndx; -+ __uint_least16_t *bp, ndx; - - hashp = (HTAB *)dbp->internal; - if (flag && flag != R_FIRST && flag != R_NEXT) { -@@ -783,7 +783,7 @@ - if (!bufp) - return (ERROR); - hashp->cpage = bufp; -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - if (bp[0]) - break; - } -@@ -793,7 +793,7 @@ - return (ABNORMAL); - } - } else -- bp = (__uint16_t *)hashp->cpage->page; -+ bp = (__uint_least16_t *)hashp->cpage->page; - - #ifdef DEBUG - assert(bp); -@@ -804,7 +804,7 @@ - __get_buf(hashp, bp[hashp->cndx], bufp, 0); - if (!bufp) - return (ERROR); -- bp = (__uint16_t *)(bufp->page); -+ bp = (__uint_least16_t *)(bufp->page); - hashp->cndx = 1; - } - if (!bp[0]) { -diff -uNr newlib-1.15.0.orig/newlib/libc/search/hash.h newlib-1.15.0/newlib/libc/search/hash.h ---- newlib-1.15.0.orig/newlib/libc/search/hash.h 2002-07-02 20:18:58.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/hash.h 2007-04-13 10:41:47.000000000 +0200 -@@ -102,7 +102,7 @@ - #define NCACHED 32 /* number of bit maps and spare - * points */ - int spares[NCACHED];/* spare pages for overflow */ -- __uint16_t bitmaps[NCACHED]; /* address of overflow page -+ __uint_least16_t bitmaps[NCACHED]; /* address of overflow page - * bitmaps */ - } HASHHDR; - -diff -uNr newlib-1.15.0.orig/newlib/libc/search/hash_page.c newlib-1.15.0/newlib/libc/search/hash_page.c ---- newlib-1.15.0.orig/newlib/libc/search/hash_page.c 2002-09-19 23:28:51.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/hash_page.c 2007-04-13 10:41:47.000000000 +0200 -@@ -77,16 +77,16 @@ - static __uint32_t *fetch_bitmap(HTAB *, int); - static __uint32_t first_free(__uint32_t); - static int open_temp(HTAB *); --static __uint16_t overflow_page(HTAB *); -+static __uint_least16_t overflow_page(HTAB *); - static void putpair(char *, const DBT *, const DBT *); --static void squeeze_key(__uint16_t *, const DBT *, const DBT *); -+static void squeeze_key(__uint_least16_t *, const DBT *, const DBT *); - static int ugly_split - (HTAB *, __uint32_t, BUFHEAD *, BUFHEAD *, int, int); - - #define PAGE_INIT(P) { \ -- ((__uint16_t *)(P))[0] = 0; \ -- ((__uint16_t *)(P))[1] = hashp->BSIZE - 3 * sizeof(__uint16_t); \ -- ((__uint16_t *)(P))[2] = hashp->BSIZE; \ -+ ((__uint_least16_t *)(P))[0] = 0; \ -+ ((__uint_least16_t *)(P))[1] = hashp->BSIZE - 3 * sizeof(__uint_least16_t); \ -+ ((__uint_least16_t *)(P))[2] = hashp->BSIZE; \ - } - - /* -@@ -99,9 +99,9 @@ - char *p; - const DBT *key, *val; - { -- __uint16_t *bp, n, off; -+ __uint_least16_t *bp, n, off; - -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - - /* Enter the key first. */ - n = bp[0]; -@@ -117,7 +117,7 @@ - - /* Adjust page info. */ - bp[0] = n; -- bp[n + 1] = off - ((n + 3) * sizeof(__uint16_t)); -+ bp[n + 1] = off - ((n + 3) * sizeof(__uint_least16_t)); - bp[n + 2] = off; - } - -@@ -132,11 +132,11 @@ - BUFHEAD *bufp; - int ndx; - { -- __uint16_t *bp, newoff; -+ __uint_least16_t *bp, newoff; - int n; -- __uint16_t pairlen; -+ __uint_least16_t pairlen; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - n = bp[0]; - - if (bp[ndx + 1] < REAL_KEY) -@@ -167,7 +167,7 @@ - } - /* Finally adjust the page data */ - bp[n] = OFFSET(bp) + pairlen; -- bp[n - 1] = bp[n + 1] + pairlen + 2 * sizeof(__uint16_t); -+ bp[n - 1] = bp[n + 1] + pairlen + 2 * sizeof(__uint_least16_t); - bp[0] = n - 2; - hashp->NKEYS--; - -@@ -185,15 +185,15 @@ - __uint32_t obucket, nbucket; - { - BUFHEAD *new_bufp, *old_bufp; -- __uint16_t *ino; -+ __uint_least16_t *ino; - char *np; - DBT key, val; - int n, ndx, retval; -- __uint16_t copyto, diff, off, moved; -+ __uint_least16_t copyto, diff, off, moved; - char *op; - -- copyto = (__uint16_t)hashp->BSIZE; -- off = (__uint16_t)hashp->BSIZE; -+ copyto = (__uint_least16_t)hashp->BSIZE; -+ off = (__uint_least16_t)hashp->BSIZE; - old_bufp = __get_buf(hashp, obucket, NULL, 0); - if (old_bufp == NULL) - return (-1); -@@ -204,7 +204,7 @@ - old_bufp->flags |= (BUF_MOD | BUF_PIN); - new_bufp->flags |= (BUF_MOD | BUF_PIN); - -- ino = (__uint16_t *)(op = old_bufp->page); -+ ino = (__uint_least16_t *)(op = old_bufp->page); - np = new_bufp->page; - - moved = 0; -@@ -246,13 +246,13 @@ - - /* Now clean up the page */ - ino[0] -= moved; -- FREESPACE(ino) = copyto - sizeof(__uint16_t) * (ino[0] + 3); -+ FREESPACE(ino) = copyto - sizeof(__uint_least16_t) * (ino[0] + 3); - OFFSET(ino) = copyto; - - #ifdef DEBUG3 - (void)fprintf(stderr, "split %d/%d\n", -- ((__uint16_t *)np)[0] / 2, -- ((__uint16_t *)op)[0] / 2); -+ ((__uint_least16_t *)np)[0] / 2, -+ ((__uint_least16_t *)op)[0] / 2); - #endif - /* unpin both pages */ - old_bufp->flags &= ~BUF_PIN; -@@ -284,22 +284,22 @@ - int moved; /* Number of pairs moved to new page. */ - { - BUFHEAD *bufp; /* Buffer header for ino */ -- __uint16_t *ino; /* Page keys come off of */ -- __uint16_t *np; /* New page */ -- __uint16_t *op; /* Page keys go on to if they aren't moving */ -+ __uint_least16_t *ino; /* Page keys come off of */ -+ __uint_least16_t *np; /* New page */ -+ __uint_least16_t *op; /* Page keys go on to if they aren't moving */ - - BUFHEAD *last_bfp; /* Last buf header OVFL needing to be freed */ - DBT key, val; - SPLIT_RETURN ret; -- __uint16_t n, off, ov_addr, scopyto; -+ __uint_least16_t n, off, ov_addr, scopyto; - char *cino; /* Character value of ino */ - - bufp = old_bufp; -- ino = (__uint16_t *)old_bufp->page; -- np = (__uint16_t *)new_bufp->page; -- op = (__uint16_t *)old_bufp->page; -+ ino = (__uint_least16_t *)old_bufp->page; -+ np = (__uint_least16_t *)new_bufp->page; -+ op = (__uint_least16_t *)old_bufp->page; - last_bfp = NULL; -- scopyto = (__uint16_t)copyto; /* ANSI */ -+ scopyto = (__uint_least16_t)copyto; /* ANSI */ - - n = ino[0] - 1; - while (n < ino[0]) { -@@ -310,16 +310,16 @@ - old_bufp = ret.oldp; - if (!old_bufp) - return (-1); -- op = (__uint16_t *)old_bufp->page; -+ op = (__uint_least16_t *)old_bufp->page; - new_bufp = ret.newp; - if (!new_bufp) - return (-1); -- np = (__uint16_t *)new_bufp->page; -+ np = (__uint_least16_t *)new_bufp->page; - bufp = ret.nextp; - if (!bufp) - return (0); - cino = (char *)bufp->page; -- ino = (__uint16_t *)cino; -+ ino = (__uint_least16_t *)cino; - last_bfp = ret.nextp; - } else if (ino[n + 1] == OVFLPAGE) { - ov_addr = ino[n]; -@@ -329,14 +329,14 @@ - */ - ino[0] -= (moved + 2); - FREESPACE(ino) = -- scopyto - sizeof(__uint16_t) * (ino[0] + 3); -+ scopyto - sizeof(__uint_least16_t) * (ino[0] + 3); - OFFSET(ino) = scopyto; - - bufp = __get_buf(hashp, ov_addr, bufp, 0); - if (!bufp) - return (-1); - -- ino = (__uint16_t *)bufp->page; -+ ino = (__uint_least16_t *)bufp->page; - n = 1; - scopyto = hashp->BSIZE; - moved = 0; -@@ -364,7 +364,7 @@ - __add_ovflpage(hashp, old_bufp); - if (!old_bufp) - return (-1); -- op = (__uint16_t *)old_bufp->page; -+ op = (__uint_least16_t *)old_bufp->page; - putpair((char *)op, &key, &val); - } - old_bufp->flags |= BUF_MOD; -@@ -377,7 +377,7 @@ - __add_ovflpage(hashp, new_bufp); - if (!new_bufp) - return (-1); -- np = (__uint16_t *)new_bufp->page; -+ np = (__uint_least16_t *)new_bufp->page; - putpair((char *)np, &key, &val); - } - new_bufp->flags |= BUF_MOD; -@@ -402,10 +402,10 @@ - BUFHEAD *bufp; - const DBT *key, *val; - { -- __uint16_t *bp, *sop; -+ __uint_least16_t *bp, *sop; - int do_expand; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - do_expand = 0; - while (bp[0] && (bp[2] < REAL_KEY || bp[bp[0]] < REAL_KEY)) - /* Exception case */ -@@ -417,7 +417,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } else - /* Try to squeeze key on this page */ - if (FREESPACE(bp) > PAIRSIZE(key, val)) { -@@ -427,7 +427,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } - - if (PAIRFITS(bp, key, val)) -@@ -437,7 +437,7 @@ - bufp = __add_ovflpage(hashp, bufp); - if (!bufp) - return (-1); -- sop = (__uint16_t *)bufp->page; -+ sop = (__uint_least16_t *)bufp->page; - - if (PAIRFITS(sop, key, val)) - putpair((char *)sop, key, val); -@@ -468,12 +468,12 @@ - HTAB *hashp; - BUFHEAD *bufp; - { -- __uint16_t *sp; -- __uint16_t ndx, ovfl_num; -+ __uint_least16_t *sp; -+ __uint_least16_t ndx, ovfl_num; - #ifdef DEBUG1 - int tmp1, tmp2; - #endif -- sp = (__uint16_t *)bufp->page; -+ sp = (__uint_least16_t *)bufp->page; - - /* Check if we are dynamically determining the fill factor */ - if (hashp->FFACTOR == DEF_FFACTOR) { -@@ -525,7 +525,7 @@ - { - int fd, page, size; - int rsize; -- __uint16_t *bp; -+ __uint_least16_t *bp; - - fd = hashp->fp; - size = hashp->BSIZE; -@@ -541,7 +541,7 @@ - if ((lseek(fd, (off_t)page << hashp->BSHIFT, SEEK_SET) == -1) || - ((rsize = read(fd, p, size)) == -1)) - return (-1); -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - if (!rsize) - bp[0] = 0; /* We hit the EOF, so initialize a new page */ - else -@@ -600,9 +600,9 @@ - for (i = 0; i < max; i++) - M_32_SWAP(((int *)p)[i]); - } else { -- max = ((__uint16_t *)p)[0] + 2; -+ max = ((__uint_least16_t *)p)[0] + 2; - for (i = 0; i <= max; i++) -- M_16_SWAP(((__uint16_t *)p)[i]); -+ M_16_SWAP(((__uint_least16_t *)p)[i]); - } - } - if (is_bucket) -@@ -643,7 +643,7 @@ - hashp->BSIZE - clearbytes); - ip[clearints - 1] = ALL_SET << (nbits & BYTE_MASK); - SETBIT(ip, 0); -- hashp->BITMAPS[ndx] = (__uint16_t)pnum; -+ hashp->BITMAPS[ndx] = (__uint_least16_t)pnum; - hashp->mapp[ndx] = ip; - return (0); - } -@@ -663,13 +663,13 @@ - return (i); - } - --static __uint16_t -+static __uint_least16_t - overflow_page(hashp) - HTAB *hashp; - { - __uint32_t *freep; - int max_free, offset, splitnum; -- __uint16_t addr; -+ __uint_least16_t addr; - int bit, first_page, free_bit, free_page, i, in_use_bits, j; - #ifdef DEBUG2 - int tmp1, tmp2; -@@ -816,16 +816,16 @@ - HTAB *hashp; - BUFHEAD *obufp; - { -- __uint16_t addr; -+ __uint_least16_t addr; - __uint32_t *freep; - int bit_address, free_page, free_bit; -- __uint16_t ndx; -+ __uint_least16_t ndx; - - addr = obufp->addr; - #ifdef DEBUG1 - (void)fprintf(stderr, "Freeing %d\n", addr); - #endif -- ndx = (((__uint16_t)addr) >> SPLITSHIFT); -+ ndx = (((__uint_least16_t)addr) >> SPLITSHIFT); - bit_address = - (ndx ? hashp->SPARES[ndx - 1] : 0) + (addr & SPLITMASK) - 1; - if (bit_address < hashp->LAST_FREED) -@@ -883,11 +883,11 @@ - */ - static void - squeeze_key(sp, key, val) -- __uint16_t *sp; -+ __uint_least16_t *sp; - const DBT *key, *val; - { - char *p; -- __uint16_t free_space, n, off, pageno; -+ __uint_least16_t free_space, n, off, pageno; - - p = (char *)sp; - n = sp[0]; -diff -uNr newlib-1.15.0.orig/newlib/libc/search/page.h newlib-1.15.0/newlib/libc/search/page.h ---- newlib-1.15.0.orig/newlib/libc/search/page.h 2002-06-20 21:51:31.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/page.h 2007-04-13 10:41:47.000000000 +0200 -@@ -74,20 +74,20 @@ - * You might as well do this up front. - */ - --#define PAIRSIZE(K,D) (2*sizeof(__uint16_t) + (K)->size + (D)->size) --#define BIGOVERHEAD (4*sizeof(__uint16_t)) --#define KEYSIZE(K) (4*sizeof(__uint16_t) + (K)->size); --#define OVFLSIZE (2*sizeof(__uint16_t)) -+#define PAIRSIZE(K,D) (2*sizeof(__uint_least16_t) + (K)->size + (D)->size) -+#define BIGOVERHEAD (4*sizeof(__uint_least16_t)) -+#define KEYSIZE(K) (4*sizeof(__uint_least16_t) + (K)->size); -+#define OVFLSIZE (2*sizeof(__uint_least16_t)) - #define FREESPACE(P) ((P)[(P)[0]+1]) - #define OFFSET(P) ((P)[(P)[0]+2]) - #define PAIRFITS(P,K,D) \ - (((P)[2] >= REAL_KEY) && \ - (PAIRSIZE((K),(D)) + OVFLSIZE) <= FREESPACE((P))) --#define PAGE_META(N) (((N)+3) * sizeof(__uint16_t)) -+#define PAGE_META(N) (((N)+3) * sizeof(__uint_least16_t)) - - typedef struct { - BUFHEAD *newp; - BUFHEAD *oldp; - BUFHEAD *nextp; -- __uint16_t next_addr; -+ __uint_least16_t next_addr; - } SPLIT_RETURN; -diff -uNr newlib-1.15.0.orig/newlib/libc/sys/rtems/machine/stdint.h newlib-1.15.0/newlib/libc/sys/rtems/machine/stdint.h ---- newlib-1.15.0.orig/newlib/libc/sys/rtems/machine/stdint.h 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.15.0/newlib/libc/sys/rtems/machine/stdint.h 2007-04-13 10:41:47.000000000 +0200 -@@ -0,0 +1,31 @@ -+/* -+ * -+ */ -+#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 -+ -+#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 -uNr newlib-1.15.0.orig/newlib/libc/sys/rtems/sys/param.h newlib-1.15.0/newlib/libc/sys/rtems/sys/param.h ---- newlib-1.15.0.orig/newlib/libc/sys/rtems/sys/param.h 2004-05-07 22:29:24.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/sys/rtems/sys/param.h 2007-04-13 10:41:47.000000000 +0200 -@@ -93,7 +93,6 @@ - #include - #include - #include --#include - - #ifndef FALSE - #define FALSE 0 -diff -uNr newlib-1.15.0.orig/newlib/Makefile.am newlib-1.15.0/newlib/Makefile.am ---- newlib-1.15.0.orig/newlib/Makefile.am 2006-06-05 19:42:57.000000000 +0200 -+++ newlib-1.15.0/newlib/Makefile.am 2007-04-13 10:41:47.000000000 +0200 -@@ -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 -uNr newlib-1.15.0.orig/newlib/Makefile.in newlib-1.15.0/newlib/Makefile.in ---- newlib-1.15.0.orig/newlib/Makefile.in 2006-12-18 21:32:41.000000000 +0100 -+++ newlib-1.15.0/newlib/Makefile.in 2007-04-13 10:41:47.000000000 +0200 -@@ -103,7 +103,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) -@@ -205,12 +205,7 @@ - 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_CC = @ac_ct_CC@ --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@ -@@ -226,12 +221,16 @@ - build_os = @build_os@ - build_vendor = @build_vendor@ - datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ - exec_prefix = @exec_prefix@ - host = @host@ - host_alias = @host_alias@ - host_cpu = @host_cpu@ - host_os = @host_os@ - host_vendor = @host_vendor@ -+htmldir = @htmldir@ - includedir = @includedir@ - infodir = @infodir@ - install_sh = @install_sh@ -@@ -240,6 +239,7 @@ - libdir = @libdir@ - libexecdir = @libexecdir@ - libm_machine_dir = @libm_machine_dir@ -+localedir = @localedir@ - localstatedir = @localstatedir@ - lpfx = @lpfx@ - machine_dir = @machine_dir@ -@@ -248,8 +248,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@ - subdirs = @subdirs@ -@@ -323,7 +325,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 -@@ -382,7 +384,7 @@ - - # dejagnu support - RUNTESTFLAGS = --all: newlib.h -+all: $(BUILT_SOURCES) newlib.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - - .SUFFIXES: -@@ -687,14 +689,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 -@@ -719,6 +723,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 \ -@@ -837,8 +842,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 --git a/contrib/crossrpms/patches/newlib-1.15.0-rtems4.8-20070912.diff b/contrib/crossrpms/patches/newlib-1.15.0-rtems4.8-20070912.diff deleted file mode 100644 index 8c3754f35b..0000000000 --- a/contrib/crossrpms/patches/newlib-1.15.0-rtems4.8-20070912.diff +++ /dev/null @@ -1,1626 +0,0 @@ -diff -uNr newlib-1.15.0.orig/newlib/libc/include/inttypes.h newlib-1.15.0/newlib/libc/include/inttypes.h ---- newlib-1.15.0.orig/newlib/libc/include/inttypes.h 2005-12-16 20:03:12.000000000 +0100 -+++ newlib-1.15.0/newlib/libc/include/inttypes.h 2007-09-13 03:11:09.000000000 +0200 -@@ -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 -uNr newlib-1.15.0.orig/newlib/libc/include/machine/setjmp.h newlib-1.15.0/newlib/libc/include/machine/setjmp.h ---- newlib-1.15.0.orig/newlib/libc/include/machine/setjmp.h 2006-12-18 17:48:03.000000000 +0100 -+++ newlib-1.15.0/newlib/libc/include/machine/setjmp.h 2007-09-13 03:11:09.000000000 +0200 -@@ -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 -uNr newlib-1.15.0.orig/newlib/libc/include/stdint.h newlib-1.15.0/newlib/libc/include/stdint.h ---- newlib-1.15.0.orig/newlib/libc/include/stdint.h 2006-08-16 23:39:43.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/include/stdint.h 2007-09-13 03:11:09.000000000 +0200 -@@ -393,6 +393,9 @@ - #define UINTMAX_C(x) x##UL - #endif - -+#ifdef __rtems__ -+#include -+#endif - - #ifdef __cplusplus - } -diff -uNr newlib-1.15.0.orig/newlib/libc/include/sys/errno.h newlib-1.15.0/newlib/libc/include/sys/errno.h ---- newlib-1.15.0.orig/newlib/libc/include/sys/errno.h 2002-09-24 16:10:12.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/include/sys/errno.h 2007-09-13 03:11:09.000000000 +0200 -@@ -148,6 +148,7 @@ - #define ECASECLASH 137 /* Filename exists with different case */ - #define EILSEQ 138 - #define EOVERFLOW 139 /* Value too large for defined data type */ -+#define ECANCELED 140 /* Operation canceled. */ - - /* From cygwin32. */ - #define EWOULDBLOCK EAGAIN /* Operation would block */ -diff -uNr newlib-1.15.0.orig/newlib/libc/include/sys/features.h newlib-1.15.0/newlib/libc/include/sys/features.h ---- newlib-1.15.0.orig/newlib/libc/include/sys/features.h 2006-09-14 00:09:27.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/include/sys/features.h 2007-09-13 03:11:09.000000000 +0200 -@@ -38,6 +38,7 @@ - #define _POSIX_MEMLOCK_RANGE 1 - #define _POSIX_MEMORY_PROTECTION 1 - #define _POSIX_MESSAGE_PASSING 1 -+#define _POSIX_MONOTONIC_CLOCK 200112L - #define _POSIX_PRIORITIZED_IO 1 - #define _POSIX_PRIORITY_SCHEDULING 1 - #define _POSIX_REALTIME_SIGNALS 1 -@@ -81,17 +82,89 @@ - #endif - - #ifdef __CYGWIN__ --# define _POSIX_JOB_CONTROL 1 --# define _POSIX_SAVED_IDS 0 --# define _POSIX_VERSION 199009L --# define _POSIX_THREADS 1 --# define _POSIX_THREAD_PROCESS_SHARED 1 --# define _POSIX_THREAD_SAFE_FUNCTIONS 1 --# define _POSIX_THREAD_PRIORITY_SCHEDULING 1 --# define _POSIX_THREAD_ATTR_STACKSIZE 1 --# define _POSIX_SEMAPHORES 1 --# define _POSIX_TIMERS 1 --# define _POSIX_MEMLOCK_RANGE 1 -+#define _POSIX_VERSION 200112L -+#define _POSIX2_VERSION 200112L -+#define _XOPEN_VERSION 600 -+ -+#define _POSIX_ADVISORY_INFO 200112L -+/* #define _POSIX_ASYNCHRONOUS_IO -1 */ -+/* #define _POSIX_BARRIERS -1 */ -+#define _POSIX_CHOWN_RESTRICTED 1 -+/* #define _POSIX_CLOCK_SELECTION -1 */ -+/* #define _POSIX_CPUTIME -1 */ -+#define _POSIX_FSYNC 200112L -+#define _POSIX_IPV6 200112L -+#define _POSIX_JOB_CONTROL 1 -+#define _POSIX_MAPPED_FILES 200112L -+/* #define _POSIX_MEMLOCK -1 */ -+#define _POSIX_MEMLOCK_RANGE 200112L -+#define _POSIX_MEMORY_PROTECTION 200112L -+/* #define _POSIX_MESSAGE_PASSING -1 */ -+/* #define _POSIX_MONOTONIC_CLOCK -1 */ -+#define _POSIX_NO_TRUNC 1 -+/* #define _POSIX_PRIORITIZED_IO -1 */ -+#define _POSIX_PRIORITY_SCHEDULING 200112L -+#define _POSIX_RAW_SOCKETS 200112L -+#define _POSIX_READER_WRITER_LOCKS 200112L -+#define _POSIX_REALTIME_SIGNALS 200112L -+#define _POSIX_REGEXP 1 -+#define _POSIX_SAVED_IDS 1 -+#define _POSIX_SEMAPHORES 1 -+/* #define _POSIX_SHARED_MEMORY_OBJECTS -1 */ -+#define _POSIX_SHELL 1 -+/* #define _POSIX_SPAWN -1 */ -+/* #define _POSIX_SPIN_LOCKS -1 */ -+/* #define _POSIX_SPORADIC_SERVER -1 */ -+#define _POSIX_SYNCHRONIZED_IO 200112L -+/* #define _POSIX_THREAD_ATTR_STACKADDR -1 */ -+#define _POSIX_THREAD_ATTR_STACKSIZE 200112L -+/* #define _POSIX_THREAD_CPUTIME -1 */ -+/* #define _POSIX_THREAD_PRIO_INHERIT -1 */ -+/* #define _POSIX_THREAD_PRIO_PROTECT -1 */ -+#define _POSIX_THREAD_PRIORITY_SCHEDULING 200112L -+#define _POSIX_THREAD_PROCESS_SHARED 200112L -+#define _POSIX_THREAD_SAFE_FUNCTIONS 200112L -+/* #define _POSIX_THREAD_SPORADIC_SERVER -1 */ -+#define _POSIX_THREADS 200112L -+/* #define _POSIX_TIMEOUTS -1 */ -+#define _POSIX_TIMERS 1 -+/* #define _POSIX_TRACE -1 */ -+/* #define _POSIX_TRACE_EVENT_FILTER -1 */ -+/* #define _POSIX_TRACE_INHERIT -1 */ -+/* #define _POSIX_TRACE_LOG -1 */ -+/* #define _POSIX_TYPED_MEMORY_OBJECTS -1 */ -+#define _POSIX_VDISABLE '\0' -+#define _POSIX2_C_BIND 200112L -+#define _POSIX2_C_DEV 200112L -+#define _POSIX2_CHAR_TERM 200112L -+/* #define _POSIX2_FORT_DEV -1 */ -+/* #define _POSIX2_FORT_RUN -1 */ -+/* #define _POSIX2_LOCALEDEF -1 */ -+/* #define _POSIX2_PBS -1 */ -+/* #define _POSIX2_PBS_ACCOUNTING -1 */ -+/* #define _POSIX2_PBS_CHECKPOINT -1 */ -+/* #define _POSIX2_PBS_LOCATE -1 */ -+/* #define _POSIX2_PBS_MESSAGE -1 */ -+/* #define _POSIX2_PBS_TRACK -1 */ -+#define _POSIX2_SW_DEV 200112L -+#define _POSIX2_UPE 200112L -+/* #define _POSIX_V6_ILP32_OFF32 -1 */ -+#define _XBS5_ILP32_OFF32 _POSIX_V6_ILP32_OFF32 -+#define _POSIX_V6_ILP32_OFFBIG 1 -+#define _XBS5_ILP32_OFFBIG _POSIX_V6_ILP32_OFFBIG -+/* #define _POSIX_V6_LP64_OFF64 -1 */ -+#define _XBS5_LP64_OFF64 _POSIX_V6_LP64_OFF64 -+/* #define _POSIX_V6_LPBIG_OFFBIG -1 */ -+#define _XBS5_LPBIG_OFFBIG _POSIX_V6_LPBIG_OFFBIG -+#define _XOPEN_CRYPT 1 -+#define _XOPEN_ENH_I18N 1 -+/* #define _XOPEN_LEGACY -1 */ -+/* #define _XOPEN_REALTIME -1 */ -+/* #define _XOPEN_REALTIME_THREADS -1 */ -+#define _XOPEN_SHM 1 -+/* #define _XOPEN_STREAMS -1 */ -+/* #define _XOPEN_UNIX -1 */ -+ - #endif - - #ifdef __cplusplus -diff -uNr newlib-1.15.0.orig/newlib/libc/include/sys/_types.h newlib-1.15.0/newlib/libc/include/sys/_types.h ---- newlib-1.15.0.orig/newlib/libc/include/sys/_types.h 2004-06-11 22:37:09.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/include/sys/_types.h 2007-09-13 03:11:09.000000000 +0200 -@@ -39,4 +39,7 @@ - /* Iconv descriptor type */ - typedef void *_iconv_t; - -+typedef long * __intptr_t; -+typedef unsigned long* __uintptr_t; -+ - #endif /* _SYS__TYPES_H */ -diff -uNr newlib-1.15.0.orig/newlib/libc/include/sys/unistd.h newlib-1.15.0/newlib/libc/include/sys/unistd.h ---- newlib-1.15.0.orig/newlib/libc/include/sys/unistd.h 2006-11-07 16:33:40.000000000 +0100 -+++ newlib-1.15.0/newlib/libc/include/sys/unistd.h 2007-09-13 03:11:09.000000000 +0200 -@@ -200,7 +200,7 @@ - int _EXFUN(getdtablesize, (void)); - int _EXFUN(setdtablesize, (int)); - useconds_t _EXFUN(ualarm, (useconds_t __useconds, useconds_t __interval)); --unsigned _EXFUN(usleep, (unsigned int __useconds)); -+int _EXFUN(usleep, (useconds_t __useconds)); - #if !(defined (_WINSOCK_H) || defined (__USE_W32_SOCKETS)) - /* winsock[2].h defines as __stdcall, and with int as 2nd arg */ - int _EXFUN(gethostname, (char *__name, size_t __len)); -@@ -212,7 +212,7 @@ - int _EXFUN(sync, (void)); - #endif - #endif --int _EXFUN(readlink, (const char *__path, char *__buf, int __buflen)); -+ssize_t _EXFUN(readlink, (const char *__path, char *__buf, size_t __buflen)); - int _EXFUN(symlink, (const char *__name1, const char *__name2)); - - #define F_OK 0 -@@ -231,63 +231,55 @@ - #define STDERR_FILENO 2 /* standard error file descriptor */ - - /* -- * 4.8.1 Get Configurable System Variables, P1003.1b-1993, p. 96 -- * -- * NOTE: Table 4-2, Configurable System Variables, p. 96 -- */ -- --#define _SC_ARG_MAX 0 --#define _SC_CHILD_MAX 1 --#define _SC_CLK_TCK 2 --#define _SC_NGROUPS_MAX 3 --#define _SC_OPEN_MAX 4 -- /* no _SC_STREAM_MAX */ --#define _SC_JOB_CONTROL 5 --#define _SC_SAVED_IDS 6 --#define _SC_VERSION 7 --#define _SC_PAGESIZE 8 --/* CYGWIN-specific values .. do not touch */ --#define _SC_NPROCESSORS_CONF 9 --#define _SC_NPROCESSORS_ONLN 10 --#define _SC_PHYS_PAGES 11 --#define _SC_AVPHYS_PAGES 12 --/* end of CYGWIN-specific values */ --#define _SC_MQ_OPEN_MAX 13 --#define _SC_MQ_PRIO_MAX 14 --#define _SC_RTSIG_MAX 15 --#define _SC_SEM_NSEMS_MAX 16 --#define _SC_SEM_VALUE_MAX 17 --#define _SC_SIGQUEUE_MAX 18 --#define _SC_TIMER_MAX 19 --#define _SC_TZNAME_MAX 20 -- --#define _SC_ASYNCHRONOUS_IO 21 --#define _SC_FSYNC 22 --#define _SC_MAPPED_FILES 23 --#define _SC_MEMLOCK 24 --#define _SC_MEMLOCK_RANGE 25 --#define _SC_MEMORY_PROTECTION 26 --#define _SC_MESSAGE_PASSING 27 --#define _SC_PRIORITIZED_IO 28 --#define _SC_REALTIME_SIGNALS 29 --#define _SC_SEMAPHORES 30 --#define _SC_SHARED_MEMORY_OBJECTS 31 --#define _SC_SYNCHRONIZED_IO 32 --#define _SC_TIMERS 33 --#define _SC_AIO_LISTIO_MAX 34 --#define _SC_AIO_MAX 35 --#define _SC_AIO_PRIO_DELTA_MAX 36 --#define _SC_DELAYTIMER_MAX 37 -- --/* -- * P1003.1c/D10, p. 52 adds the following. -+ * sysconf values per IEEE Std 1003.1, 2004 Edition - */ - -+#define _SC_ARG_MAX 0 -+#define _SC_CHILD_MAX 1 -+#define _SC_CLK_TCK 2 -+#define _SC_NGROUPS_MAX 3 -+#define _SC_OPEN_MAX 4 -+#define _SC_JOB_CONTROL 5 -+#define _SC_SAVED_IDS 6 -+#define _SC_VERSION 7 -+#define _SC_PAGESIZE 8 -+#define _SC_PAGE_SIZE _SC_PAGESIZE -+/* These are non-POSIX values we accidentally introduced in 2000 without -+ guarding them. Keeping them unguarded for backward compatibility. */ -+#define _SC_NPROCESSORS_CONF 9 -+#define _SC_NPROCESSORS_ONLN 10 -+#define _SC_PHYS_PAGES 11 -+#define _SC_AVPHYS_PAGES 12 -+/* End of non-POSIX values. */ -+#define _SC_MQ_OPEN_MAX 13 -+#define _SC_MQ_PRIO_MAX 14 -+#define _SC_RTSIG_MAX 15 -+#define _SC_SEM_NSEMS_MAX 16 -+#define _SC_SEM_VALUE_MAX 17 -+#define _SC_SIGQUEUE_MAX 18 -+#define _SC_TIMER_MAX 19 -+#define _SC_TZNAME_MAX 20 -+#define _SC_ASYNCHRONOUS_IO 21 -+#define _SC_FSYNC 22 -+#define _SC_MAPPED_FILES 23 -+#define _SC_MEMLOCK 24 -+#define _SC_MEMLOCK_RANGE 25 -+#define _SC_MEMORY_PROTECTION 26 -+#define _SC_MESSAGE_PASSING 27 -+#define _SC_PRIORITIZED_IO 28 -+#define _SC_REALTIME_SIGNALS 29 -+#define _SC_SEMAPHORES 30 -+#define _SC_SHARED_MEMORY_OBJECTS 31 -+#define _SC_SYNCHRONIZED_IO 32 -+#define _SC_TIMERS 33 -+#define _SC_AIO_LISTIO_MAX 34 -+#define _SC_AIO_MAX 35 -+#define _SC_AIO_PRIO_DELTA_MAX 36 -+#define _SC_DELAYTIMER_MAX 37 - #define _SC_THREAD_KEYS_MAX 38 - #define _SC_THREAD_STACK_MIN 39 - #define _SC_THREAD_THREADS_MAX 40 - #define _SC_TTY_NAME_MAX 41 -- - #define _SC_THREADS 42 - #define _SC_THREAD_ATTR_STACKADDR 43 - #define _SC_THREAD_ATTR_STACKSIZE 44 -@@ -302,34 +294,99 @@ - #define _SC_GETPW_R_SIZE_MAX 51 - #define _SC_LOGIN_NAME_MAX 52 - #define _SC_THREAD_DESTRUCTOR_ITERATIONS 53 -- --#if !defined(__rtems__) --#define _SC_STREAM_MAX 100 --#endif --#if !defined(__CYGWIN__) && !defined(__rtems__) --#define _SC_PRIORITY_SCHEDULING 101 --#endif -- --# define _PC_LINK_MAX 0 --# define _PC_MAX_CANON 1 --# define _PC_MAX_INPUT 2 --# define _PC_NAME_MAX 3 --# define _PC_PATH_MAX 4 --# define _PC_PIPE_BUF 5 --# define _PC_CHOWN_RESTRICTED 6 --# define _PC_NO_TRUNC 7 --# define _PC_VDISABLE 8 --# define _PC_ASYNC_IO 9 --# define _PC_PRIO_IO 10 --# define _PC_SYNC_IO 11 --# define _PC_FILESIZEBITS 12 --# define _PC_2_SYMLINKS 13 --# define _PC_SYMLINK_MAX 14 -+#define _SC_ADVISORY_INFO 54 -+#define _SC_ATEXIT_MAX 55 -+#define _SC_BARRIERS 56 -+#define _SC_BC_BASE_MAX 57 -+#define _SC_BC_DIM_MAX 58 -+#define _SC_BC_SCALE_MAX 59 -+#define _SC_BC_STRING_MAX 60 -+#define _SC_CLOCK_SELECTION 61 -+#define _SC_COLL_WEIGHTS_MAX 62 -+#define _SC_CPUTIME 63 -+#define _SC_EXPR_NEST_MAX 64 -+#define _SC_HOST_NAME_MAX 65 -+#define _SC_IOV_MAX 66 -+#define _SC_IPV6 67 -+#define _SC_LINE_MAX 68 -+#define _SC_MONOTONIC_CLOCK 69 -+#define _SC_RAW_SOCKETS 70 -+#define _SC_READER_WRITER_LOCKS 71 -+#define _SC_REGEXP 72 -+#define _SC_RE_DUP_MAX 73 -+#define _SC_SHELL 74 -+#define _SC_SPAWN 75 -+#define _SC_SPIN_LOCKS 76 -+#define _SC_SPORADIC_SERVER 77 -+#define _SC_SS_REPL_MAX 78 -+#define _SC_SYMLOOP_MAX 79 -+#define _SC_THREAD_CPUTIME 80 -+#define _SC_THREAD_SPORADIC_SERVER 81 -+#define _SC_TIMEOUTS 82 -+#define _SC_TRACE 83 -+#define _SC_TRACE_EVENT_FILTER 84 -+#define _SC_TRACE_EVENT_NAME_MAX 85 -+#define _SC_TRACE_INHERIT 86 -+#define _SC_TRACE_LOG 87 -+#define _SC_TRACE_NAME_MAX 88 -+#define _SC_TRACE_SYS_MAX 89 -+#define _SC_TRACE_USER_EVENT_MAX 90 -+#define _SC_TYPED_MEMORY_OBJECTS 91 -+#define _SC_V6_ILP32_OFF32 92 -+#define _SC_XBS5_ILP32_OFF32 _SC_V6_ILP32_OFF32 -+#define _SC_V6_ILP32_OFFBIG 93 -+#define _SC_XBS5_ILP32_OFFBIG _SC_V6_ILP32_OFFBIG -+#define _SC_V6_LP64_OFF64 94 -+#define _SC_XBS5_LP64_OFF64 _SC_V6_LP64_OFF64 -+#define _SC_V6_LPBIG_OFFBIG 95 -+#define _SC_XBS5_LPBIG_OFFBIG _SC_V6_LPBIG_OFFBIG -+#define _SC_XOPEN_CRYPT 96 -+#define _SC_XOPEN_ENH_I18N 97 -+#define _SC_XOPEN_LEGACY 98 -+#define _SC_XOPEN_REALTIME 99 -+#define _SC_STREAM_MAX 100 -+#define _SC_PRIORITY_SCHEDULING 101 -+#define _SC_XOPEN_REALTIME_THREADS 102 -+#define _SC_XOPEN_SHM 103 -+#define _SC_XOPEN_STREAMS 104 -+#define _SC_XOPEN_UNIX 105 -+#define _SC_XOPEN_VERSION 106 -+#define _SC_2_CHAR_TERM 107 -+#define _SC_2_C_BIND 108 -+#define _SC_2_C_DEV 109 -+#define _SC_2_FORT_DEV 110 -+#define _SC_2_FORT_RUN 111 -+#define _SC_2_LOCALEDEF 112 -+#define _SC_2_PBS 113 -+#define _SC_2_PBS_ACCOUNTING 114 -+#define _SC_2_PBS_CHECKPOINT 115 -+#define _SC_2_PBS_LOCATE 116 -+#define _SC_2_PBS_MESSAGE 117 -+#define _SC_2_PBS_TRACK 118 -+#define _SC_2_SW_DEV 119 -+#define _SC_2_UPE 120 -+#define _SC_2_VERSION 121 -+ -+#define _PC_LINK_MAX 0 -+#define _PC_MAX_CANON 1 -+#define _PC_MAX_INPUT 2 -+#define _PC_NAME_MAX 3 -+#define _PC_PATH_MAX 4 -+#define _PC_PIPE_BUF 5 -+#define _PC_CHOWN_RESTRICTED 6 -+#define _PC_NO_TRUNC 7 -+#define _PC_VDISABLE 8 -+#define _PC_ASYNC_IO 9 -+#define _PC_PRIO_IO 10 -+#define _PC_SYNC_IO 11 -+#define _PC_FILESIZEBITS 12 -+#define _PC_2_SYMLINKS 13 -+#define _PC_SYMLINK_MAX 14 - #ifdef __CYGWIN__ - /* Ask for POSIX permission bits support. */ --# define _PC_POSIX_PERMISSIONS 90 -+#define _PC_POSIX_PERMISSIONS 90 - /* Ask for full POSIX permission support including uid/gid settings. */ --# define _PC_POSIX_SECURITY 91 -+#define _PC_POSIX_SECURITY 91 - #endif - - /* FIXME: This is temporary until winsup gets sorted out. */ -diff -uNr newlib-1.15.0.orig/newlib/libc/include/tar.h newlib-1.15.0/newlib/libc/include/tar.h ---- newlib-1.15.0.orig/newlib/libc/include/tar.h 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.15.0/newlib/libc/include/tar.h 2007-09-13 03:11:09.000000000 +0200 -@@ -0,0 +1,39 @@ -+/* -+ * tar.h -+ */ -+ -+#ifndef _TAR_H -+#define _TAR_H -+ -+/* General definitions */ -+#define TMAGIC "ustar" /* ustar plus null byte. */ -+#define TMAGLEN 6 /* Length of the above. */ -+#define TVERSION "00" /* 00 without a null byte. */ -+#define TVERSLEN 2 /* Length of the above. */ -+ -+/* Typeflag field definitions */ -+#define REGTYPE '0' /* Regular file. */ -+#define AREGTYPE '\0' /* Regular file. */ -+#define LNKTYPE '1' /* Link. */ -+#define SYMTYPE '2' /* Symbolic link. */ -+#define CHRTYPE '3' /* Character special. */ -+#define BLKTYPE '4' /* Block special. */ -+#define DIRTYPE '5' /* Directory. */ -+#define FIFOTYPE '6' /* FIFO special. */ -+#define CONTTYPE '7' /* Reserved. */ -+ -+/* Mode field bit definitions (octal) */ -+#define TSUID 04000 /* Set UID on execution. */ -+#define TSGID 02000 /* Set GID on execution. */ -+#define TSVTX 01000 /* On directories, restricted deletion flag. */ -+#define TUREAD 00400 /* Read by owner. */ -+#define TUWRITE 00200 /* Write by owner. */ -+#define TUEXEC 00100 /* Execute/search by owner. */ -+#define TGREAD 00040 /* Read by group. */ -+#define TGWRITE 00020 /* Write by group. */ -+#define TGEXEC 00010 /* Execute/search by group. */ -+#define TOREAD 00004 /* Read by other. */ -+#define TOWRITE 00002 /* Write by other. */ -+#define TOEXEC 00001 /* Execute/search by other. */ -+ -+#endif -diff -uNr newlib-1.15.0.orig/newlib/libc/include/time.h newlib-1.15.0/newlib/libc/include/time.h ---- newlib-1.15.0.orig/newlib/libc/include/time.h 2005-11-18 16:57:24.000000000 +0100 -+++ newlib-1.15.0/newlib/libc/include/time.h 2007-09-13 03:11:09.000000000 +0200 -@@ -226,6 +226,16 @@ - - #endif - -+#if defined(_POSIX_MONOTONIC_CLOCK) -+ -+/* The identifier for the system-wide monotonic clock, which is defined -+ as a clock whose value cannot be set via clock_settime() and which -+ cannot have backward clock jumps. */ -+ -+#define CLOCK_MONOTONIC (clockid_t)4 -+ -+#endif -+ - #if defined(_POSIX_CPUTIME) - - /* Accessing a Process CPU-time CLock, P1003.4b/D8, p. 55 */ -diff -uNr newlib-1.15.0.orig/newlib/libc/machine/arm/machine/endian.h newlib-1.15.0/newlib/libc/machine/arm/machine/endian.h ---- newlib-1.15.0.orig/newlib/libc/machine/arm/machine/endian.h 2004-05-07 22:29:24.000000000 +0200 -+++ newlib-1.15.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 -uNr newlib-1.15.0.orig/newlib/libc/machine/powerpc/setjmp.S newlib-1.15.0/newlib/libc/machine/powerpc/setjmp.S ---- newlib-1.15.0.orig/newlib/libc/machine/powerpc/setjmp.S 2002-04-19 21:16:17.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/machine/powerpc/setjmp.S 2007-09-13 03:11:09.000000000 +0200 -@@ -5,13 +5,14 @@ - #include "ppc-asm.h" - - FUNC_START(setjmp) --#ifdef __ALTIVEC__ -- addi 3,3,15 # align Altivec to 16 byte boundary -+ mfmsr 4 -+ rlwinm. 4,4,0,6,6 # check MSR_VE -+ addi 3,3,7 -+ rlwinm 3,3,0,0,28 # align to 8 byte boundary -+ beq 1f -+ addi 3,3,15 # VE is enabled; align to 16 byte bdry - rlwinm 3,3,0,0,27 --#else -- addi 3,3,7 # align to 8 byte boundary -- rlwinm 3,3,0,0,28 --#endif -+1: - stw 1,0(3) # offset 0 - stwu 2,4(3) # offset 4 - stwu 13,4(3) # offset 8 -@@ -39,6 +40,12 @@ - stwu 4,4(3) # offset 88 - # one word pad to get floating point aligned on 8 byte boundary - #ifndef _SOFT_FLOAT -+ mfmsr 4 -+ rlwinm. 4,4,0,18,18 -+ bne 1f # only save FPregs if FPU is enabled -+ addi 3,3,18*8 # skip FPregs -+ b 2f -+1: - stfdu 14,8(3) # offset 96 - stfdu 15,8(3) # offset 104 - stfdu 16,8(3) # offset 112 -@@ -57,12 +64,20 @@ - stfdu 29,8(3) # offset 216 - stfdu 30,8(3) # offset 224 - stfdu 31,8(3) # offset 232 -+2: - #endif - - /* This requires a total of 21 * 4 + 18 * 8 + 4 + 4 + 4 - bytes == 60 * 4 bytes == 240 bytes. */ - --#ifdef __ALTIVEC__ -+#if defined(__ALTIVEC__) -+ /* could reuse r4 but I reload it just in case the code changes... */ -+ mfmsr 4 -+ rlwinm. 4,4,0,6,6 # check MSR_VE -+ bne 1f # only save vector regs if altivec is enabled -+ addi 3,3,(8 + 12*16) # skip vector regs -+ b 2f -+1: - /* save Altivec vrsave and vr20-vr31 registers */ - mfspr 4,256 # vrsave register - stwu 4,16(3) # offset 248 -@@ -90,6 +105,7 @@ - stvx 30,0,3 # offset 416 - addi 3,3,16 - stvx 31,0,3 # offset 432 -+2: - - /* This requires a total of 240 + 8 + 8 + 12 * 16 == 448 bytes. */ - #endif -@@ -99,13 +115,14 @@ - - - FUNC_START(longjmp) --#ifdef __ALTIVEC__ -- addi 3,3,15 # align Altivec to 16 byte boundary -+ mfmsr 4 -+ rlwinm. 4,4,0,6,6 # check MSR_VE -+ addi 3,3,7 -+ rlwinm 3,3,0,0,28 # align to 8 byte boundary -+ beq 1f -+ addi 3,3,15 # VE is enabled; align to 16 byte bdry - rlwinm 3,3,0,0,27 --#else -- addi 3,3,7 # align to 8 byte boundary -- rlwinm 3,3,0,0,28 --#endif -+1: - lwz 1,0(3) # offset 0 - lwzu 2,4(3) # offset 4 - lwzu 13,4(3) # offset 8 -@@ -129,10 +146,17 @@ - lwzu 31,4(3) # offset 80 - lwzu 5,4(3) # offset 84 - mtlr 5 -+#if !defined(_SOFT_FLOAT) -+ mfmsr 5 -+ rlwinm. 5,5,0,18,18 # is MSR_FP set? -+#endif - lwzu 5,4(3) # offset 88 -- mtcrf 255,5 - # one word pad to get floating point aligned on 8 byte boundary - #ifndef _SOFT_FLOAT -+ bne 1f -+ addi 3,3,18*8 # skip FPregs -+ b 2f -+1: - lfdu 14,8(3) # offset 96 - lfdu 15,8(3) # offset 104 - lfdu 16,8(3) # offset 112 -@@ -151,9 +175,17 @@ - lfdu 29,8(3) # offset 216 - lfdu 30,8(3) # offset 224 - lfdu 31,8(3) # offset 232 -+2: - #endif -+ mtcrf 255,5 - --#ifdef __ALTIVEC__ -+#if defined(__ALTIVEC__) -+ mfmsr 5 -+ rlwinm. 5,5,0,6,6 # is MSR_FP set? -+ bne 1f -+ addi 3,3,(8+12*16) # skip vector regs -+ b 2f -+1: - /* restore Altivec vrsave and v20-v31 registers */ - lwzu 5,16(3) # offset 248 - mtspr 256,5 # vrsave -@@ -181,6 +213,7 @@ - lvx 30,0,3 # offset 416 - addi 3,3,16 - lvx 31,0,3 # offset 432 -+2: - #endif - - mr. 3,4 -diff -uNr newlib-1.15.0.orig/newlib/libc/search/db_local.h newlib-1.15.0/newlib/libc/search/db_local.h ---- newlib-1.15.0.orig/newlib/libc/search/db_local.h 2002-06-25 01:05:08.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/db_local.h 2007-09-13 03:11:09.000000000 +0200 -@@ -50,7 +50,7 @@ - #define MAX_PAGE_NUMBER 0xffffffff /* >= # of pages in a file */ - typedef __uint32_t pgno_t; - #define MAX_PAGE_OFFSET 65535 /* >= # of bytes in a page */ --typedef __uint16_t indx_t; -+typedef __uint_least16_t indx_t; - #define MAX_REC_NUMBER 0xffffffff /* >= # of records in a tree */ - typedef __uint32_t recno_t; - -@@ -191,12 +191,12 @@ - * P_16_COPY swap from one location to another - */ - #define M_16_SWAP(a) { \ -- __uint16_t _tmp = a; \ -+ __uint_least16_t _tmp = a; \ - ((char *)&a)[0] = ((char *)&_tmp)[1]; \ - ((char *)&a)[1] = ((char *)&_tmp)[0]; \ - } - #define P_16_SWAP(a) { \ -- __uint16_t _tmp = *(__uint16_t *)a; \ -+ __uint_least16_t _tmp = *(__uint_least16_t *)a; \ - ((char *)a)[0] = ((char *)&_tmp)[1]; \ - ((char *)a)[1] = ((char *)&_tmp)[0]; \ - } -diff -uNr newlib-1.15.0.orig/newlib/libc/search/extern.h newlib-1.15.0/newlib/libc/search/extern.h ---- newlib-1.15.0.orig/newlib/libc/search/extern.h 2002-06-20 21:51:31.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/extern.h 2007-09-13 03:11:09.000000000 +0200 -@@ -48,7 +48,7 @@ - int __delpair(HTAB *, BUFHEAD *, int); - int __expand_table(HTAB *); - int __find_bigpair(HTAB *, BUFHEAD *, int, char *, int); --__uint16_t __find_last_page(HTAB *, BUFHEAD **); -+__uint_least16_t __find_last_page(HTAB *, BUFHEAD **); - void __free_ovflpage(HTAB *, BUFHEAD *); - BUFHEAD *__get_buf(HTAB *, __uint32_t, BUFHEAD *, int); - int __get_page(HTAB *, char *, __uint32_t, int, int, int); -diff -uNr newlib-1.15.0.orig/newlib/libc/search/hash_bigkey.c newlib-1.15.0/newlib/libc/search/hash_bigkey.c ---- newlib-1.15.0.orig/newlib/libc/search/hash_bigkey.c 2006-06-07 21:22:59.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/hash_bigkey.c 2007-09-13 03:11:09.000000000 +0200 -@@ -92,13 +92,13 @@ - BUFHEAD *bufp; - const DBT *key, *val; - { -- __uint16_t *p; -+ __uint_least16_t *p; - int key_size, n, val_size; -- __uint16_t space, move_bytes, off; -+ __uint_least16_t space, move_bytes, off; - char *cp, *key_data, *val_data; - - cp = bufp->page; /* Character pointer of p. */ -- p = (__uint16_t *)cp; -+ p = (__uint_least16_t *)cp; - - key_data = (char *)key->data; - key_size = key->size; -@@ -136,7 +136,7 @@ - OFFSET(p) = off; - } else - p[n - 2] = FULL_KEY; -- p = (__uint16_t *)bufp->page; -+ p = (__uint_least16_t *)bufp->page; - cp = bufp->page; - bufp->flags |= BUF_MOD; - } -@@ -166,7 +166,7 @@ - if (!bufp) - return (-1); - cp = bufp->page; -- p = (__uint16_t *)cp; -+ p = (__uint_least16_t *)cp; - } else - p[n] = FULL_KEY_DATA; - bufp->flags |= BUF_MOD; -@@ -191,12 +191,12 @@ - BUFHEAD *bufp; - { - BUFHEAD *last_bfp, *rbufp; -- __uint16_t *bp, pageno; -+ __uint_least16_t *bp, pageno; - int key_done, n; - - rbufp = bufp; - last_bfp = NULL; -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - pageno = 0; - key_done = 0; - -@@ -219,7 +219,7 @@ - last_bfp = rbufp; - if (!rbufp) - return (-1); /* Error. */ -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - } - - /* -@@ -234,7 +234,7 @@ - pageno = bp[n - 1]; - - /* Now, bp is the first page of the pair. */ -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - if (n > 2) { - /* There is an overflow page. */ - bp[1] = pageno; -@@ -272,13 +272,13 @@ - char *key; - int size; - { -- __uint16_t *bp; -+ __uint_least16_t *bp; - char *p; - int ksize; -- __uint16_t bytes; -+ __uint_least16_t bytes; - char *kkey; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - p = bufp->page; - ksize = size; - kkey = key; -@@ -294,7 +294,7 @@ - if (!bufp) - return (-3); - p = bufp->page; -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - ndx = 1; - } - -@@ -316,17 +316,17 @@ - * of the pair; 0 if there isn't any (i.e. big pair is the last key in the - * bucket) - */ --extern __uint16_t -+extern __uint_least16_t - __find_last_page(hashp, bpp) - HTAB *hashp; - BUFHEAD **bpp; - { - BUFHEAD *bufp; -- __uint16_t *bp, pageno; -+ __uint_least16_t *bp, pageno; - int n; - - bufp = *bpp; -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - for (;;) { - n = bp[0]; - -@@ -343,7 +343,7 @@ - bufp = __get_buf(hashp, pageno, bufp, 0); - if (!bufp) - return (0); /* Need to indicate an error! */ -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } - - *bpp = bufp; -@@ -366,15 +366,15 @@ - int set_current; - { - BUFHEAD *save_p; -- __uint16_t *bp, len, off, save_addr; -+ __uint_least16_t *bp, len, off, save_addr; - char *tp; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - while (bp[ndx + 1] == PARTIAL_KEY) { - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - ndx = 1; - } - -@@ -382,7 +382,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - save_p = bufp; - save_addr = save_p->addr; - off = bp[1]; -@@ -403,7 +403,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } else { - /* The data is all on one page. */ - tp = (char *)bp; -@@ -422,7 +422,7 @@ - if (!hashp->cpage) - return (-1); - hashp->cndx = 1; -- if (!((__uint16_t *) -+ if (!((__uint_least16_t *) - hashp->cpage->page)[0]) { - hashp->cbucket++; - hashp->cpage = NULL; -@@ -454,14 +454,14 @@ - BUFHEAD *bufp; - int len, set; - { -- __uint16_t *bp; -+ __uint_least16_t *bp; - char *p; - BUFHEAD *xbp; -- __uint16_t save_addr; -+ __uint_least16_t save_addr; - int mylen, totlen; - - p = bufp->page; -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - mylen = hashp->BSIZE - bp[1]; - save_addr = bufp->addr; - -@@ -481,7 +481,7 @@ - __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!hashp->cpage) - return (-1); -- else if (!((__uint16_t *)hashp->cpage->page)[0]) { -+ else if (!((__uint_least16_t *)hashp->cpage->page)[0]) { - hashp->cbucket++; - hashp->cpage = NULL; - } -@@ -533,10 +533,10 @@ - BUFHEAD *xbp; - char *p; - int mylen, totlen; -- __uint16_t *bp, save_addr; -+ __uint_least16_t *bp, save_addr; - - p = bufp->page; -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - mylen = hashp->BSIZE - bp[1]; - - save_addr = bufp->addr; -@@ -579,11 +579,11 @@ - SPLIT_RETURN *ret; - { - BUFHEAD *tmpp; -- __uint16_t *tp; -+ __uint_least16_t *tp; - BUFHEAD *bp; - DBT key, val; - __uint32_t change; -- __uint16_t free_space, n, off; -+ __uint_least16_t free_space, n, off; - - bp = big_keyp; - -@@ -615,14 +615,14 @@ - (tmpp->ovfl ? tmpp->ovfl->addr : 0), (bp ? bp->addr : 0)); - #endif - tmpp->ovfl = bp; /* one of op/np point to big_keyp */ -- tp = (__uint16_t *)tmpp->page; -+ tp = (__uint_least16_t *)tmpp->page; - #ifdef DEBUG - assert(FREESPACE(tp) >= OVFLSIZE); - #endif - n = tp[0]; - off = OFFSET(tp); - free_space = FREESPACE(tp); -- tp[++n] = (__uint16_t)addr; -+ tp[++n] = (__uint_least16_t)addr; - tp[++n] = OVFLPAGE; - tp[0] = n; - OFFSET(tp) = off; -@@ -638,7 +638,7 @@ - ret->newp = np; - ret->oldp = op; - -- tp = (__uint16_t *)big_keyp->page; -+ tp = (__uint_least16_t *)big_keyp->page; - big_keyp->flags |= BUF_MOD; - if (tp[0] > 2) { - /* -diff -uNr newlib-1.15.0.orig/newlib/libc/search/hash_buf.c newlib-1.15.0/newlib/libc/search/hash_buf.c ---- newlib-1.15.0.orig/newlib/libc/search/hash_buf.c 2004-05-26 19:57:10.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/hash_buf.c 2007-09-13 03:11:09.000000000 +0200 -@@ -176,7 +176,7 @@ - BUFHEAD *next_xbp; - SEGMENT segp; - int segment_ndx; -- __uint16_t oaddr, *shortp; -+ __uint_least16_t oaddr, *shortp; - - oaddr = 0; - bp = LRU; -@@ -212,7 +212,7 @@ - * Set oaddr before __put_page so that you get it - * before bytes are swapped. - */ -- shortp = (__uint16_t *)bp->page; -+ shortp = (__uint_least16_t *)bp->page; - if (shortp[0]) - oaddr = shortp[shortp[0] - 1]; - if ((bp->flags & BUF_MOD) && __put_page(hashp, bp->page, -@@ -255,7 +255,7 @@ - (oaddr != xbp->addr)) - break; - -- shortp = (__uint16_t *)xbp->page; -+ shortp = (__uint_least16_t *)xbp->page; - if (shortp[0]) - /* set before __put_page */ - oaddr = shortp[shortp[0] - 1]; -diff -uNr newlib-1.15.0.orig/newlib/libc/search/hash.c newlib-1.15.0/newlib/libc/search/hash.c ---- newlib-1.15.0.orig/newlib/libc/search/hash.c 2004-05-26 19:57:10.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/hash.c 2007-09-13 03:11:09.000000000 +0200 -@@ -628,10 +628,10 @@ - { - BUFHEAD *rbufp; - BUFHEAD *bufp, *save_bufp; -- __uint16_t *bp; -+ __uint_least16_t *bp; - int n, ndx, off, size; - char *kp; -- __uint16_t pageno; -+ __uint_least16_t pageno; - - #ifdef HASH_STATISTICS - hash_accesses++; -@@ -647,7 +647,7 @@ - - /* Pin the bucket chain */ - rbufp->flags |= BUF_PIN; -- for (bp = (__uint16_t *)rbufp->page, n = *bp++, ndx = 1; ndx < n;) -+ for (bp = (__uint_least16_t *)rbufp->page, n = *bp++, ndx = 1; ndx < n;) - if (bp[1] >= REAL_KEY) { - /* Real key/data pair */ - if (size == off - *bp && -@@ -666,7 +666,7 @@ - return (ERROR); - } - /* FOR LOOP INIT */ -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - n = *bp++; - ndx = 1; - off = hashp->BSIZE; -@@ -688,7 +688,7 @@ - return (ERROR); - } - /* FOR LOOP INIT */ -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - n = *bp++; - ndx = 1; - off = hashp->BSIZE; -@@ -722,7 +722,7 @@ - save_bufp->flags &= ~BUF_PIN; - return (ABNORMAL); - case HASH_GET: -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - if (bp[ndx + 1] < REAL_KEY) { - if (__big_return(hashp, rbufp, ndx, val, 0)) - return (ERROR); -@@ -758,7 +758,7 @@ - __uint32_t bucket; - BUFHEAD *bufp; - HTAB *hashp; -- __uint16_t *bp, ndx; -+ __uint_least16_t *bp, ndx; - - hashp = (HTAB *)dbp->internal; - if (flag && flag != R_FIRST && flag != R_NEXT) { -@@ -783,7 +783,7 @@ - if (!bufp) - return (ERROR); - hashp->cpage = bufp; -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - if (bp[0]) - break; - } -@@ -793,7 +793,7 @@ - return (ABNORMAL); - } - } else -- bp = (__uint16_t *)hashp->cpage->page; -+ bp = (__uint_least16_t *)hashp->cpage->page; - - #ifdef DEBUG - assert(bp); -@@ -804,7 +804,7 @@ - __get_buf(hashp, bp[hashp->cndx], bufp, 0); - if (!bufp) - return (ERROR); -- bp = (__uint16_t *)(bufp->page); -+ bp = (__uint_least16_t *)(bufp->page); - hashp->cndx = 1; - } - if (!bp[0]) { -diff -uNr newlib-1.15.0.orig/newlib/libc/search/hash.h newlib-1.15.0/newlib/libc/search/hash.h ---- newlib-1.15.0.orig/newlib/libc/search/hash.h 2002-07-02 20:18:58.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/hash.h 2007-09-13 03:11:09.000000000 +0200 -@@ -102,7 +102,7 @@ - #define NCACHED 32 /* number of bit maps and spare - * points */ - int spares[NCACHED];/* spare pages for overflow */ -- __uint16_t bitmaps[NCACHED]; /* address of overflow page -+ __uint_least16_t bitmaps[NCACHED]; /* address of overflow page - * bitmaps */ - } HASHHDR; - -diff -uNr newlib-1.15.0.orig/newlib/libc/search/hash_page.c newlib-1.15.0/newlib/libc/search/hash_page.c ---- newlib-1.15.0.orig/newlib/libc/search/hash_page.c 2002-09-19 23:28:51.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/hash_page.c 2007-09-13 03:11:09.000000000 +0200 -@@ -77,16 +77,16 @@ - static __uint32_t *fetch_bitmap(HTAB *, int); - static __uint32_t first_free(__uint32_t); - static int open_temp(HTAB *); --static __uint16_t overflow_page(HTAB *); -+static __uint_least16_t overflow_page(HTAB *); - static void putpair(char *, const DBT *, const DBT *); --static void squeeze_key(__uint16_t *, const DBT *, const DBT *); -+static void squeeze_key(__uint_least16_t *, const DBT *, const DBT *); - static int ugly_split - (HTAB *, __uint32_t, BUFHEAD *, BUFHEAD *, int, int); - - #define PAGE_INIT(P) { \ -- ((__uint16_t *)(P))[0] = 0; \ -- ((__uint16_t *)(P))[1] = hashp->BSIZE - 3 * sizeof(__uint16_t); \ -- ((__uint16_t *)(P))[2] = hashp->BSIZE; \ -+ ((__uint_least16_t *)(P))[0] = 0; \ -+ ((__uint_least16_t *)(P))[1] = hashp->BSIZE - 3 * sizeof(__uint_least16_t); \ -+ ((__uint_least16_t *)(P))[2] = hashp->BSIZE; \ - } - - /* -@@ -99,9 +99,9 @@ - char *p; - const DBT *key, *val; - { -- __uint16_t *bp, n, off; -+ __uint_least16_t *bp, n, off; - -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - - /* Enter the key first. */ - n = bp[0]; -@@ -117,7 +117,7 @@ - - /* Adjust page info. */ - bp[0] = n; -- bp[n + 1] = off - ((n + 3) * sizeof(__uint16_t)); -+ bp[n + 1] = off - ((n + 3) * sizeof(__uint_least16_t)); - bp[n + 2] = off; - } - -@@ -132,11 +132,11 @@ - BUFHEAD *bufp; - int ndx; - { -- __uint16_t *bp, newoff; -+ __uint_least16_t *bp, newoff; - int n; -- __uint16_t pairlen; -+ __uint_least16_t pairlen; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - n = bp[0]; - - if (bp[ndx + 1] < REAL_KEY) -@@ -167,7 +167,7 @@ - } - /* Finally adjust the page data */ - bp[n] = OFFSET(bp) + pairlen; -- bp[n - 1] = bp[n + 1] + pairlen + 2 * sizeof(__uint16_t); -+ bp[n - 1] = bp[n + 1] + pairlen + 2 * sizeof(__uint_least16_t); - bp[0] = n - 2; - hashp->NKEYS--; - -@@ -185,15 +185,15 @@ - __uint32_t obucket, nbucket; - { - BUFHEAD *new_bufp, *old_bufp; -- __uint16_t *ino; -+ __uint_least16_t *ino; - char *np; - DBT key, val; - int n, ndx, retval; -- __uint16_t copyto, diff, off, moved; -+ __uint_least16_t copyto, diff, off, moved; - char *op; - -- copyto = (__uint16_t)hashp->BSIZE; -- off = (__uint16_t)hashp->BSIZE; -+ copyto = (__uint_least16_t)hashp->BSIZE; -+ off = (__uint_least16_t)hashp->BSIZE; - old_bufp = __get_buf(hashp, obucket, NULL, 0); - if (old_bufp == NULL) - return (-1); -@@ -204,7 +204,7 @@ - old_bufp->flags |= (BUF_MOD | BUF_PIN); - new_bufp->flags |= (BUF_MOD | BUF_PIN); - -- ino = (__uint16_t *)(op = old_bufp->page); -+ ino = (__uint_least16_t *)(op = old_bufp->page); - np = new_bufp->page; - - moved = 0; -@@ -246,13 +246,13 @@ - - /* Now clean up the page */ - ino[0] -= moved; -- FREESPACE(ino) = copyto - sizeof(__uint16_t) * (ino[0] + 3); -+ FREESPACE(ino) = copyto - sizeof(__uint_least16_t) * (ino[0] + 3); - OFFSET(ino) = copyto; - - #ifdef DEBUG3 - (void)fprintf(stderr, "split %d/%d\n", -- ((__uint16_t *)np)[0] / 2, -- ((__uint16_t *)op)[0] / 2); -+ ((__uint_least16_t *)np)[0] / 2, -+ ((__uint_least16_t *)op)[0] / 2); - #endif - /* unpin both pages */ - old_bufp->flags &= ~BUF_PIN; -@@ -284,22 +284,22 @@ - int moved; /* Number of pairs moved to new page. */ - { - BUFHEAD *bufp; /* Buffer header for ino */ -- __uint16_t *ino; /* Page keys come off of */ -- __uint16_t *np; /* New page */ -- __uint16_t *op; /* Page keys go on to if they aren't moving */ -+ __uint_least16_t *ino; /* Page keys come off of */ -+ __uint_least16_t *np; /* New page */ -+ __uint_least16_t *op; /* Page keys go on to if they aren't moving */ - - BUFHEAD *last_bfp; /* Last buf header OVFL needing to be freed */ - DBT key, val; - SPLIT_RETURN ret; -- __uint16_t n, off, ov_addr, scopyto; -+ __uint_least16_t n, off, ov_addr, scopyto; - char *cino; /* Character value of ino */ - - bufp = old_bufp; -- ino = (__uint16_t *)old_bufp->page; -- np = (__uint16_t *)new_bufp->page; -- op = (__uint16_t *)old_bufp->page; -+ ino = (__uint_least16_t *)old_bufp->page; -+ np = (__uint_least16_t *)new_bufp->page; -+ op = (__uint_least16_t *)old_bufp->page; - last_bfp = NULL; -- scopyto = (__uint16_t)copyto; /* ANSI */ -+ scopyto = (__uint_least16_t)copyto; /* ANSI */ - - n = ino[0] - 1; - while (n < ino[0]) { -@@ -310,16 +310,16 @@ - old_bufp = ret.oldp; - if (!old_bufp) - return (-1); -- op = (__uint16_t *)old_bufp->page; -+ op = (__uint_least16_t *)old_bufp->page; - new_bufp = ret.newp; - if (!new_bufp) - return (-1); -- np = (__uint16_t *)new_bufp->page; -+ np = (__uint_least16_t *)new_bufp->page; - bufp = ret.nextp; - if (!bufp) - return (0); - cino = (char *)bufp->page; -- ino = (__uint16_t *)cino; -+ ino = (__uint_least16_t *)cino; - last_bfp = ret.nextp; - } else if (ino[n + 1] == OVFLPAGE) { - ov_addr = ino[n]; -@@ -329,14 +329,14 @@ - */ - ino[0] -= (moved + 2); - FREESPACE(ino) = -- scopyto - sizeof(__uint16_t) * (ino[0] + 3); -+ scopyto - sizeof(__uint_least16_t) * (ino[0] + 3); - OFFSET(ino) = scopyto; - - bufp = __get_buf(hashp, ov_addr, bufp, 0); - if (!bufp) - return (-1); - -- ino = (__uint16_t *)bufp->page; -+ ino = (__uint_least16_t *)bufp->page; - n = 1; - scopyto = hashp->BSIZE; - moved = 0; -@@ -364,7 +364,7 @@ - __add_ovflpage(hashp, old_bufp); - if (!old_bufp) - return (-1); -- op = (__uint16_t *)old_bufp->page; -+ op = (__uint_least16_t *)old_bufp->page; - putpair((char *)op, &key, &val); - } - old_bufp->flags |= BUF_MOD; -@@ -377,7 +377,7 @@ - __add_ovflpage(hashp, new_bufp); - if (!new_bufp) - return (-1); -- np = (__uint16_t *)new_bufp->page; -+ np = (__uint_least16_t *)new_bufp->page; - putpair((char *)np, &key, &val); - } - new_bufp->flags |= BUF_MOD; -@@ -402,10 +402,10 @@ - BUFHEAD *bufp; - const DBT *key, *val; - { -- __uint16_t *bp, *sop; -+ __uint_least16_t *bp, *sop; - int do_expand; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - do_expand = 0; - while (bp[0] && (bp[2] < REAL_KEY || bp[bp[0]] < REAL_KEY)) - /* Exception case */ -@@ -417,7 +417,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } else - /* Try to squeeze key on this page */ - if (FREESPACE(bp) > PAIRSIZE(key, val)) { -@@ -427,7 +427,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } - - if (PAIRFITS(bp, key, val)) -@@ -437,7 +437,7 @@ - bufp = __add_ovflpage(hashp, bufp); - if (!bufp) - return (-1); -- sop = (__uint16_t *)bufp->page; -+ sop = (__uint_least16_t *)bufp->page; - - if (PAIRFITS(sop, key, val)) - putpair((char *)sop, key, val); -@@ -468,12 +468,12 @@ - HTAB *hashp; - BUFHEAD *bufp; - { -- __uint16_t *sp; -- __uint16_t ndx, ovfl_num; -+ __uint_least16_t *sp; -+ __uint_least16_t ndx, ovfl_num; - #ifdef DEBUG1 - int tmp1, tmp2; - #endif -- sp = (__uint16_t *)bufp->page; -+ sp = (__uint_least16_t *)bufp->page; - - /* Check if we are dynamically determining the fill factor */ - if (hashp->FFACTOR == DEF_FFACTOR) { -@@ -525,7 +525,7 @@ - { - int fd, page, size; - int rsize; -- __uint16_t *bp; -+ __uint_least16_t *bp; - - fd = hashp->fp; - size = hashp->BSIZE; -@@ -541,7 +541,7 @@ - if ((lseek(fd, (off_t)page << hashp->BSHIFT, SEEK_SET) == -1) || - ((rsize = read(fd, p, size)) == -1)) - return (-1); -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - if (!rsize) - bp[0] = 0; /* We hit the EOF, so initialize a new page */ - else -@@ -600,9 +600,9 @@ - for (i = 0; i < max; i++) - M_32_SWAP(((int *)p)[i]); - } else { -- max = ((__uint16_t *)p)[0] + 2; -+ max = ((__uint_least16_t *)p)[0] + 2; - for (i = 0; i <= max; i++) -- M_16_SWAP(((__uint16_t *)p)[i]); -+ M_16_SWAP(((__uint_least16_t *)p)[i]); - } - } - if (is_bucket) -@@ -643,7 +643,7 @@ - hashp->BSIZE - clearbytes); - ip[clearints - 1] = ALL_SET << (nbits & BYTE_MASK); - SETBIT(ip, 0); -- hashp->BITMAPS[ndx] = (__uint16_t)pnum; -+ hashp->BITMAPS[ndx] = (__uint_least16_t)pnum; - hashp->mapp[ndx] = ip; - return (0); - } -@@ -663,13 +663,13 @@ - return (i); - } - --static __uint16_t -+static __uint_least16_t - overflow_page(hashp) - HTAB *hashp; - { - __uint32_t *freep; - int max_free, offset, splitnum; -- __uint16_t addr; -+ __uint_least16_t addr; - int bit, first_page, free_bit, free_page, i, in_use_bits, j; - #ifdef DEBUG2 - int tmp1, tmp2; -@@ -816,16 +816,16 @@ - HTAB *hashp; - BUFHEAD *obufp; - { -- __uint16_t addr; -+ __uint_least16_t addr; - __uint32_t *freep; - int bit_address, free_page, free_bit; -- __uint16_t ndx; -+ __uint_least16_t ndx; - - addr = obufp->addr; - #ifdef DEBUG1 - (void)fprintf(stderr, "Freeing %d\n", addr); - #endif -- ndx = (((__uint16_t)addr) >> SPLITSHIFT); -+ ndx = (((__uint_least16_t)addr) >> SPLITSHIFT); - bit_address = - (ndx ? hashp->SPARES[ndx - 1] : 0) + (addr & SPLITMASK) - 1; - if (bit_address < hashp->LAST_FREED) -@@ -883,11 +883,11 @@ - */ - static void - squeeze_key(sp, key, val) -- __uint16_t *sp; -+ __uint_least16_t *sp; - const DBT *key, *val; - { - char *p; -- __uint16_t free_space, n, off, pageno; -+ __uint_least16_t free_space, n, off, pageno; - - p = (char *)sp; - n = sp[0]; -diff -uNr newlib-1.15.0.orig/newlib/libc/search/page.h newlib-1.15.0/newlib/libc/search/page.h ---- newlib-1.15.0.orig/newlib/libc/search/page.h 2002-06-20 21:51:31.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/search/page.h 2007-09-13 03:11:09.000000000 +0200 -@@ -74,20 +74,20 @@ - * You might as well do this up front. - */ - --#define PAIRSIZE(K,D) (2*sizeof(__uint16_t) + (K)->size + (D)->size) --#define BIGOVERHEAD (4*sizeof(__uint16_t)) --#define KEYSIZE(K) (4*sizeof(__uint16_t) + (K)->size); --#define OVFLSIZE (2*sizeof(__uint16_t)) -+#define PAIRSIZE(K,D) (2*sizeof(__uint_least16_t) + (K)->size + (D)->size) -+#define BIGOVERHEAD (4*sizeof(__uint_least16_t)) -+#define KEYSIZE(K) (4*sizeof(__uint_least16_t) + (K)->size); -+#define OVFLSIZE (2*sizeof(__uint_least16_t)) - #define FREESPACE(P) ((P)[(P)[0]+1]) - #define OFFSET(P) ((P)[(P)[0]+2]) - #define PAIRFITS(P,K,D) \ - (((P)[2] >= REAL_KEY) && \ - (PAIRSIZE((K),(D)) + OVFLSIZE) <= FREESPACE((P))) --#define PAGE_META(N) (((N)+3) * sizeof(__uint16_t)) -+#define PAGE_META(N) (((N)+3) * sizeof(__uint_least16_t)) - - typedef struct { - BUFHEAD *newp; - BUFHEAD *oldp; - BUFHEAD *nextp; -- __uint16_t next_addr; -+ __uint_least16_t next_addr; - } SPLIT_RETURN; -diff -uNr newlib-1.15.0.orig/newlib/libc/sys/rtems/machine/stdint.h newlib-1.15.0/newlib/libc/sys/rtems/machine/stdint.h ---- newlib-1.15.0.orig/newlib/libc/sys/rtems/machine/stdint.h 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.15.0/newlib/libc/sys/rtems/machine/stdint.h 2007-09-13 03:11:09.000000000 +0200 -@@ -0,0 +1,31 @@ -+/* -+ * -+ */ -+#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 -+ -+#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 -uNr newlib-1.15.0.orig/newlib/libc/sys/rtems/sys/param.h newlib-1.15.0/newlib/libc/sys/rtems/sys/param.h ---- newlib-1.15.0.orig/newlib/libc/sys/rtems/sys/param.h 2004-05-07 22:29:24.000000000 +0200 -+++ newlib-1.15.0/newlib/libc/sys/rtems/sys/param.h 2007-09-13 03:11:09.000000000 +0200 -@@ -93,7 +93,6 @@ - #include - #include - #include --#include - - #ifndef FALSE - #define FALSE 0 -diff -uNr newlib-1.15.0.orig/newlib/Makefile.am newlib-1.15.0/newlib/Makefile.am ---- newlib-1.15.0.orig/newlib/Makefile.am 2006-06-05 19:42:57.000000000 +0200 -+++ newlib-1.15.0/newlib/Makefile.am 2007-09-13 03:11:09.000000000 +0200 -@@ -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 -uNr newlib-1.15.0.orig/newlib/Makefile.in newlib-1.15.0/newlib/Makefile.in ---- newlib-1.15.0.orig/newlib/Makefile.in 2006-12-18 21:32:41.000000000 +0100 -+++ newlib-1.15.0/newlib/Makefile.in 2007-09-13 03:11:09.000000000 +0200 -@@ -103,7 +103,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) -@@ -205,12 +205,7 @@ - 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_CC = @ac_ct_CC@ --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@ -@@ -226,12 +221,16 @@ - build_os = @build_os@ - build_vendor = @build_vendor@ - datadir = @datadir@ -+datarootdir = @datarootdir@ -+docdir = @docdir@ -+dvidir = @dvidir@ - exec_prefix = @exec_prefix@ - host = @host@ - host_alias = @host_alias@ - host_cpu = @host_cpu@ - host_os = @host_os@ - host_vendor = @host_vendor@ -+htmldir = @htmldir@ - includedir = @includedir@ - infodir = @infodir@ - install_sh = @install_sh@ -@@ -240,6 +239,7 @@ - libdir = @libdir@ - libexecdir = @libexecdir@ - libm_machine_dir = @libm_machine_dir@ -+localedir = @localedir@ - localstatedir = @localstatedir@ - lpfx = @lpfx@ - machine_dir = @machine_dir@ -@@ -248,8 +248,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@ - subdirs = @subdirs@ -@@ -323,7 +325,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 -@@ -382,7 +384,7 @@ - - # dejagnu support - RUNTESTFLAGS = --all: newlib.h -+all: $(BUILT_SOURCES) newlib.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - - .SUFFIXES: -@@ -687,14 +689,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 -@@ -719,6 +723,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 \ -@@ -837,8 +842,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 --git a/contrib/crossrpms/patches/newlib-1.16.0-rtems4.9-20071220.diff b/contrib/crossrpms/patches/newlib-1.16.0-rtems4.9-20071220.diff deleted file mode 100644 index d62ce1d814..0000000000 --- a/contrib/crossrpms/patches/newlib-1.16.0-rtems4.9-20071220.diff +++ /dev/null @@ -1,1054 +0,0 @@ -diff -uNr 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-16 20:03:12.000000000 +0100 -+++ newlib-1.16.0/newlib/libc/include/inttypes.h 2007-12-20 13:24:19.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 -uNr 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 2007-11-07 22:42:24.000000000 +0100 -+++ newlib-1.16.0/newlib/libc/include/machine/setjmp.h 2007-12-20 13:24:19.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 -uNr 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 2006-08-16 23:39:43.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/include/stdint.h 2007-12-20 13:24:19.000000000 +0100 -@@ -393,6 +393,9 @@ - #define UINTMAX_C(x) x##UL - #endif - -+#ifdef __rtems__ -+#include -+#endif - - #ifdef __cplusplus - } -diff -uNr 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 2007-12-19 19:51:19.000000000 +0100 -+++ newlib-1.16.0/newlib/libc/include/sys/features.h 2007-12-20 13:24:19.000000000 +0100 -@@ -38,6 +38,7 @@ - #define _POSIX_MEMLOCK_RANGE 1 - #define _POSIX_MEMORY_PROTECTION 1 - #define _POSIX_MESSAGE_PASSING 1 -+#define _POSIX_MONOTONIC_CLOCK 200112L - #define _POSIX_PRIORITIZED_IO 1 - #define _POSIX_PRIORITY_SCHEDULING 1 - #define _POSIX_REALTIME_SIGNALS 1 -diff -uNr 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-09-18 22:05:17.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/include/sys/_types.h 2007-12-20 13:24:19.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 -uNr newlib-1.16.0.orig/newlib/libc/include/sys/unistd.h newlib-1.16.0/newlib/libc/include/sys/unistd.h ---- newlib-1.16.0.orig/newlib/libc/include/sys/unistd.h 2007-11-08 17:20:12.000000000 +0100 -+++ newlib-1.16.0/newlib/libc/include/sys/unistd.h 2007-12-20 13:24:19.000000000 +0100 -@@ -219,13 +219,11 @@ - char * _EXFUN(mktemp, (char *)); - #endif - --#if defined(__CYGWIN__) || defined(__SPU__) -+#if defined(__CYGWIN__) || defined(__SPU__) || defined(__rtems__) - void _EXFUN(sync, (void)); --#elif defined(__rtems__) --int _EXFUN(sync, (void)); - #endif - --int _EXFUN(readlink, (const char *__path, char *__buf, int __buflen)); -+ssize_t _EXFUN(readlink, (const char *__path, char *__buf, size_t __buflen)); - int _EXFUN(symlink, (const char *__name1, const char *__name2)); - - #define F_OK 0 -diff -uNr newlib-1.16.0.orig/newlib/libc/include/time.h newlib-1.16.0/newlib/libc/include/time.h ---- newlib-1.16.0.orig/newlib/libc/include/time.h 2005-11-18 16:57:24.000000000 +0100 -+++ newlib-1.16.0/newlib/libc/include/time.h 2007-12-20 13:24:19.000000000 +0100 -@@ -226,6 +226,16 @@ - - #endif - -+#if defined(_POSIX_MONOTONIC_CLOCK) -+ -+/* The identifier for the system-wide monotonic clock, which is defined -+ as a clock whose value cannot be set via clock_settime() and which -+ cannot have backward clock jumps. */ -+ -+#define CLOCK_MONOTONIC (clockid_t)4 -+ -+#endif -+ - #if defined(_POSIX_CPUTIME) - - /* Accessing a Process CPU-time CLock, P1003.4b/D8, p. 55 */ -diff -uNr 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 -uNr newlib-1.16.0.orig/newlib/libc/search/db_local.h newlib-1.16.0/newlib/libc/search/db_local.h ---- newlib-1.16.0.orig/newlib/libc/search/db_local.h 2002-06-25 01:05:08.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/db_local.h 2007-12-20 13:24:19.000000000 +0100 -@@ -50,7 +50,7 @@ - #define MAX_PAGE_NUMBER 0xffffffff /* >= # of pages in a file */ - typedef __uint32_t pgno_t; - #define MAX_PAGE_OFFSET 65535 /* >= # of bytes in a page */ --typedef __uint16_t indx_t; -+typedef __uint_least16_t indx_t; - #define MAX_REC_NUMBER 0xffffffff /* >= # of records in a tree */ - typedef __uint32_t recno_t; - -@@ -191,12 +191,12 @@ - * P_16_COPY swap from one location to another - */ - #define M_16_SWAP(a) { \ -- __uint16_t _tmp = a; \ -+ __uint_least16_t _tmp = a; \ - ((char *)&a)[0] = ((char *)&_tmp)[1]; \ - ((char *)&a)[1] = ((char *)&_tmp)[0]; \ - } - #define P_16_SWAP(a) { \ -- __uint16_t _tmp = *(__uint16_t *)a; \ -+ __uint_least16_t _tmp = *(__uint_least16_t *)a; \ - ((char *)a)[0] = ((char *)&_tmp)[1]; \ - ((char *)a)[1] = ((char *)&_tmp)[0]; \ - } -diff -uNr newlib-1.16.0.orig/newlib/libc/search/extern.h newlib-1.16.0/newlib/libc/search/extern.h ---- newlib-1.16.0.orig/newlib/libc/search/extern.h 2002-06-20 21:51:31.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/extern.h 2007-12-20 13:24:19.000000000 +0100 -@@ -48,7 +48,7 @@ - int __delpair(HTAB *, BUFHEAD *, int); - int __expand_table(HTAB *); - int __find_bigpair(HTAB *, BUFHEAD *, int, char *, int); --__uint16_t __find_last_page(HTAB *, BUFHEAD **); -+__uint_least16_t __find_last_page(HTAB *, BUFHEAD **); - void __free_ovflpage(HTAB *, BUFHEAD *); - BUFHEAD *__get_buf(HTAB *, __uint32_t, BUFHEAD *, int); - int __get_page(HTAB *, char *, __uint32_t, int, int, int); -diff -uNr newlib-1.16.0.orig/newlib/libc/search/hash_bigkey.c newlib-1.16.0/newlib/libc/search/hash_bigkey.c ---- newlib-1.16.0.orig/newlib/libc/search/hash_bigkey.c 2006-06-07 21:22:59.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/hash_bigkey.c 2007-12-20 13:24:19.000000000 +0100 -@@ -92,13 +92,13 @@ - BUFHEAD *bufp; - const DBT *key, *val; - { -- __uint16_t *p; -+ __uint_least16_t *p; - int key_size, n, val_size; -- __uint16_t space, move_bytes, off; -+ __uint_least16_t space, move_bytes, off; - char *cp, *key_data, *val_data; - - cp = bufp->page; /* Character pointer of p. */ -- p = (__uint16_t *)cp; -+ p = (__uint_least16_t *)cp; - - key_data = (char *)key->data; - key_size = key->size; -@@ -136,7 +136,7 @@ - OFFSET(p) = off; - } else - p[n - 2] = FULL_KEY; -- p = (__uint16_t *)bufp->page; -+ p = (__uint_least16_t *)bufp->page; - cp = bufp->page; - bufp->flags |= BUF_MOD; - } -@@ -166,7 +166,7 @@ - if (!bufp) - return (-1); - cp = bufp->page; -- p = (__uint16_t *)cp; -+ p = (__uint_least16_t *)cp; - } else - p[n] = FULL_KEY_DATA; - bufp->flags |= BUF_MOD; -@@ -191,12 +191,12 @@ - BUFHEAD *bufp; - { - BUFHEAD *last_bfp, *rbufp; -- __uint16_t *bp, pageno; -+ __uint_least16_t *bp, pageno; - int key_done, n; - - rbufp = bufp; - last_bfp = NULL; -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - pageno = 0; - key_done = 0; - -@@ -219,7 +219,7 @@ - last_bfp = rbufp; - if (!rbufp) - return (-1); /* Error. */ -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - } - - /* -@@ -234,7 +234,7 @@ - pageno = bp[n - 1]; - - /* Now, bp is the first page of the pair. */ -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - if (n > 2) { - /* There is an overflow page. */ - bp[1] = pageno; -@@ -272,13 +272,13 @@ - char *key; - int size; - { -- __uint16_t *bp; -+ __uint_least16_t *bp; - char *p; - int ksize; -- __uint16_t bytes; -+ __uint_least16_t bytes; - char *kkey; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - p = bufp->page; - ksize = size; - kkey = key; -@@ -294,7 +294,7 @@ - if (!bufp) - return (-3); - p = bufp->page; -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - ndx = 1; - } - -@@ -316,17 +316,17 @@ - * of the pair; 0 if there isn't any (i.e. big pair is the last key in the - * bucket) - */ --extern __uint16_t -+extern __uint_least16_t - __find_last_page(hashp, bpp) - HTAB *hashp; - BUFHEAD **bpp; - { - BUFHEAD *bufp; -- __uint16_t *bp, pageno; -+ __uint_least16_t *bp, pageno; - int n; - - bufp = *bpp; -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - for (;;) { - n = bp[0]; - -@@ -343,7 +343,7 @@ - bufp = __get_buf(hashp, pageno, bufp, 0); - if (!bufp) - return (0); /* Need to indicate an error! */ -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } - - *bpp = bufp; -@@ -366,15 +366,15 @@ - int set_current; - { - BUFHEAD *save_p; -- __uint16_t *bp, len, off, save_addr; -+ __uint_least16_t *bp, len, off, save_addr; - char *tp; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - while (bp[ndx + 1] == PARTIAL_KEY) { - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - ndx = 1; - } - -@@ -382,7 +382,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - save_p = bufp; - save_addr = save_p->addr; - off = bp[1]; -@@ -403,7 +403,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } else { - /* The data is all on one page. */ - tp = (char *)bp; -@@ -422,7 +422,7 @@ - if (!hashp->cpage) - return (-1); - hashp->cndx = 1; -- if (!((__uint16_t *) -+ if (!((__uint_least16_t *) - hashp->cpage->page)[0]) { - hashp->cbucket++; - hashp->cpage = NULL; -@@ -454,14 +454,14 @@ - BUFHEAD *bufp; - int len, set; - { -- __uint16_t *bp; -+ __uint_least16_t *bp; - char *p; - BUFHEAD *xbp; -- __uint16_t save_addr; -+ __uint_least16_t save_addr; - int mylen, totlen; - - p = bufp->page; -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - mylen = hashp->BSIZE - bp[1]; - save_addr = bufp->addr; - -@@ -481,7 +481,7 @@ - __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!hashp->cpage) - return (-1); -- else if (!((__uint16_t *)hashp->cpage->page)[0]) { -+ else if (!((__uint_least16_t *)hashp->cpage->page)[0]) { - hashp->cbucket++; - hashp->cpage = NULL; - } -@@ -533,10 +533,10 @@ - BUFHEAD *xbp; - char *p; - int mylen, totlen; -- __uint16_t *bp, save_addr; -+ __uint_least16_t *bp, save_addr; - - p = bufp->page; -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - mylen = hashp->BSIZE - bp[1]; - - save_addr = bufp->addr; -@@ -579,11 +579,11 @@ - SPLIT_RETURN *ret; - { - BUFHEAD *tmpp; -- __uint16_t *tp; -+ __uint_least16_t *tp; - BUFHEAD *bp; - DBT key, val; - __uint32_t change; -- __uint16_t free_space, n, off; -+ __uint_least16_t free_space, n, off; - - bp = big_keyp; - -@@ -615,14 +615,14 @@ - (tmpp->ovfl ? tmpp->ovfl->addr : 0), (bp ? bp->addr : 0)); - #endif - tmpp->ovfl = bp; /* one of op/np point to big_keyp */ -- tp = (__uint16_t *)tmpp->page; -+ tp = (__uint_least16_t *)tmpp->page; - #ifdef DEBUG - assert(FREESPACE(tp) >= OVFLSIZE); - #endif - n = tp[0]; - off = OFFSET(tp); - free_space = FREESPACE(tp); -- tp[++n] = (__uint16_t)addr; -+ tp[++n] = (__uint_least16_t)addr; - tp[++n] = OVFLPAGE; - tp[0] = n; - OFFSET(tp) = off; -@@ -638,7 +638,7 @@ - ret->newp = np; - ret->oldp = op; - -- tp = (__uint16_t *)big_keyp->page; -+ tp = (__uint_least16_t *)big_keyp->page; - big_keyp->flags |= BUF_MOD; - if (tp[0] > 2) { - /* -diff -uNr newlib-1.16.0.orig/newlib/libc/search/hash_buf.c newlib-1.16.0/newlib/libc/search/hash_buf.c ---- newlib-1.16.0.orig/newlib/libc/search/hash_buf.c 2004-05-26 19:57:10.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/hash_buf.c 2007-12-20 13:24:19.000000000 +0100 -@@ -176,7 +176,7 @@ - BUFHEAD *next_xbp; - SEGMENT segp; - int segment_ndx; -- __uint16_t oaddr, *shortp; -+ __uint_least16_t oaddr, *shortp; - - oaddr = 0; - bp = LRU; -@@ -212,7 +212,7 @@ - * Set oaddr before __put_page so that you get it - * before bytes are swapped. - */ -- shortp = (__uint16_t *)bp->page; -+ shortp = (__uint_least16_t *)bp->page; - if (shortp[0]) - oaddr = shortp[shortp[0] - 1]; - if ((bp->flags & BUF_MOD) && __put_page(hashp, bp->page, -@@ -255,7 +255,7 @@ - (oaddr != xbp->addr)) - break; - -- shortp = (__uint16_t *)xbp->page; -+ shortp = (__uint_least16_t *)xbp->page; - if (shortp[0]) - /* set before __put_page */ - oaddr = shortp[shortp[0] - 1]; -diff -uNr newlib-1.16.0.orig/newlib/libc/search/hash.c newlib-1.16.0/newlib/libc/search/hash.c ---- newlib-1.16.0.orig/newlib/libc/search/hash.c 2007-05-16 21:31:08.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/hash.c 2007-12-20 13:24:19.000000000 +0100 -@@ -632,10 +632,10 @@ - { - BUFHEAD *rbufp; - BUFHEAD *bufp, *save_bufp; -- __uint16_t *bp; -+ __uint_least16_t *bp; - int n, ndx, off, size; - char *kp; -- __uint16_t pageno; -+ __uint_least16_t pageno; - - #ifdef HASH_STATISTICS - hash_accesses++; -@@ -651,7 +651,7 @@ - - /* Pin the bucket chain */ - rbufp->flags |= BUF_PIN; -- for (bp = (__uint16_t *)rbufp->page, n = *bp++, ndx = 1; ndx < n;) -+ for (bp = (__uint_least16_t *)rbufp->page, n = *bp++, ndx = 1; ndx < n;) - if (bp[1] >= REAL_KEY) { - /* Real key/data pair */ - if (size == off - *bp && -@@ -670,7 +670,7 @@ - return (ERROR); - } - /* FOR LOOP INIT */ -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - n = *bp++; - ndx = 1; - off = hashp->BSIZE; -@@ -692,7 +692,7 @@ - return (ERROR); - } - /* FOR LOOP INIT */ -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - n = *bp++; - ndx = 1; - off = hashp->BSIZE; -@@ -726,7 +726,7 @@ - save_bufp->flags &= ~BUF_PIN; - return (ABNORMAL); - case HASH_GET: -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - if (bp[ndx + 1] < REAL_KEY) { - if (__big_return(hashp, rbufp, ndx, val, 0)) - return (ERROR); -@@ -762,7 +762,7 @@ - __uint32_t bucket; - BUFHEAD *bufp; - HTAB *hashp; -- __uint16_t *bp, ndx; -+ __uint_least16_t *bp, ndx; - - hashp = (HTAB *)dbp->internal; - if (flag && flag != R_FIRST && flag != R_NEXT) { -@@ -787,7 +787,7 @@ - if (!bufp) - return (ERROR); - hashp->cpage = bufp; -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - if (bp[0]) - break; - } -@@ -797,7 +797,7 @@ - return (ABNORMAL); - } - } else -- bp = (__uint16_t *)hashp->cpage->page; -+ bp = (__uint_least16_t *)hashp->cpage->page; - - #ifdef DEBUG - assert(bp); -@@ -808,7 +808,7 @@ - __get_buf(hashp, bp[hashp->cndx], bufp, 0); - if (!bufp) - return (ERROR); -- bp = (__uint16_t *)(bufp->page); -+ bp = (__uint_least16_t *)(bufp->page); - hashp->cndx = 1; - } - if (!bp[0]) { -diff -uNr newlib-1.16.0.orig/newlib/libc/search/hash.h newlib-1.16.0/newlib/libc/search/hash.h ---- newlib-1.16.0.orig/newlib/libc/search/hash.h 2002-07-02 20:18:58.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/hash.h 2007-12-20 13:24:19.000000000 +0100 -@@ -102,7 +102,7 @@ - #define NCACHED 32 /* number of bit maps and spare - * points */ - int spares[NCACHED];/* spare pages for overflow */ -- __uint16_t bitmaps[NCACHED]; /* address of overflow page -+ __uint_least16_t bitmaps[NCACHED]; /* address of overflow page - * bitmaps */ - } HASHHDR; - -diff -uNr newlib-1.16.0.orig/newlib/libc/search/hash_page.c newlib-1.16.0/newlib/libc/search/hash_page.c ---- newlib-1.16.0.orig/newlib/libc/search/hash_page.c 2002-09-19 23:28:51.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/hash_page.c 2007-12-20 13:24:19.000000000 +0100 -@@ -77,16 +77,16 @@ - static __uint32_t *fetch_bitmap(HTAB *, int); - static __uint32_t first_free(__uint32_t); - static int open_temp(HTAB *); --static __uint16_t overflow_page(HTAB *); -+static __uint_least16_t overflow_page(HTAB *); - static void putpair(char *, const DBT *, const DBT *); --static void squeeze_key(__uint16_t *, const DBT *, const DBT *); -+static void squeeze_key(__uint_least16_t *, const DBT *, const DBT *); - static int ugly_split - (HTAB *, __uint32_t, BUFHEAD *, BUFHEAD *, int, int); - - #define PAGE_INIT(P) { \ -- ((__uint16_t *)(P))[0] = 0; \ -- ((__uint16_t *)(P))[1] = hashp->BSIZE - 3 * sizeof(__uint16_t); \ -- ((__uint16_t *)(P))[2] = hashp->BSIZE; \ -+ ((__uint_least16_t *)(P))[0] = 0; \ -+ ((__uint_least16_t *)(P))[1] = hashp->BSIZE - 3 * sizeof(__uint_least16_t); \ -+ ((__uint_least16_t *)(P))[2] = hashp->BSIZE; \ - } - - /* -@@ -99,9 +99,9 @@ - char *p; - const DBT *key, *val; - { -- __uint16_t *bp, n, off; -+ __uint_least16_t *bp, n, off; - -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - - /* Enter the key first. */ - n = bp[0]; -@@ -117,7 +117,7 @@ - - /* Adjust page info. */ - bp[0] = n; -- bp[n + 1] = off - ((n + 3) * sizeof(__uint16_t)); -+ bp[n + 1] = off - ((n + 3) * sizeof(__uint_least16_t)); - bp[n + 2] = off; - } - -@@ -132,11 +132,11 @@ - BUFHEAD *bufp; - int ndx; - { -- __uint16_t *bp, newoff; -+ __uint_least16_t *bp, newoff; - int n; -- __uint16_t pairlen; -+ __uint_least16_t pairlen; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - n = bp[0]; - - if (bp[ndx + 1] < REAL_KEY) -@@ -167,7 +167,7 @@ - } - /* Finally adjust the page data */ - bp[n] = OFFSET(bp) + pairlen; -- bp[n - 1] = bp[n + 1] + pairlen + 2 * sizeof(__uint16_t); -+ bp[n - 1] = bp[n + 1] + pairlen + 2 * sizeof(__uint_least16_t); - bp[0] = n - 2; - hashp->NKEYS--; - -@@ -185,15 +185,15 @@ - __uint32_t obucket, nbucket; - { - BUFHEAD *new_bufp, *old_bufp; -- __uint16_t *ino; -+ __uint_least16_t *ino; - char *np; - DBT key, val; - int n, ndx, retval; -- __uint16_t copyto, diff, off, moved; -+ __uint_least16_t copyto, diff, off, moved; - char *op; - -- copyto = (__uint16_t)hashp->BSIZE; -- off = (__uint16_t)hashp->BSIZE; -+ copyto = (__uint_least16_t)hashp->BSIZE; -+ off = (__uint_least16_t)hashp->BSIZE; - old_bufp = __get_buf(hashp, obucket, NULL, 0); - if (old_bufp == NULL) - return (-1); -@@ -204,7 +204,7 @@ - old_bufp->flags |= (BUF_MOD | BUF_PIN); - new_bufp->flags |= (BUF_MOD | BUF_PIN); - -- ino = (__uint16_t *)(op = old_bufp->page); -+ ino = (__uint_least16_t *)(op = old_bufp->page); - np = new_bufp->page; - - moved = 0; -@@ -246,13 +246,13 @@ - - /* Now clean up the page */ - ino[0] -= moved; -- FREESPACE(ino) = copyto - sizeof(__uint16_t) * (ino[0] + 3); -+ FREESPACE(ino) = copyto - sizeof(__uint_least16_t) * (ino[0] + 3); - OFFSET(ino) = copyto; - - #ifdef DEBUG3 - (void)fprintf(stderr, "split %d/%d\n", -- ((__uint16_t *)np)[0] / 2, -- ((__uint16_t *)op)[0] / 2); -+ ((__uint_least16_t *)np)[0] / 2, -+ ((__uint_least16_t *)op)[0] / 2); - #endif - /* unpin both pages */ - old_bufp->flags &= ~BUF_PIN; -@@ -284,22 +284,22 @@ - int moved; /* Number of pairs moved to new page. */ - { - BUFHEAD *bufp; /* Buffer header for ino */ -- __uint16_t *ino; /* Page keys come off of */ -- __uint16_t *np; /* New page */ -- __uint16_t *op; /* Page keys go on to if they aren't moving */ -+ __uint_least16_t *ino; /* Page keys come off of */ -+ __uint_least16_t *np; /* New page */ -+ __uint_least16_t *op; /* Page keys go on to if they aren't moving */ - - BUFHEAD *last_bfp; /* Last buf header OVFL needing to be freed */ - DBT key, val; - SPLIT_RETURN ret; -- __uint16_t n, off, ov_addr, scopyto; -+ __uint_least16_t n, off, ov_addr, scopyto; - char *cino; /* Character value of ino */ - - bufp = old_bufp; -- ino = (__uint16_t *)old_bufp->page; -- np = (__uint16_t *)new_bufp->page; -- op = (__uint16_t *)old_bufp->page; -+ ino = (__uint_least16_t *)old_bufp->page; -+ np = (__uint_least16_t *)new_bufp->page; -+ op = (__uint_least16_t *)old_bufp->page; - last_bfp = NULL; -- scopyto = (__uint16_t)copyto; /* ANSI */ -+ scopyto = (__uint_least16_t)copyto; /* ANSI */ - - n = ino[0] - 1; - while (n < ino[0]) { -@@ -310,16 +310,16 @@ - old_bufp = ret.oldp; - if (!old_bufp) - return (-1); -- op = (__uint16_t *)old_bufp->page; -+ op = (__uint_least16_t *)old_bufp->page; - new_bufp = ret.newp; - if (!new_bufp) - return (-1); -- np = (__uint16_t *)new_bufp->page; -+ np = (__uint_least16_t *)new_bufp->page; - bufp = ret.nextp; - if (!bufp) - return (0); - cino = (char *)bufp->page; -- ino = (__uint16_t *)cino; -+ ino = (__uint_least16_t *)cino; - last_bfp = ret.nextp; - } else if (ino[n + 1] == OVFLPAGE) { - ov_addr = ino[n]; -@@ -329,14 +329,14 @@ - */ - ino[0] -= (moved + 2); - FREESPACE(ino) = -- scopyto - sizeof(__uint16_t) * (ino[0] + 3); -+ scopyto - sizeof(__uint_least16_t) * (ino[0] + 3); - OFFSET(ino) = scopyto; - - bufp = __get_buf(hashp, ov_addr, bufp, 0); - if (!bufp) - return (-1); - -- ino = (__uint16_t *)bufp->page; -+ ino = (__uint_least16_t *)bufp->page; - n = 1; - scopyto = hashp->BSIZE; - moved = 0; -@@ -364,7 +364,7 @@ - __add_ovflpage(hashp, old_bufp); - if (!old_bufp) - return (-1); -- op = (__uint16_t *)old_bufp->page; -+ op = (__uint_least16_t *)old_bufp->page; - putpair((char *)op, &key, &val); - } - old_bufp->flags |= BUF_MOD; -@@ -377,7 +377,7 @@ - __add_ovflpage(hashp, new_bufp); - if (!new_bufp) - return (-1); -- np = (__uint16_t *)new_bufp->page; -+ np = (__uint_least16_t *)new_bufp->page; - putpair((char *)np, &key, &val); - } - new_bufp->flags |= BUF_MOD; -@@ -402,10 +402,10 @@ - BUFHEAD *bufp; - const DBT *key, *val; - { -- __uint16_t *bp, *sop; -+ __uint_least16_t *bp, *sop; - int do_expand; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - do_expand = 0; - while (bp[0] && (bp[2] < REAL_KEY || bp[bp[0]] < REAL_KEY)) - /* Exception case */ -@@ -417,7 +417,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } else - /* Try to squeeze key on this page */ - if (FREESPACE(bp) > PAIRSIZE(key, val)) { -@@ -427,7 +427,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } - - if (PAIRFITS(bp, key, val)) -@@ -437,7 +437,7 @@ - bufp = __add_ovflpage(hashp, bufp); - if (!bufp) - return (-1); -- sop = (__uint16_t *)bufp->page; -+ sop = (__uint_least16_t *)bufp->page; - - if (PAIRFITS(sop, key, val)) - putpair((char *)sop, key, val); -@@ -468,12 +468,12 @@ - HTAB *hashp; - BUFHEAD *bufp; - { -- __uint16_t *sp; -- __uint16_t ndx, ovfl_num; -+ __uint_least16_t *sp; -+ __uint_least16_t ndx, ovfl_num; - #ifdef DEBUG1 - int tmp1, tmp2; - #endif -- sp = (__uint16_t *)bufp->page; -+ sp = (__uint_least16_t *)bufp->page; - - /* Check if we are dynamically determining the fill factor */ - if (hashp->FFACTOR == DEF_FFACTOR) { -@@ -525,7 +525,7 @@ - { - int fd, page, size; - int rsize; -- __uint16_t *bp; -+ __uint_least16_t *bp; - - fd = hashp->fp; - size = hashp->BSIZE; -@@ -541,7 +541,7 @@ - if ((lseek(fd, (off_t)page << hashp->BSHIFT, SEEK_SET) == -1) || - ((rsize = read(fd, p, size)) == -1)) - return (-1); -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - if (!rsize) - bp[0] = 0; /* We hit the EOF, so initialize a new page */ - else -@@ -600,9 +600,9 @@ - for (i = 0; i < max; i++) - M_32_SWAP(((int *)p)[i]); - } else { -- max = ((__uint16_t *)p)[0] + 2; -+ max = ((__uint_least16_t *)p)[0] + 2; - for (i = 0; i <= max; i++) -- M_16_SWAP(((__uint16_t *)p)[i]); -+ M_16_SWAP(((__uint_least16_t *)p)[i]); - } - } - if (is_bucket) -@@ -643,7 +643,7 @@ - hashp->BSIZE - clearbytes); - ip[clearints - 1] = ALL_SET << (nbits & BYTE_MASK); - SETBIT(ip, 0); -- hashp->BITMAPS[ndx] = (__uint16_t)pnum; -+ hashp->BITMAPS[ndx] = (__uint_least16_t)pnum; - hashp->mapp[ndx] = ip; - return (0); - } -@@ -663,13 +663,13 @@ - return (i); - } - --static __uint16_t -+static __uint_least16_t - overflow_page(hashp) - HTAB *hashp; - { - __uint32_t *freep; - int max_free, offset, splitnum; -- __uint16_t addr; -+ __uint_least16_t addr; - int bit, first_page, free_bit, free_page, i, in_use_bits, j; - #ifdef DEBUG2 - int tmp1, tmp2; -@@ -816,16 +816,16 @@ - HTAB *hashp; - BUFHEAD *obufp; - { -- __uint16_t addr; -+ __uint_least16_t addr; - __uint32_t *freep; - int bit_address, free_page, free_bit; -- __uint16_t ndx; -+ __uint_least16_t ndx; - - addr = obufp->addr; - #ifdef DEBUG1 - (void)fprintf(stderr, "Freeing %d\n", addr); - #endif -- ndx = (((__uint16_t)addr) >> SPLITSHIFT); -+ ndx = (((__uint_least16_t)addr) >> SPLITSHIFT); - bit_address = - (ndx ? hashp->SPARES[ndx - 1] : 0) + (addr & SPLITMASK) - 1; - if (bit_address < hashp->LAST_FREED) -@@ -883,11 +883,11 @@ - */ - static void - squeeze_key(sp, key, val) -- __uint16_t *sp; -+ __uint_least16_t *sp; - const DBT *key, *val; - { - char *p; -- __uint16_t free_space, n, off, pageno; -+ __uint_least16_t free_space, n, off, pageno; - - p = (char *)sp; - n = sp[0]; -diff -uNr newlib-1.16.0.orig/newlib/libc/search/page.h newlib-1.16.0/newlib/libc/search/page.h ---- newlib-1.16.0.orig/newlib/libc/search/page.h 2002-06-20 21:51:31.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/page.h 2007-12-20 13:24:19.000000000 +0100 -@@ -74,20 +74,20 @@ - * You might as well do this up front. - */ - --#define PAIRSIZE(K,D) (2*sizeof(__uint16_t) + (K)->size + (D)->size) --#define BIGOVERHEAD (4*sizeof(__uint16_t)) --#define KEYSIZE(K) (4*sizeof(__uint16_t) + (K)->size); --#define OVFLSIZE (2*sizeof(__uint16_t)) -+#define PAIRSIZE(K,D) (2*sizeof(__uint_least16_t) + (K)->size + (D)->size) -+#define BIGOVERHEAD (4*sizeof(__uint_least16_t)) -+#define KEYSIZE(K) (4*sizeof(__uint_least16_t) + (K)->size); -+#define OVFLSIZE (2*sizeof(__uint_least16_t)) - #define FREESPACE(P) ((P)[(P)[0]+1]) - #define OFFSET(P) ((P)[(P)[0]+2]) - #define PAIRFITS(P,K,D) \ - (((P)[2] >= REAL_KEY) && \ - (PAIRSIZE((K),(D)) + OVFLSIZE) <= FREESPACE((P))) --#define PAGE_META(N) (((N)+3) * sizeof(__uint16_t)) -+#define PAGE_META(N) (((N)+3) * sizeof(__uint_least16_t)) - - typedef struct { - BUFHEAD *newp; - BUFHEAD *oldp; - BUFHEAD *nextp; -- __uint16_t next_addr; -+ __uint_least16_t next_addr; - } SPLIT_RETURN; -diff -uNr 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 2007-12-20 13:24:19.000000000 +0100 -@@ -0,0 +1,31 @@ -+/* -+ * -+ */ -+#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 -+ -+#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 -uNr newlib-1.16.0.orig/newlib/libc/sys/rtems/sys/param.h newlib-1.16.0/newlib/libc/sys/rtems/sys/param.h ---- newlib-1.16.0.orig/newlib/libc/sys/rtems/sys/param.h 2004-05-07 22:29:24.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/sys/rtems/sys/param.h 2007-12-20 13:24:19.000000000 +0100 -@@ -93,7 +93,6 @@ - #include - #include - #include --#include - - #ifndef FALSE - #define FALSE 0 -diff -uNr newlib-1.16.0.orig/newlib/Makefile.am newlib-1.16.0/newlib/Makefile.am ---- newlib-1.16.0.orig/newlib/Makefile.am 2007-05-24 19:33:29.000000000 +0200 -+++ newlib-1.16.0/newlib/Makefile.am 2007-12-20 13:24:19.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 -uNr newlib-1.16.0.orig/newlib/Makefile.in newlib-1.16.0/newlib/Makefile.in ---- newlib-1.16.0.orig/newlib/Makefile.in 2007-12-19 23:36:26.000000000 +0100 -+++ newlib-1.16.0/newlib/Makefile.in 2007-12-20 13:24:19.000000000 +0100 -@@ -105,7 +105,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) -@@ -339,7 +339,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 -@@ -398,7 +398,7 @@ - - # dejagnu support - RUNTESTFLAGS = --all: newlib.h -+all: $(BUILT_SOURCES) newlib.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - - .SUFFIXES: -@@ -703,14 +703,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 -@@ -735,6 +737,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 \ -@@ -853,8 +856,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 --git a/contrib/crossrpms/patches/newlib-1.16.0-rtems4.9-20080131.diff b/contrib/crossrpms/patches/newlib-1.16.0-rtems4.9-20080131.diff deleted file mode 100644 index 2065b2dc3b..0000000000 --- a/contrib/crossrpms/patches/newlib-1.16.0-rtems4.9-20080131.diff +++ /dev/null @@ -1,1138 +0,0 @@ -diff -uNr 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-16 20:03:12.000000000 +0100 -+++ newlib-1.16.0/newlib/libc/include/inttypes.h 2008-01-31 14:21:44.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 -uNr 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 2007-11-07 22:42:24.000000000 +0100 -+++ newlib-1.16.0/newlib/libc/include/machine/setjmp.h 2008-01-31 14:22:16.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. -@@ -268,6 +268,12 @@ - # define _CYGWIN_WORKING_SIGSETJMP - #endif - -+#ifdef _POSIX_THREADS -+#define __SIGMASK_FUNC pthread_sigmask -+#else -+#define __SIGMASK_FUNC sigprocmask -+#endif -+ - #if defined(__GNUC__) - - #define sigsetjmp(env, savemask) \ -@@ -275,7 +281,7 @@ - ({ \ - sigjmp_buf *_sjbuf = &(env); \ - ((*_sjbuf)[_SAVEMASK] = savemask,\ -- sigprocmask (SIG_SETMASK, 0, (sigset_t *)((*_sjbuf) + _SIGMASK)),\ -+ __SIGMASK_FUNC (SIG_SETMASK, 0, (sigset_t *)((*_sjbuf) + _SIGMASK)),\ - setjmp (*_sjbuf)); \ - }) - -@@ -284,7 +290,7 @@ - ({ \ - sigjmp_buf *_sjbuf = &(env); \ - ((((*_sjbuf)[_SAVEMASK]) ? \ -- sigprocmask (SIG_SETMASK, (sigset_t *)((*_sjbuf) + _SIGMASK), 0)\ -+ __SIGMASK_FUNC (SIG_SETMASK, (sigset_t *)((*_sjbuf) + _SIGMASK), 0)\ - : 0), \ - longjmp (*_sjbuf, val)); \ - }) -@@ -292,15 +298,21 @@ - #else /* !__GNUC__ */ - - #define sigsetjmp(env, savemask) ((env)[_SAVEMASK] = savemask,\ -- sigprocmask (SIG_SETMASK, 0, (sigset_t *) ((env) + _SIGMASK)),\ -+ __SIGMASK_FUNC (SIG_SETMASK, 0, (sigset_t *) ((env) + _SIGMASK)),\ - setjmp (env)) - - #define siglongjmp(env, val) ((((env)[_SAVEMASK])?\ -- sigprocmask (SIG_SETMASK, (sigset_t *) ((env) + _SIGMASK), 0):0),\ -+ __SIGMASK_FUNC (SIG_SETMASK, (sigset_t *) ((env) + _SIGMASK), 0):0),\ - longjmp (env, val)) - - #endif - -+/* POSIX _setjmp/_longjmp macros, maintained for XSI compatibility. These -+ are equivalent to sigsetjmp/siglongjmp when not saving the signal mask. -+ New applications should use sigsetjmp/siglongjmp instead. */ -+#define _setjmp(env) sigsetjmp ((env), 0) -+#define _longjmp(env, val) siglongjmp ((env), (val)) -+ - #ifdef __cplusplus - } - #endif -diff -uNr 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 2006-09-14 00:09:27.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/include/pthread.h 2008-01-31 14:22:16.000000000 +0100 -@@ -283,14 +283,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 -uNr 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 2006-08-16 23:39:43.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/include/stdint.h 2008-01-31 14:21:44.000000000 +0100 -@@ -393,6 +393,9 @@ - #define UINTMAX_C(x) x##UL - #endif - -+#ifdef __rtems__ -+#include -+#endif - - #ifdef __cplusplus - } -diff -uNr 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 2007-12-19 19:51:19.000000000 +0100 -+++ newlib-1.16.0/newlib/libc/include/sys/features.h 2008-01-31 14:21:44.000000000 +0100 -@@ -38,6 +38,7 @@ - #define _POSIX_MEMLOCK_RANGE 1 - #define _POSIX_MEMORY_PROTECTION 1 - #define _POSIX_MESSAGE_PASSING 1 -+#define _POSIX_MONOTONIC_CLOCK 200112L - #define _POSIX_PRIORITIZED_IO 1 - #define _POSIX_PRIORITY_SCHEDULING 1 - #define _POSIX_REALTIME_SIGNALS 1 -diff -uNr 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-09-18 22:05:17.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/include/sys/_types.h 2008-01-31 14:21:44.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 -uNr newlib-1.16.0.orig/newlib/libc/include/sys/unistd.h newlib-1.16.0/newlib/libc/include/sys/unistd.h ---- newlib-1.16.0.orig/newlib/libc/include/sys/unistd.h 2007-11-08 17:20:12.000000000 +0100 -+++ newlib-1.16.0/newlib/libc/include/sys/unistd.h 2008-01-31 14:21:44.000000000 +0100 -@@ -219,13 +219,11 @@ - char * _EXFUN(mktemp, (char *)); - #endif - --#if defined(__CYGWIN__) || defined(__SPU__) -+#if defined(__CYGWIN__) || defined(__SPU__) || defined(__rtems__) - void _EXFUN(sync, (void)); --#elif defined(__rtems__) --int _EXFUN(sync, (void)); - #endif - --int _EXFUN(readlink, (const char *__path, char *__buf, int __buflen)); -+ssize_t _EXFUN(readlink, (const char *__path, char *__buf, size_t __buflen)); - int _EXFUN(symlink, (const char *__name1, const char *__name2)); - - #define F_OK 0 -diff -uNr newlib-1.16.0.orig/newlib/libc/include/_syslist.h newlib-1.16.0/newlib/libc/include/_syslist.h ---- newlib-1.16.0.orig/newlib/libc/include/_syslist.h 2005-08-22 23:13:35.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/include/_syslist.h 2008-01-31 14:22:16.000000000 +0100 -@@ -11,6 +11,7 @@ - #define _fstat fstat - #define _getpid getpid - #define _gettimeofday gettimeofday -+#define _isatty isatty - #define _kill kill - #define _link link - #define _lseek lseek -diff -uNr newlib-1.16.0.orig/newlib/libc/include/time.h newlib-1.16.0/newlib/libc/include/time.h ---- newlib-1.16.0.orig/newlib/libc/include/time.h 2005-11-18 16:57:24.000000000 +0100 -+++ newlib-1.16.0/newlib/libc/include/time.h 2008-01-31 14:21:44.000000000 +0100 -@@ -226,6 +226,16 @@ - - #endif - -+#if defined(_POSIX_MONOTONIC_CLOCK) -+ -+/* The identifier for the system-wide monotonic clock, which is defined -+ as a clock whose value cannot be set via clock_settime() and which -+ cannot have backward clock jumps. */ -+ -+#define CLOCK_MONOTONIC (clockid_t)4 -+ -+#endif -+ - #if defined(_POSIX_CPUTIME) - - /* Accessing a Process CPU-time CLock, P1003.4b/D8, p. 55 */ -diff -uNr 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 -uNr newlib-1.16.0.orig/newlib/libc/search/db_local.h newlib-1.16.0/newlib/libc/search/db_local.h ---- newlib-1.16.0.orig/newlib/libc/search/db_local.h 2002-06-25 01:05:08.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/db_local.h 2008-01-31 14:21:44.000000000 +0100 -@@ -50,7 +50,7 @@ - #define MAX_PAGE_NUMBER 0xffffffff /* >= # of pages in a file */ - typedef __uint32_t pgno_t; - #define MAX_PAGE_OFFSET 65535 /* >= # of bytes in a page */ --typedef __uint16_t indx_t; -+typedef __uint_least16_t indx_t; - #define MAX_REC_NUMBER 0xffffffff /* >= # of records in a tree */ - typedef __uint32_t recno_t; - -@@ -191,12 +191,12 @@ - * P_16_COPY swap from one location to another - */ - #define M_16_SWAP(a) { \ -- __uint16_t _tmp = a; \ -+ __uint_least16_t _tmp = a; \ - ((char *)&a)[0] = ((char *)&_tmp)[1]; \ - ((char *)&a)[1] = ((char *)&_tmp)[0]; \ - } - #define P_16_SWAP(a) { \ -- __uint16_t _tmp = *(__uint16_t *)a; \ -+ __uint_least16_t _tmp = *(__uint_least16_t *)a; \ - ((char *)a)[0] = ((char *)&_tmp)[1]; \ - ((char *)a)[1] = ((char *)&_tmp)[0]; \ - } -diff -uNr newlib-1.16.0.orig/newlib/libc/search/extern.h newlib-1.16.0/newlib/libc/search/extern.h ---- newlib-1.16.0.orig/newlib/libc/search/extern.h 2002-06-20 21:51:31.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/extern.h 2008-01-31 14:21:44.000000000 +0100 -@@ -48,7 +48,7 @@ - int __delpair(HTAB *, BUFHEAD *, int); - int __expand_table(HTAB *); - int __find_bigpair(HTAB *, BUFHEAD *, int, char *, int); --__uint16_t __find_last_page(HTAB *, BUFHEAD **); -+__uint_least16_t __find_last_page(HTAB *, BUFHEAD **); - void __free_ovflpage(HTAB *, BUFHEAD *); - BUFHEAD *__get_buf(HTAB *, __uint32_t, BUFHEAD *, int); - int __get_page(HTAB *, char *, __uint32_t, int, int, int); -diff -uNr newlib-1.16.0.orig/newlib/libc/search/hash_bigkey.c newlib-1.16.0/newlib/libc/search/hash_bigkey.c ---- newlib-1.16.0.orig/newlib/libc/search/hash_bigkey.c 2006-06-07 21:22:59.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/hash_bigkey.c 2008-01-31 14:21:44.000000000 +0100 -@@ -92,13 +92,13 @@ - BUFHEAD *bufp; - const DBT *key, *val; - { -- __uint16_t *p; -+ __uint_least16_t *p; - int key_size, n, val_size; -- __uint16_t space, move_bytes, off; -+ __uint_least16_t space, move_bytes, off; - char *cp, *key_data, *val_data; - - cp = bufp->page; /* Character pointer of p. */ -- p = (__uint16_t *)cp; -+ p = (__uint_least16_t *)cp; - - key_data = (char *)key->data; - key_size = key->size; -@@ -136,7 +136,7 @@ - OFFSET(p) = off; - } else - p[n - 2] = FULL_KEY; -- p = (__uint16_t *)bufp->page; -+ p = (__uint_least16_t *)bufp->page; - cp = bufp->page; - bufp->flags |= BUF_MOD; - } -@@ -166,7 +166,7 @@ - if (!bufp) - return (-1); - cp = bufp->page; -- p = (__uint16_t *)cp; -+ p = (__uint_least16_t *)cp; - } else - p[n] = FULL_KEY_DATA; - bufp->flags |= BUF_MOD; -@@ -191,12 +191,12 @@ - BUFHEAD *bufp; - { - BUFHEAD *last_bfp, *rbufp; -- __uint16_t *bp, pageno; -+ __uint_least16_t *bp, pageno; - int key_done, n; - - rbufp = bufp; - last_bfp = NULL; -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - pageno = 0; - key_done = 0; - -@@ -219,7 +219,7 @@ - last_bfp = rbufp; - if (!rbufp) - return (-1); /* Error. */ -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - } - - /* -@@ -234,7 +234,7 @@ - pageno = bp[n - 1]; - - /* Now, bp is the first page of the pair. */ -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - if (n > 2) { - /* There is an overflow page. */ - bp[1] = pageno; -@@ -272,13 +272,13 @@ - char *key; - int size; - { -- __uint16_t *bp; -+ __uint_least16_t *bp; - char *p; - int ksize; -- __uint16_t bytes; -+ __uint_least16_t bytes; - char *kkey; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - p = bufp->page; - ksize = size; - kkey = key; -@@ -294,7 +294,7 @@ - if (!bufp) - return (-3); - p = bufp->page; -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - ndx = 1; - } - -@@ -316,17 +316,17 @@ - * of the pair; 0 if there isn't any (i.e. big pair is the last key in the - * bucket) - */ --extern __uint16_t -+extern __uint_least16_t - __find_last_page(hashp, bpp) - HTAB *hashp; - BUFHEAD **bpp; - { - BUFHEAD *bufp; -- __uint16_t *bp, pageno; -+ __uint_least16_t *bp, pageno; - int n; - - bufp = *bpp; -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - for (;;) { - n = bp[0]; - -@@ -343,7 +343,7 @@ - bufp = __get_buf(hashp, pageno, bufp, 0); - if (!bufp) - return (0); /* Need to indicate an error! */ -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } - - *bpp = bufp; -@@ -366,15 +366,15 @@ - int set_current; - { - BUFHEAD *save_p; -- __uint16_t *bp, len, off, save_addr; -+ __uint_least16_t *bp, len, off, save_addr; - char *tp; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - while (bp[ndx + 1] == PARTIAL_KEY) { - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - ndx = 1; - } - -@@ -382,7 +382,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - save_p = bufp; - save_addr = save_p->addr; - off = bp[1]; -@@ -403,7 +403,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } else { - /* The data is all on one page. */ - tp = (char *)bp; -@@ -422,7 +422,7 @@ - if (!hashp->cpage) - return (-1); - hashp->cndx = 1; -- if (!((__uint16_t *) -+ if (!((__uint_least16_t *) - hashp->cpage->page)[0]) { - hashp->cbucket++; - hashp->cpage = NULL; -@@ -454,14 +454,14 @@ - BUFHEAD *bufp; - int len, set; - { -- __uint16_t *bp; -+ __uint_least16_t *bp; - char *p; - BUFHEAD *xbp; -- __uint16_t save_addr; -+ __uint_least16_t save_addr; - int mylen, totlen; - - p = bufp->page; -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - mylen = hashp->BSIZE - bp[1]; - save_addr = bufp->addr; - -@@ -481,7 +481,7 @@ - __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!hashp->cpage) - return (-1); -- else if (!((__uint16_t *)hashp->cpage->page)[0]) { -+ else if (!((__uint_least16_t *)hashp->cpage->page)[0]) { - hashp->cbucket++; - hashp->cpage = NULL; - } -@@ -533,10 +533,10 @@ - BUFHEAD *xbp; - char *p; - int mylen, totlen; -- __uint16_t *bp, save_addr; -+ __uint_least16_t *bp, save_addr; - - p = bufp->page; -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - mylen = hashp->BSIZE - bp[1]; - - save_addr = bufp->addr; -@@ -579,11 +579,11 @@ - SPLIT_RETURN *ret; - { - BUFHEAD *tmpp; -- __uint16_t *tp; -+ __uint_least16_t *tp; - BUFHEAD *bp; - DBT key, val; - __uint32_t change; -- __uint16_t free_space, n, off; -+ __uint_least16_t free_space, n, off; - - bp = big_keyp; - -@@ -615,14 +615,14 @@ - (tmpp->ovfl ? tmpp->ovfl->addr : 0), (bp ? bp->addr : 0)); - #endif - tmpp->ovfl = bp; /* one of op/np point to big_keyp */ -- tp = (__uint16_t *)tmpp->page; -+ tp = (__uint_least16_t *)tmpp->page; - #ifdef DEBUG - assert(FREESPACE(tp) >= OVFLSIZE); - #endif - n = tp[0]; - off = OFFSET(tp); - free_space = FREESPACE(tp); -- tp[++n] = (__uint16_t)addr; -+ tp[++n] = (__uint_least16_t)addr; - tp[++n] = OVFLPAGE; - tp[0] = n; - OFFSET(tp) = off; -@@ -638,7 +638,7 @@ - ret->newp = np; - ret->oldp = op; - -- tp = (__uint16_t *)big_keyp->page; -+ tp = (__uint_least16_t *)big_keyp->page; - big_keyp->flags |= BUF_MOD; - if (tp[0] > 2) { - /* -diff -uNr newlib-1.16.0.orig/newlib/libc/search/hash_buf.c newlib-1.16.0/newlib/libc/search/hash_buf.c ---- newlib-1.16.0.orig/newlib/libc/search/hash_buf.c 2004-05-26 19:57:10.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/hash_buf.c 2008-01-31 14:21:44.000000000 +0100 -@@ -176,7 +176,7 @@ - BUFHEAD *next_xbp; - SEGMENT segp; - int segment_ndx; -- __uint16_t oaddr, *shortp; -+ __uint_least16_t oaddr, *shortp; - - oaddr = 0; - bp = LRU; -@@ -212,7 +212,7 @@ - * Set oaddr before __put_page so that you get it - * before bytes are swapped. - */ -- shortp = (__uint16_t *)bp->page; -+ shortp = (__uint_least16_t *)bp->page; - if (shortp[0]) - oaddr = shortp[shortp[0] - 1]; - if ((bp->flags & BUF_MOD) && __put_page(hashp, bp->page, -@@ -255,7 +255,7 @@ - (oaddr != xbp->addr)) - break; - -- shortp = (__uint16_t *)xbp->page; -+ shortp = (__uint_least16_t *)xbp->page; - if (shortp[0]) - /* set before __put_page */ - oaddr = shortp[shortp[0] - 1]; -diff -uNr newlib-1.16.0.orig/newlib/libc/search/hash.c newlib-1.16.0/newlib/libc/search/hash.c ---- newlib-1.16.0.orig/newlib/libc/search/hash.c 2007-05-16 21:31:08.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/hash.c 2008-01-31 14:21:44.000000000 +0100 -@@ -632,10 +632,10 @@ - { - BUFHEAD *rbufp; - BUFHEAD *bufp, *save_bufp; -- __uint16_t *bp; -+ __uint_least16_t *bp; - int n, ndx, off, size; - char *kp; -- __uint16_t pageno; -+ __uint_least16_t pageno; - - #ifdef HASH_STATISTICS - hash_accesses++; -@@ -651,7 +651,7 @@ - - /* Pin the bucket chain */ - rbufp->flags |= BUF_PIN; -- for (bp = (__uint16_t *)rbufp->page, n = *bp++, ndx = 1; ndx < n;) -+ for (bp = (__uint_least16_t *)rbufp->page, n = *bp++, ndx = 1; ndx < n;) - if (bp[1] >= REAL_KEY) { - /* Real key/data pair */ - if (size == off - *bp && -@@ -670,7 +670,7 @@ - return (ERROR); - } - /* FOR LOOP INIT */ -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - n = *bp++; - ndx = 1; - off = hashp->BSIZE; -@@ -692,7 +692,7 @@ - return (ERROR); - } - /* FOR LOOP INIT */ -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - n = *bp++; - ndx = 1; - off = hashp->BSIZE; -@@ -726,7 +726,7 @@ - save_bufp->flags &= ~BUF_PIN; - return (ABNORMAL); - case HASH_GET: -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - if (bp[ndx + 1] < REAL_KEY) { - if (__big_return(hashp, rbufp, ndx, val, 0)) - return (ERROR); -@@ -762,7 +762,7 @@ - __uint32_t bucket; - BUFHEAD *bufp; - HTAB *hashp; -- __uint16_t *bp, ndx; -+ __uint_least16_t *bp, ndx; - - hashp = (HTAB *)dbp->internal; - if (flag && flag != R_FIRST && flag != R_NEXT) { -@@ -787,7 +787,7 @@ - if (!bufp) - return (ERROR); - hashp->cpage = bufp; -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - if (bp[0]) - break; - } -@@ -797,7 +797,7 @@ - return (ABNORMAL); - } - } else -- bp = (__uint16_t *)hashp->cpage->page; -+ bp = (__uint_least16_t *)hashp->cpage->page; - - #ifdef DEBUG - assert(bp); -@@ -808,7 +808,7 @@ - __get_buf(hashp, bp[hashp->cndx], bufp, 0); - if (!bufp) - return (ERROR); -- bp = (__uint16_t *)(bufp->page); -+ bp = (__uint_least16_t *)(bufp->page); - hashp->cndx = 1; - } - if (!bp[0]) { -diff -uNr newlib-1.16.0.orig/newlib/libc/search/hash.h newlib-1.16.0/newlib/libc/search/hash.h ---- newlib-1.16.0.orig/newlib/libc/search/hash.h 2002-07-02 20:18:58.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/hash.h 2008-01-31 14:21:44.000000000 +0100 -@@ -102,7 +102,7 @@ - #define NCACHED 32 /* number of bit maps and spare - * points */ - int spares[NCACHED];/* spare pages for overflow */ -- __uint16_t bitmaps[NCACHED]; /* address of overflow page -+ __uint_least16_t bitmaps[NCACHED]; /* address of overflow page - * bitmaps */ - } HASHHDR; - -diff -uNr newlib-1.16.0.orig/newlib/libc/search/hash_page.c newlib-1.16.0/newlib/libc/search/hash_page.c ---- newlib-1.16.0.orig/newlib/libc/search/hash_page.c 2002-09-19 23:28:51.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/hash_page.c 2008-01-31 14:21:44.000000000 +0100 -@@ -77,16 +77,16 @@ - static __uint32_t *fetch_bitmap(HTAB *, int); - static __uint32_t first_free(__uint32_t); - static int open_temp(HTAB *); --static __uint16_t overflow_page(HTAB *); -+static __uint_least16_t overflow_page(HTAB *); - static void putpair(char *, const DBT *, const DBT *); --static void squeeze_key(__uint16_t *, const DBT *, const DBT *); -+static void squeeze_key(__uint_least16_t *, const DBT *, const DBT *); - static int ugly_split - (HTAB *, __uint32_t, BUFHEAD *, BUFHEAD *, int, int); - - #define PAGE_INIT(P) { \ -- ((__uint16_t *)(P))[0] = 0; \ -- ((__uint16_t *)(P))[1] = hashp->BSIZE - 3 * sizeof(__uint16_t); \ -- ((__uint16_t *)(P))[2] = hashp->BSIZE; \ -+ ((__uint_least16_t *)(P))[0] = 0; \ -+ ((__uint_least16_t *)(P))[1] = hashp->BSIZE - 3 * sizeof(__uint_least16_t); \ -+ ((__uint_least16_t *)(P))[2] = hashp->BSIZE; \ - } - - /* -@@ -99,9 +99,9 @@ - char *p; - const DBT *key, *val; - { -- __uint16_t *bp, n, off; -+ __uint_least16_t *bp, n, off; - -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - - /* Enter the key first. */ - n = bp[0]; -@@ -117,7 +117,7 @@ - - /* Adjust page info. */ - bp[0] = n; -- bp[n + 1] = off - ((n + 3) * sizeof(__uint16_t)); -+ bp[n + 1] = off - ((n + 3) * sizeof(__uint_least16_t)); - bp[n + 2] = off; - } - -@@ -132,11 +132,11 @@ - BUFHEAD *bufp; - int ndx; - { -- __uint16_t *bp, newoff; -+ __uint_least16_t *bp, newoff; - int n; -- __uint16_t pairlen; -+ __uint_least16_t pairlen; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - n = bp[0]; - - if (bp[ndx + 1] < REAL_KEY) -@@ -167,7 +167,7 @@ - } - /* Finally adjust the page data */ - bp[n] = OFFSET(bp) + pairlen; -- bp[n - 1] = bp[n + 1] + pairlen + 2 * sizeof(__uint16_t); -+ bp[n - 1] = bp[n + 1] + pairlen + 2 * sizeof(__uint_least16_t); - bp[0] = n - 2; - hashp->NKEYS--; - -@@ -185,15 +185,15 @@ - __uint32_t obucket, nbucket; - { - BUFHEAD *new_bufp, *old_bufp; -- __uint16_t *ino; -+ __uint_least16_t *ino; - char *np; - DBT key, val; - int n, ndx, retval; -- __uint16_t copyto, diff, off, moved; -+ __uint_least16_t copyto, diff, off, moved; - char *op; - -- copyto = (__uint16_t)hashp->BSIZE; -- off = (__uint16_t)hashp->BSIZE; -+ copyto = (__uint_least16_t)hashp->BSIZE; -+ off = (__uint_least16_t)hashp->BSIZE; - old_bufp = __get_buf(hashp, obucket, NULL, 0); - if (old_bufp == NULL) - return (-1); -@@ -204,7 +204,7 @@ - old_bufp->flags |= (BUF_MOD | BUF_PIN); - new_bufp->flags |= (BUF_MOD | BUF_PIN); - -- ino = (__uint16_t *)(op = old_bufp->page); -+ ino = (__uint_least16_t *)(op = old_bufp->page); - np = new_bufp->page; - - moved = 0; -@@ -246,13 +246,13 @@ - - /* Now clean up the page */ - ino[0] -= moved; -- FREESPACE(ino) = copyto - sizeof(__uint16_t) * (ino[0] + 3); -+ FREESPACE(ino) = copyto - sizeof(__uint_least16_t) * (ino[0] + 3); - OFFSET(ino) = copyto; - - #ifdef DEBUG3 - (void)fprintf(stderr, "split %d/%d\n", -- ((__uint16_t *)np)[0] / 2, -- ((__uint16_t *)op)[0] / 2); -+ ((__uint_least16_t *)np)[0] / 2, -+ ((__uint_least16_t *)op)[0] / 2); - #endif - /* unpin both pages */ - old_bufp->flags &= ~BUF_PIN; -@@ -284,22 +284,22 @@ - int moved; /* Number of pairs moved to new page. */ - { - BUFHEAD *bufp; /* Buffer header for ino */ -- __uint16_t *ino; /* Page keys come off of */ -- __uint16_t *np; /* New page */ -- __uint16_t *op; /* Page keys go on to if they aren't moving */ -+ __uint_least16_t *ino; /* Page keys come off of */ -+ __uint_least16_t *np; /* New page */ -+ __uint_least16_t *op; /* Page keys go on to if they aren't moving */ - - BUFHEAD *last_bfp; /* Last buf header OVFL needing to be freed */ - DBT key, val; - SPLIT_RETURN ret; -- __uint16_t n, off, ov_addr, scopyto; -+ __uint_least16_t n, off, ov_addr, scopyto; - char *cino; /* Character value of ino */ - - bufp = old_bufp; -- ino = (__uint16_t *)old_bufp->page; -- np = (__uint16_t *)new_bufp->page; -- op = (__uint16_t *)old_bufp->page; -+ ino = (__uint_least16_t *)old_bufp->page; -+ np = (__uint_least16_t *)new_bufp->page; -+ op = (__uint_least16_t *)old_bufp->page; - last_bfp = NULL; -- scopyto = (__uint16_t)copyto; /* ANSI */ -+ scopyto = (__uint_least16_t)copyto; /* ANSI */ - - n = ino[0] - 1; - while (n < ino[0]) { -@@ -310,16 +310,16 @@ - old_bufp = ret.oldp; - if (!old_bufp) - return (-1); -- op = (__uint16_t *)old_bufp->page; -+ op = (__uint_least16_t *)old_bufp->page; - new_bufp = ret.newp; - if (!new_bufp) - return (-1); -- np = (__uint16_t *)new_bufp->page; -+ np = (__uint_least16_t *)new_bufp->page; - bufp = ret.nextp; - if (!bufp) - return (0); - cino = (char *)bufp->page; -- ino = (__uint16_t *)cino; -+ ino = (__uint_least16_t *)cino; - last_bfp = ret.nextp; - } else if (ino[n + 1] == OVFLPAGE) { - ov_addr = ino[n]; -@@ -329,14 +329,14 @@ - */ - ino[0] -= (moved + 2); - FREESPACE(ino) = -- scopyto - sizeof(__uint16_t) * (ino[0] + 3); -+ scopyto - sizeof(__uint_least16_t) * (ino[0] + 3); - OFFSET(ino) = scopyto; - - bufp = __get_buf(hashp, ov_addr, bufp, 0); - if (!bufp) - return (-1); - -- ino = (__uint16_t *)bufp->page; -+ ino = (__uint_least16_t *)bufp->page; - n = 1; - scopyto = hashp->BSIZE; - moved = 0; -@@ -364,7 +364,7 @@ - __add_ovflpage(hashp, old_bufp); - if (!old_bufp) - return (-1); -- op = (__uint16_t *)old_bufp->page; -+ op = (__uint_least16_t *)old_bufp->page; - putpair((char *)op, &key, &val); - } - old_bufp->flags |= BUF_MOD; -@@ -377,7 +377,7 @@ - __add_ovflpage(hashp, new_bufp); - if (!new_bufp) - return (-1); -- np = (__uint16_t *)new_bufp->page; -+ np = (__uint_least16_t *)new_bufp->page; - putpair((char *)np, &key, &val); - } - new_bufp->flags |= BUF_MOD; -@@ -402,10 +402,10 @@ - BUFHEAD *bufp; - const DBT *key, *val; - { -- __uint16_t *bp, *sop; -+ __uint_least16_t *bp, *sop; - int do_expand; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - do_expand = 0; - while (bp[0] && (bp[2] < REAL_KEY || bp[bp[0]] < REAL_KEY)) - /* Exception case */ -@@ -417,7 +417,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } else - /* Try to squeeze key on this page */ - if (FREESPACE(bp) > PAIRSIZE(key, val)) { -@@ -427,7 +427,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } - - if (PAIRFITS(bp, key, val)) -@@ -437,7 +437,7 @@ - bufp = __add_ovflpage(hashp, bufp); - if (!bufp) - return (-1); -- sop = (__uint16_t *)bufp->page; -+ sop = (__uint_least16_t *)bufp->page; - - if (PAIRFITS(sop, key, val)) - putpair((char *)sop, key, val); -@@ -468,12 +468,12 @@ - HTAB *hashp; - BUFHEAD *bufp; - { -- __uint16_t *sp; -- __uint16_t ndx, ovfl_num; -+ __uint_least16_t *sp; -+ __uint_least16_t ndx, ovfl_num; - #ifdef DEBUG1 - int tmp1, tmp2; - #endif -- sp = (__uint16_t *)bufp->page; -+ sp = (__uint_least16_t *)bufp->page; - - /* Check if we are dynamically determining the fill factor */ - if (hashp->FFACTOR == DEF_FFACTOR) { -@@ -525,7 +525,7 @@ - { - int fd, page, size; - int rsize; -- __uint16_t *bp; -+ __uint_least16_t *bp; - - fd = hashp->fp; - size = hashp->BSIZE; -@@ -541,7 +541,7 @@ - if ((lseek(fd, (off_t)page << hashp->BSHIFT, SEEK_SET) == -1) || - ((rsize = read(fd, p, size)) == -1)) - return (-1); -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - if (!rsize) - bp[0] = 0; /* We hit the EOF, so initialize a new page */ - else -@@ -600,9 +600,9 @@ - for (i = 0; i < max; i++) - M_32_SWAP(((int *)p)[i]); - } else { -- max = ((__uint16_t *)p)[0] + 2; -+ max = ((__uint_least16_t *)p)[0] + 2; - for (i = 0; i <= max; i++) -- M_16_SWAP(((__uint16_t *)p)[i]); -+ M_16_SWAP(((__uint_least16_t *)p)[i]); - } - } - if (is_bucket) -@@ -643,7 +643,7 @@ - hashp->BSIZE - clearbytes); - ip[clearints - 1] = ALL_SET << (nbits & BYTE_MASK); - SETBIT(ip, 0); -- hashp->BITMAPS[ndx] = (__uint16_t)pnum; -+ hashp->BITMAPS[ndx] = (__uint_least16_t)pnum; - hashp->mapp[ndx] = ip; - return (0); - } -@@ -663,13 +663,13 @@ - return (i); - } - --static __uint16_t -+static __uint_least16_t - overflow_page(hashp) - HTAB *hashp; - { - __uint32_t *freep; - int max_free, offset, splitnum; -- __uint16_t addr; -+ __uint_least16_t addr; - int bit, first_page, free_bit, free_page, i, in_use_bits, j; - #ifdef DEBUG2 - int tmp1, tmp2; -@@ -816,16 +816,16 @@ - HTAB *hashp; - BUFHEAD *obufp; - { -- __uint16_t addr; -+ __uint_least16_t addr; - __uint32_t *freep; - int bit_address, free_page, free_bit; -- __uint16_t ndx; -+ __uint_least16_t ndx; - - addr = obufp->addr; - #ifdef DEBUG1 - (void)fprintf(stderr, "Freeing %d\n", addr); - #endif -- ndx = (((__uint16_t)addr) >> SPLITSHIFT); -+ ndx = (((__uint_least16_t)addr) >> SPLITSHIFT); - bit_address = - (ndx ? hashp->SPARES[ndx - 1] : 0) + (addr & SPLITMASK) - 1; - if (bit_address < hashp->LAST_FREED) -@@ -883,11 +883,11 @@ - */ - static void - squeeze_key(sp, key, val) -- __uint16_t *sp; -+ __uint_least16_t *sp; - const DBT *key, *val; - { - char *p; -- __uint16_t free_space, n, off, pageno; -+ __uint_least16_t free_space, n, off, pageno; - - p = (char *)sp; - n = sp[0]; -diff -uNr newlib-1.16.0.orig/newlib/libc/search/page.h newlib-1.16.0/newlib/libc/search/page.h ---- newlib-1.16.0.orig/newlib/libc/search/page.h 2002-06-20 21:51:31.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/page.h 2008-01-31 14:21:44.000000000 +0100 -@@ -74,20 +74,20 @@ - * You might as well do this up front. - */ - --#define PAIRSIZE(K,D) (2*sizeof(__uint16_t) + (K)->size + (D)->size) --#define BIGOVERHEAD (4*sizeof(__uint16_t)) --#define KEYSIZE(K) (4*sizeof(__uint16_t) + (K)->size); --#define OVFLSIZE (2*sizeof(__uint16_t)) -+#define PAIRSIZE(K,D) (2*sizeof(__uint_least16_t) + (K)->size + (D)->size) -+#define BIGOVERHEAD (4*sizeof(__uint_least16_t)) -+#define KEYSIZE(K) (4*sizeof(__uint_least16_t) + (K)->size); -+#define OVFLSIZE (2*sizeof(__uint_least16_t)) - #define FREESPACE(P) ((P)[(P)[0]+1]) - #define OFFSET(P) ((P)[(P)[0]+2]) - #define PAIRFITS(P,K,D) \ - (((P)[2] >= REAL_KEY) && \ - (PAIRSIZE((K),(D)) + OVFLSIZE) <= FREESPACE((P))) --#define PAGE_META(N) (((N)+3) * sizeof(__uint16_t)) -+#define PAGE_META(N) (((N)+3) * sizeof(__uint_least16_t)) - - typedef struct { - BUFHEAD *newp; - BUFHEAD *oldp; - BUFHEAD *nextp; -- __uint16_t next_addr; -+ __uint_least16_t next_addr; - } SPLIT_RETURN; -diff -uNr 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-01-31 14:21:44.000000000 +0100 -@@ -0,0 +1,31 @@ -+/* -+ * -+ */ -+#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 -+ -+#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 -uNr newlib-1.16.0.orig/newlib/libc/sys/rtems/sys/param.h newlib-1.16.0/newlib/libc/sys/rtems/sys/param.h ---- newlib-1.16.0.orig/newlib/libc/sys/rtems/sys/param.h 2004-05-07 22:29:24.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/sys/rtems/sys/param.h 2008-01-31 14:21:44.000000000 +0100 -@@ -93,7 +93,6 @@ - #include - #include - #include --#include - - #ifndef FALSE - #define FALSE 0 -diff -uNr newlib-1.16.0.orig/newlib/Makefile.am newlib-1.16.0/newlib/Makefile.am ---- newlib-1.16.0.orig/newlib/Makefile.am 2007-05-24 19:33:29.000000000 +0200 -+++ newlib-1.16.0/newlib/Makefile.am 2008-01-31 14:21:44.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 -uNr newlib-1.16.0.orig/newlib/Makefile.in newlib-1.16.0/newlib/Makefile.in ---- newlib-1.16.0.orig/newlib/Makefile.in 2007-12-19 23:36:26.000000000 +0100 -+++ newlib-1.16.0/newlib/Makefile.in 2008-01-31 14:21:44.000000000 +0100 -@@ -105,7 +105,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) -@@ -339,7 +339,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 -@@ -398,7 +398,7 @@ - - # dejagnu support - RUNTESTFLAGS = --all: newlib.h -+all: $(BUILT_SOURCES) newlib.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - - .SUFFIXES: -@@ -703,14 +703,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 -@@ -735,6 +737,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 \ -@@ -853,8 +856,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 --git a/contrib/crossrpms/patches/newlib-1.16.0-rtems4.9-20080302.diff b/contrib/crossrpms/patches/newlib-1.16.0-rtems4.9-20080302.diff deleted file mode 100644 index 4cd79f9932..0000000000 --- a/contrib/crossrpms/patches/newlib-1.16.0-rtems4.9-20080302.diff +++ /dev/null @@ -1,1803 +0,0 @@ -diff -Naur newlib-1.16.0.orig/newlib/libc/include/getopt.h newlib-1.16.0/newlib/libc/include/getopt.h ---- newlib-1.16.0.orig/newlib/libc/include/getopt.h 2006-01-04 22:21:52.000000000 +0100 -+++ newlib-1.16.0/newlib/libc/include/getopt.h 2008-03-03 08:36:14.000000000 +0100 -@@ -89,31 +89,40 @@ - - /* include files needed by this include file */ - --/* macros defined by this include file */ --#define NO_ARG 0 --#define REQUIRED_ARG 1 --#define OPTIONAL_ARG 2 -- --/* types defined by this include file */ -- --struct option --{ -- char *name; /* the name of the long option */ -- int has_arg; /* one of the above macros */ -- int *flag; /* determines if getopt_long() returns a -- * value for a long option; if it is -- * non-NULL, 0 is returned as a function -- * value and the value of val is stored in -- * the area pointed to by flag. Otherwise, -- * val is returned. */ -- int val; /* determines the value to return if flag is -- * NULL. */ --}; -+ /* These #defines are to keep the namespace clear... */ -+#define getopt_r __getopt_r -+#define getopt_long_r __getopt_long_r -+#define getopt_long_only_r __getopt_long_only_r - - #ifdef __cplusplus - extern "C" - { --#endif -+ -+#endif /* __cplusplus */ -+ -+/* types defined by this include file */ -+ struct option -+ { -+ char *name; /* the name of the long option */ -+ int has_arg; /* one of the above macros */ -+ int *flag; /* determines if getopt_long() returns a -+ * value for a long option; if it is -+ * non-NULL, 0 is returned as a function -+ * value and the value of val is stored in -+ * the area pointed to by flag. Otherwise, -+ * val is returned. */ -+ int val; /* determines the value to return if flag is -+ * NULL. */ -+ -+ }; -+ -+ /* The getopt_data structure is for reentrancy. Its members are similar to -+ the externally-defined variables. */ -+ typedef struct getopt_data -+ { -+ char *optarg; -+ int optind, opterr, optopt, optwhere; -+ } getopt_data; - - /* externally-defined variables */ - extern char *optarg; -@@ -122,14 +131,35 @@ - extern int optopt; - - /* function prototypes */ -- int _EXFUN (getopt, (int __argc, char *const __argv[], const char *__optstring)); -- int _EXFUN (getopt_long, (int __argc, char *const __argv[], const char *__shortopts, const struct option *__longopts, int *__longind)); -- int _EXFUN (getopt_long_only, (int __argc, char *const __argv[], const char *__shortopts, const struct option *__longopts, int *__longind)); -+ int _EXFUN (getopt, -+ (int __argc, char *const __argv[], const char *__optstring)); -+ -+ int _EXFUN (getopt_long, -+ (int __argc, char *const __argv[], const char *__shortopts, -+ const struct option * __longopts, int *__longind)); -+ -+ int _EXFUN (getopt_long_only, -+ (int __argc, char *const __argv[], const char *__shortopts, -+ const struct option * __longopts, int *__longind)); -+ -+ int _EXFUN (__getopt_r, -+ (int __argc, char *const __argv[], const char *__optstring, -+ struct getopt_data * __data)); -+ -+ int _EXFUN (__getopt_long_r, -+ (int __argc, char *const __argv[], const char *__shortopts, -+ const struct option * __longopts, int *__longind, -+ struct getopt_data * __data)); -+ -+ int _EXFUN (__getopt_long_only_r, -+ (int __argc, char *const __argv[], const char *__shortopts, -+ const struct option * __longopts, int *__longind, -+ struct getopt_data * __data)); - - #ifdef __cplusplus - }; - --#endif -+#endif /* __cplusplus */ - - #endif /* GETOPT_H */ - -diff -Naur 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-16 20:03:12.000000000 +0100 -+++ newlib-1.16.0/newlib/libc/include/inttypes.h 2008-03-03 08:36:14.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.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 2007-11-07 22:42:24.000000000 +0100 -+++ newlib-1.16.0/newlib/libc/include/machine/setjmp.h 2008-03-03 08:36:14.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. -@@ -268,6 +268,12 @@ - # define _CYGWIN_WORKING_SIGSETJMP - #endif - -+#ifdef _POSIX_THREADS -+#define __SIGMASK_FUNC pthread_sigmask -+#else -+#define __SIGMASK_FUNC sigprocmask -+#endif -+ - #if defined(__GNUC__) - - #define sigsetjmp(env, savemask) \ -@@ -275,7 +281,7 @@ - ({ \ - sigjmp_buf *_sjbuf = &(env); \ - ((*_sjbuf)[_SAVEMASK] = savemask,\ -- sigprocmask (SIG_SETMASK, 0, (sigset_t *)((*_sjbuf) + _SIGMASK)),\ -+ __SIGMASK_FUNC (SIG_SETMASK, 0, (sigset_t *)((*_sjbuf) + _SIGMASK)),\ - setjmp (*_sjbuf)); \ - }) - -@@ -284,7 +290,7 @@ - ({ \ - sigjmp_buf *_sjbuf = &(env); \ - ((((*_sjbuf)[_SAVEMASK]) ? \ -- sigprocmask (SIG_SETMASK, (sigset_t *)((*_sjbuf) + _SIGMASK), 0)\ -+ __SIGMASK_FUNC (SIG_SETMASK, (sigset_t *)((*_sjbuf) + _SIGMASK), 0)\ - : 0), \ - longjmp (*_sjbuf, val)); \ - }) -@@ -292,15 +298,21 @@ - #else /* !__GNUC__ */ - - #define sigsetjmp(env, savemask) ((env)[_SAVEMASK] = savemask,\ -- sigprocmask (SIG_SETMASK, 0, (sigset_t *) ((env) + _SIGMASK)),\ -+ __SIGMASK_FUNC (SIG_SETMASK, 0, (sigset_t *) ((env) + _SIGMASK)),\ - setjmp (env)) - - #define siglongjmp(env, val) ((((env)[_SAVEMASK])?\ -- sigprocmask (SIG_SETMASK, (sigset_t *) ((env) + _SIGMASK), 0):0),\ -+ __SIGMASK_FUNC (SIG_SETMASK, (sigset_t *) ((env) + _SIGMASK), 0):0),\ - longjmp (env, val)) - - #endif - -+/* POSIX _setjmp/_longjmp macros, maintained for XSI compatibility. These -+ are equivalent to sigsetjmp/siglongjmp when not saving the signal mask. -+ New applications should use sigsetjmp/siglongjmp instead. */ -+#define _setjmp(env) sigsetjmp ((env), 0) -+#define _longjmp(env, val) siglongjmp ((env), (val)) -+ - #ifdef __cplusplus - } - #endif -diff -Naur 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 2006-09-14 00:09:27.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/include/pthread.h 2008-03-03 08:36:14.000000000 +0100 -@@ -283,14 +283,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 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 2006-08-16 23:39:43.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/include/stdint.h 2008-03-03 08:36:14.000000000 +0100 -@@ -393,6 +393,9 @@ - #define UINTMAX_C(x) x##UL - #endif - -+#ifdef __rtems__ -+#include -+#endif - - #ifdef __cplusplus - } -diff -Naur 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 2007-12-19 19:51:19.000000000 +0100 -+++ newlib-1.16.0/newlib/libc/include/sys/features.h 2008-03-03 08:36:14.000000000 +0100 -@@ -38,6 +38,7 @@ - #define _POSIX_MEMLOCK_RANGE 1 - #define _POSIX_MEMORY_PROTECTION 1 - #define _POSIX_MESSAGE_PASSING 1 -+#define _POSIX_MONOTONIC_CLOCK 200112L - #define _POSIX_PRIORITIZED_IO 1 - #define _POSIX_PRIORITY_SCHEDULING 1 - #define _POSIX_REALTIME_SIGNALS 1 -diff -Naur 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-09-18 22:05:17.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/include/sys/_types.h 2008-03-03 08:36:14.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.16.0.orig/newlib/libc/include/sys/unistd.h newlib-1.16.0/newlib/libc/include/sys/unistd.h ---- newlib-1.16.0.orig/newlib/libc/include/sys/unistd.h 2007-11-08 17:20:12.000000000 +0100 -+++ newlib-1.16.0/newlib/libc/include/sys/unistd.h 2008-03-03 08:36:14.000000000 +0100 -@@ -219,13 +219,11 @@ - char * _EXFUN(mktemp, (char *)); - #endif - --#if defined(__CYGWIN__) || defined(__SPU__) -+#if defined(__CYGWIN__) || defined(__SPU__) || defined(__rtems__) - void _EXFUN(sync, (void)); --#elif defined(__rtems__) --int _EXFUN(sync, (void)); - #endif - --int _EXFUN(readlink, (const char *__path, char *__buf, int __buflen)); -+ssize_t _EXFUN(readlink, (const char *__path, char *__buf, size_t __buflen)); - int _EXFUN(symlink, (const char *__name1, const char *__name2)); - - #define F_OK 0 -diff -Naur newlib-1.16.0.orig/newlib/libc/include/_syslist.h newlib-1.16.0/newlib/libc/include/_syslist.h ---- newlib-1.16.0.orig/newlib/libc/include/_syslist.h 2005-08-22 23:13:35.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/include/_syslist.h 2008-03-03 08:36:14.000000000 +0100 -@@ -11,6 +11,7 @@ - #define _fstat fstat - #define _getpid getpid - #define _gettimeofday gettimeofday -+#define _isatty isatty - #define _kill kill - #define _link link - #define _lseek lseek -diff -Naur newlib-1.16.0.orig/newlib/libc/include/time.h newlib-1.16.0/newlib/libc/include/time.h ---- newlib-1.16.0.orig/newlib/libc/include/time.h 2005-11-18 16:57:24.000000000 +0100 -+++ newlib-1.16.0/newlib/libc/include/time.h 2008-03-03 08:36:14.000000000 +0100 -@@ -226,6 +226,16 @@ - - #endif - -+#if defined(_POSIX_MONOTONIC_CLOCK) -+ -+/* The identifier for the system-wide monotonic clock, which is defined -+ as a clock whose value cannot be set via clock_settime() and which -+ cannot have backward clock jumps. */ -+ -+#define CLOCK_MONOTONIC (clockid_t)4 -+ -+#endif -+ - #if defined(_POSIX_CPUTIME) - - /* Accessing a Process CPU-time CLock, P1003.4b/D8, p. 55 */ -diff -Naur 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 newlib-1.16.0.orig/newlib/libc/search/db_local.h newlib-1.16.0/newlib/libc/search/db_local.h ---- newlib-1.16.0.orig/newlib/libc/search/db_local.h 2002-06-25 01:05:08.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/db_local.h 2008-03-03 08:36:14.000000000 +0100 -@@ -50,7 +50,7 @@ - #define MAX_PAGE_NUMBER 0xffffffff /* >= # of pages in a file */ - typedef __uint32_t pgno_t; - #define MAX_PAGE_OFFSET 65535 /* >= # of bytes in a page */ --typedef __uint16_t indx_t; -+typedef __uint_least16_t indx_t; - #define MAX_REC_NUMBER 0xffffffff /* >= # of records in a tree */ - typedef __uint32_t recno_t; - -@@ -191,12 +191,12 @@ - * P_16_COPY swap from one location to another - */ - #define M_16_SWAP(a) { \ -- __uint16_t _tmp = a; \ -+ __uint_least16_t _tmp = a; \ - ((char *)&a)[0] = ((char *)&_tmp)[1]; \ - ((char *)&a)[1] = ((char *)&_tmp)[0]; \ - } - #define P_16_SWAP(a) { \ -- __uint16_t _tmp = *(__uint16_t *)a; \ -+ __uint_least16_t _tmp = *(__uint_least16_t *)a; \ - ((char *)a)[0] = ((char *)&_tmp)[1]; \ - ((char *)a)[1] = ((char *)&_tmp)[0]; \ - } -diff -Naur newlib-1.16.0.orig/newlib/libc/search/extern.h newlib-1.16.0/newlib/libc/search/extern.h ---- newlib-1.16.0.orig/newlib/libc/search/extern.h 2002-06-20 21:51:31.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/extern.h 2008-03-03 08:36:14.000000000 +0100 -@@ -48,7 +48,7 @@ - int __delpair(HTAB *, BUFHEAD *, int); - int __expand_table(HTAB *); - int __find_bigpair(HTAB *, BUFHEAD *, int, char *, int); --__uint16_t __find_last_page(HTAB *, BUFHEAD **); -+__uint_least16_t __find_last_page(HTAB *, BUFHEAD **); - void __free_ovflpage(HTAB *, BUFHEAD *); - BUFHEAD *__get_buf(HTAB *, __uint32_t, BUFHEAD *, int); - int __get_page(HTAB *, char *, __uint32_t, int, int, int); -diff -Naur newlib-1.16.0.orig/newlib/libc/search/hash_bigkey.c newlib-1.16.0/newlib/libc/search/hash_bigkey.c ---- newlib-1.16.0.orig/newlib/libc/search/hash_bigkey.c 2006-06-07 21:22:59.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/hash_bigkey.c 2008-03-03 08:36:14.000000000 +0100 -@@ -92,13 +92,13 @@ - BUFHEAD *bufp; - const DBT *key, *val; - { -- __uint16_t *p; -+ __uint_least16_t *p; - int key_size, n, val_size; -- __uint16_t space, move_bytes, off; -+ __uint_least16_t space, move_bytes, off; - char *cp, *key_data, *val_data; - - cp = bufp->page; /* Character pointer of p. */ -- p = (__uint16_t *)cp; -+ p = (__uint_least16_t *)cp; - - key_data = (char *)key->data; - key_size = key->size; -@@ -136,7 +136,7 @@ - OFFSET(p) = off; - } else - p[n - 2] = FULL_KEY; -- p = (__uint16_t *)bufp->page; -+ p = (__uint_least16_t *)bufp->page; - cp = bufp->page; - bufp->flags |= BUF_MOD; - } -@@ -166,7 +166,7 @@ - if (!bufp) - return (-1); - cp = bufp->page; -- p = (__uint16_t *)cp; -+ p = (__uint_least16_t *)cp; - } else - p[n] = FULL_KEY_DATA; - bufp->flags |= BUF_MOD; -@@ -191,12 +191,12 @@ - BUFHEAD *bufp; - { - BUFHEAD *last_bfp, *rbufp; -- __uint16_t *bp, pageno; -+ __uint_least16_t *bp, pageno; - int key_done, n; - - rbufp = bufp; - last_bfp = NULL; -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - pageno = 0; - key_done = 0; - -@@ -219,7 +219,7 @@ - last_bfp = rbufp; - if (!rbufp) - return (-1); /* Error. */ -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - } - - /* -@@ -234,7 +234,7 @@ - pageno = bp[n - 1]; - - /* Now, bp is the first page of the pair. */ -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - if (n > 2) { - /* There is an overflow page. */ - bp[1] = pageno; -@@ -272,13 +272,13 @@ - char *key; - int size; - { -- __uint16_t *bp; -+ __uint_least16_t *bp; - char *p; - int ksize; -- __uint16_t bytes; -+ __uint_least16_t bytes; - char *kkey; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - p = bufp->page; - ksize = size; - kkey = key; -@@ -294,7 +294,7 @@ - if (!bufp) - return (-3); - p = bufp->page; -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - ndx = 1; - } - -@@ -316,17 +316,17 @@ - * of the pair; 0 if there isn't any (i.e. big pair is the last key in the - * bucket) - */ --extern __uint16_t -+extern __uint_least16_t - __find_last_page(hashp, bpp) - HTAB *hashp; - BUFHEAD **bpp; - { - BUFHEAD *bufp; -- __uint16_t *bp, pageno; -+ __uint_least16_t *bp, pageno; - int n; - - bufp = *bpp; -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - for (;;) { - n = bp[0]; - -@@ -343,7 +343,7 @@ - bufp = __get_buf(hashp, pageno, bufp, 0); - if (!bufp) - return (0); /* Need to indicate an error! */ -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } - - *bpp = bufp; -@@ -366,15 +366,15 @@ - int set_current; - { - BUFHEAD *save_p; -- __uint16_t *bp, len, off, save_addr; -+ __uint_least16_t *bp, len, off, save_addr; - char *tp; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - while (bp[ndx + 1] == PARTIAL_KEY) { - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - ndx = 1; - } - -@@ -382,7 +382,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - save_p = bufp; - save_addr = save_p->addr; - off = bp[1]; -@@ -403,7 +403,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } else { - /* The data is all on one page. */ - tp = (char *)bp; -@@ -422,7 +422,7 @@ - if (!hashp->cpage) - return (-1); - hashp->cndx = 1; -- if (!((__uint16_t *) -+ if (!((__uint_least16_t *) - hashp->cpage->page)[0]) { - hashp->cbucket++; - hashp->cpage = NULL; -@@ -454,14 +454,14 @@ - BUFHEAD *bufp; - int len, set; - { -- __uint16_t *bp; -+ __uint_least16_t *bp; - char *p; - BUFHEAD *xbp; -- __uint16_t save_addr; -+ __uint_least16_t save_addr; - int mylen, totlen; - - p = bufp->page; -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - mylen = hashp->BSIZE - bp[1]; - save_addr = bufp->addr; - -@@ -481,7 +481,7 @@ - __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!hashp->cpage) - return (-1); -- else if (!((__uint16_t *)hashp->cpage->page)[0]) { -+ else if (!((__uint_least16_t *)hashp->cpage->page)[0]) { - hashp->cbucket++; - hashp->cpage = NULL; - } -@@ -533,10 +533,10 @@ - BUFHEAD *xbp; - char *p; - int mylen, totlen; -- __uint16_t *bp, save_addr; -+ __uint_least16_t *bp, save_addr; - - p = bufp->page; -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - mylen = hashp->BSIZE - bp[1]; - - save_addr = bufp->addr; -@@ -579,11 +579,11 @@ - SPLIT_RETURN *ret; - { - BUFHEAD *tmpp; -- __uint16_t *tp; -+ __uint_least16_t *tp; - BUFHEAD *bp; - DBT key, val; - __uint32_t change; -- __uint16_t free_space, n, off; -+ __uint_least16_t free_space, n, off; - - bp = big_keyp; - -@@ -615,14 +615,14 @@ - (tmpp->ovfl ? tmpp->ovfl->addr : 0), (bp ? bp->addr : 0)); - #endif - tmpp->ovfl = bp; /* one of op/np point to big_keyp */ -- tp = (__uint16_t *)tmpp->page; -+ tp = (__uint_least16_t *)tmpp->page; - #ifdef DEBUG - assert(FREESPACE(tp) >= OVFLSIZE); - #endif - n = tp[0]; - off = OFFSET(tp); - free_space = FREESPACE(tp); -- tp[++n] = (__uint16_t)addr; -+ tp[++n] = (__uint_least16_t)addr; - tp[++n] = OVFLPAGE; - tp[0] = n; - OFFSET(tp) = off; -@@ -638,7 +638,7 @@ - ret->newp = np; - ret->oldp = op; - -- tp = (__uint16_t *)big_keyp->page; -+ tp = (__uint_least16_t *)big_keyp->page; - big_keyp->flags |= BUF_MOD; - if (tp[0] > 2) { - /* -diff -Naur newlib-1.16.0.orig/newlib/libc/search/hash_buf.c newlib-1.16.0/newlib/libc/search/hash_buf.c ---- newlib-1.16.0.orig/newlib/libc/search/hash_buf.c 2004-05-26 19:57:10.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/hash_buf.c 2008-03-03 08:36:14.000000000 +0100 -@@ -176,7 +176,7 @@ - BUFHEAD *next_xbp; - SEGMENT segp; - int segment_ndx; -- __uint16_t oaddr, *shortp; -+ __uint_least16_t oaddr, *shortp; - - oaddr = 0; - bp = LRU; -@@ -212,7 +212,7 @@ - * Set oaddr before __put_page so that you get it - * before bytes are swapped. - */ -- shortp = (__uint16_t *)bp->page; -+ shortp = (__uint_least16_t *)bp->page; - if (shortp[0]) - oaddr = shortp[shortp[0] - 1]; - if ((bp->flags & BUF_MOD) && __put_page(hashp, bp->page, -@@ -255,7 +255,7 @@ - (oaddr != xbp->addr)) - break; - -- shortp = (__uint16_t *)xbp->page; -+ shortp = (__uint_least16_t *)xbp->page; - if (shortp[0]) - /* set before __put_page */ - oaddr = shortp[shortp[0] - 1]; -diff -Naur newlib-1.16.0.orig/newlib/libc/search/hash.c newlib-1.16.0/newlib/libc/search/hash.c ---- newlib-1.16.0.orig/newlib/libc/search/hash.c 2007-05-16 21:31:08.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/hash.c 2008-03-03 08:36:14.000000000 +0100 -@@ -632,10 +632,10 @@ - { - BUFHEAD *rbufp; - BUFHEAD *bufp, *save_bufp; -- __uint16_t *bp; -+ __uint_least16_t *bp; - int n, ndx, off, size; - char *kp; -- __uint16_t pageno; -+ __uint_least16_t pageno; - - #ifdef HASH_STATISTICS - hash_accesses++; -@@ -651,7 +651,7 @@ - - /* Pin the bucket chain */ - rbufp->flags |= BUF_PIN; -- for (bp = (__uint16_t *)rbufp->page, n = *bp++, ndx = 1; ndx < n;) -+ for (bp = (__uint_least16_t *)rbufp->page, n = *bp++, ndx = 1; ndx < n;) - if (bp[1] >= REAL_KEY) { - /* Real key/data pair */ - if (size == off - *bp && -@@ -670,7 +670,7 @@ - return (ERROR); - } - /* FOR LOOP INIT */ -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - n = *bp++; - ndx = 1; - off = hashp->BSIZE; -@@ -692,7 +692,7 @@ - return (ERROR); - } - /* FOR LOOP INIT */ -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - n = *bp++; - ndx = 1; - off = hashp->BSIZE; -@@ -726,7 +726,7 @@ - save_bufp->flags &= ~BUF_PIN; - return (ABNORMAL); - case HASH_GET: -- bp = (__uint16_t *)rbufp->page; -+ bp = (__uint_least16_t *)rbufp->page; - if (bp[ndx + 1] < REAL_KEY) { - if (__big_return(hashp, rbufp, ndx, val, 0)) - return (ERROR); -@@ -762,7 +762,7 @@ - __uint32_t bucket; - BUFHEAD *bufp; - HTAB *hashp; -- __uint16_t *bp, ndx; -+ __uint_least16_t *bp, ndx; - - hashp = (HTAB *)dbp->internal; - if (flag && flag != R_FIRST && flag != R_NEXT) { -@@ -787,7 +787,7 @@ - if (!bufp) - return (ERROR); - hashp->cpage = bufp; -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - if (bp[0]) - break; - } -@@ -797,7 +797,7 @@ - return (ABNORMAL); - } - } else -- bp = (__uint16_t *)hashp->cpage->page; -+ bp = (__uint_least16_t *)hashp->cpage->page; - - #ifdef DEBUG - assert(bp); -@@ -808,7 +808,7 @@ - __get_buf(hashp, bp[hashp->cndx], bufp, 0); - if (!bufp) - return (ERROR); -- bp = (__uint16_t *)(bufp->page); -+ bp = (__uint_least16_t *)(bufp->page); - hashp->cndx = 1; - } - if (!bp[0]) { -diff -Naur newlib-1.16.0.orig/newlib/libc/search/hash.h newlib-1.16.0/newlib/libc/search/hash.h ---- newlib-1.16.0.orig/newlib/libc/search/hash.h 2002-07-02 20:18:58.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/hash.h 2008-03-03 08:36:14.000000000 +0100 -@@ -102,7 +102,7 @@ - #define NCACHED 32 /* number of bit maps and spare - * points */ - int spares[NCACHED];/* spare pages for overflow */ -- __uint16_t bitmaps[NCACHED]; /* address of overflow page -+ __uint_least16_t bitmaps[NCACHED]; /* address of overflow page - * bitmaps */ - } HASHHDR; - -diff -Naur newlib-1.16.0.orig/newlib/libc/search/hash_page.c newlib-1.16.0/newlib/libc/search/hash_page.c ---- newlib-1.16.0.orig/newlib/libc/search/hash_page.c 2002-09-19 23:28:51.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/hash_page.c 2008-03-03 08:36:14.000000000 +0100 -@@ -77,16 +77,16 @@ - static __uint32_t *fetch_bitmap(HTAB *, int); - static __uint32_t first_free(__uint32_t); - static int open_temp(HTAB *); --static __uint16_t overflow_page(HTAB *); -+static __uint_least16_t overflow_page(HTAB *); - static void putpair(char *, const DBT *, const DBT *); --static void squeeze_key(__uint16_t *, const DBT *, const DBT *); -+static void squeeze_key(__uint_least16_t *, const DBT *, const DBT *); - static int ugly_split - (HTAB *, __uint32_t, BUFHEAD *, BUFHEAD *, int, int); - - #define PAGE_INIT(P) { \ -- ((__uint16_t *)(P))[0] = 0; \ -- ((__uint16_t *)(P))[1] = hashp->BSIZE - 3 * sizeof(__uint16_t); \ -- ((__uint16_t *)(P))[2] = hashp->BSIZE; \ -+ ((__uint_least16_t *)(P))[0] = 0; \ -+ ((__uint_least16_t *)(P))[1] = hashp->BSIZE - 3 * sizeof(__uint_least16_t); \ -+ ((__uint_least16_t *)(P))[2] = hashp->BSIZE; \ - } - - /* -@@ -99,9 +99,9 @@ - char *p; - const DBT *key, *val; - { -- __uint16_t *bp, n, off; -+ __uint_least16_t *bp, n, off; - -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - - /* Enter the key first. */ - n = bp[0]; -@@ -117,7 +117,7 @@ - - /* Adjust page info. */ - bp[0] = n; -- bp[n + 1] = off - ((n + 3) * sizeof(__uint16_t)); -+ bp[n + 1] = off - ((n + 3) * sizeof(__uint_least16_t)); - bp[n + 2] = off; - } - -@@ -132,11 +132,11 @@ - BUFHEAD *bufp; - int ndx; - { -- __uint16_t *bp, newoff; -+ __uint_least16_t *bp, newoff; - int n; -- __uint16_t pairlen; -+ __uint_least16_t pairlen; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - n = bp[0]; - - if (bp[ndx + 1] < REAL_KEY) -@@ -167,7 +167,7 @@ - } - /* Finally adjust the page data */ - bp[n] = OFFSET(bp) + pairlen; -- bp[n - 1] = bp[n + 1] + pairlen + 2 * sizeof(__uint16_t); -+ bp[n - 1] = bp[n + 1] + pairlen + 2 * sizeof(__uint_least16_t); - bp[0] = n - 2; - hashp->NKEYS--; - -@@ -185,15 +185,15 @@ - __uint32_t obucket, nbucket; - { - BUFHEAD *new_bufp, *old_bufp; -- __uint16_t *ino; -+ __uint_least16_t *ino; - char *np; - DBT key, val; - int n, ndx, retval; -- __uint16_t copyto, diff, off, moved; -+ __uint_least16_t copyto, diff, off, moved; - char *op; - -- copyto = (__uint16_t)hashp->BSIZE; -- off = (__uint16_t)hashp->BSIZE; -+ copyto = (__uint_least16_t)hashp->BSIZE; -+ off = (__uint_least16_t)hashp->BSIZE; - old_bufp = __get_buf(hashp, obucket, NULL, 0); - if (old_bufp == NULL) - return (-1); -@@ -204,7 +204,7 @@ - old_bufp->flags |= (BUF_MOD | BUF_PIN); - new_bufp->flags |= (BUF_MOD | BUF_PIN); - -- ino = (__uint16_t *)(op = old_bufp->page); -+ ino = (__uint_least16_t *)(op = old_bufp->page); - np = new_bufp->page; - - moved = 0; -@@ -246,13 +246,13 @@ - - /* Now clean up the page */ - ino[0] -= moved; -- FREESPACE(ino) = copyto - sizeof(__uint16_t) * (ino[0] + 3); -+ FREESPACE(ino) = copyto - sizeof(__uint_least16_t) * (ino[0] + 3); - OFFSET(ino) = copyto; - - #ifdef DEBUG3 - (void)fprintf(stderr, "split %d/%d\n", -- ((__uint16_t *)np)[0] / 2, -- ((__uint16_t *)op)[0] / 2); -+ ((__uint_least16_t *)np)[0] / 2, -+ ((__uint_least16_t *)op)[0] / 2); - #endif - /* unpin both pages */ - old_bufp->flags &= ~BUF_PIN; -@@ -284,22 +284,22 @@ - int moved; /* Number of pairs moved to new page. */ - { - BUFHEAD *bufp; /* Buffer header for ino */ -- __uint16_t *ino; /* Page keys come off of */ -- __uint16_t *np; /* New page */ -- __uint16_t *op; /* Page keys go on to if they aren't moving */ -+ __uint_least16_t *ino; /* Page keys come off of */ -+ __uint_least16_t *np; /* New page */ -+ __uint_least16_t *op; /* Page keys go on to if they aren't moving */ - - BUFHEAD *last_bfp; /* Last buf header OVFL needing to be freed */ - DBT key, val; - SPLIT_RETURN ret; -- __uint16_t n, off, ov_addr, scopyto; -+ __uint_least16_t n, off, ov_addr, scopyto; - char *cino; /* Character value of ino */ - - bufp = old_bufp; -- ino = (__uint16_t *)old_bufp->page; -- np = (__uint16_t *)new_bufp->page; -- op = (__uint16_t *)old_bufp->page; -+ ino = (__uint_least16_t *)old_bufp->page; -+ np = (__uint_least16_t *)new_bufp->page; -+ op = (__uint_least16_t *)old_bufp->page; - last_bfp = NULL; -- scopyto = (__uint16_t)copyto; /* ANSI */ -+ scopyto = (__uint_least16_t)copyto; /* ANSI */ - - n = ino[0] - 1; - while (n < ino[0]) { -@@ -310,16 +310,16 @@ - old_bufp = ret.oldp; - if (!old_bufp) - return (-1); -- op = (__uint16_t *)old_bufp->page; -+ op = (__uint_least16_t *)old_bufp->page; - new_bufp = ret.newp; - if (!new_bufp) - return (-1); -- np = (__uint16_t *)new_bufp->page; -+ np = (__uint_least16_t *)new_bufp->page; - bufp = ret.nextp; - if (!bufp) - return (0); - cino = (char *)bufp->page; -- ino = (__uint16_t *)cino; -+ ino = (__uint_least16_t *)cino; - last_bfp = ret.nextp; - } else if (ino[n + 1] == OVFLPAGE) { - ov_addr = ino[n]; -@@ -329,14 +329,14 @@ - */ - ino[0] -= (moved + 2); - FREESPACE(ino) = -- scopyto - sizeof(__uint16_t) * (ino[0] + 3); -+ scopyto - sizeof(__uint_least16_t) * (ino[0] + 3); - OFFSET(ino) = scopyto; - - bufp = __get_buf(hashp, ov_addr, bufp, 0); - if (!bufp) - return (-1); - -- ino = (__uint16_t *)bufp->page; -+ ino = (__uint_least16_t *)bufp->page; - n = 1; - scopyto = hashp->BSIZE; - moved = 0; -@@ -364,7 +364,7 @@ - __add_ovflpage(hashp, old_bufp); - if (!old_bufp) - return (-1); -- op = (__uint16_t *)old_bufp->page; -+ op = (__uint_least16_t *)old_bufp->page; - putpair((char *)op, &key, &val); - } - old_bufp->flags |= BUF_MOD; -@@ -377,7 +377,7 @@ - __add_ovflpage(hashp, new_bufp); - if (!new_bufp) - return (-1); -- np = (__uint16_t *)new_bufp->page; -+ np = (__uint_least16_t *)new_bufp->page; - putpair((char *)np, &key, &val); - } - new_bufp->flags |= BUF_MOD; -@@ -402,10 +402,10 @@ - BUFHEAD *bufp; - const DBT *key, *val; - { -- __uint16_t *bp, *sop; -+ __uint_least16_t *bp, *sop; - int do_expand; - -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - do_expand = 0; - while (bp[0] && (bp[2] < REAL_KEY || bp[bp[0]] < REAL_KEY)) - /* Exception case */ -@@ -417,7 +417,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } else - /* Try to squeeze key on this page */ - if (FREESPACE(bp) > PAIRSIZE(key, val)) { -@@ -427,7 +427,7 @@ - bufp = __get_buf(hashp, bp[bp[0] - 1], bufp, 0); - if (!bufp) - return (-1); -- bp = (__uint16_t *)bufp->page; -+ bp = (__uint_least16_t *)bufp->page; - } - - if (PAIRFITS(bp, key, val)) -@@ -437,7 +437,7 @@ - bufp = __add_ovflpage(hashp, bufp); - if (!bufp) - return (-1); -- sop = (__uint16_t *)bufp->page; -+ sop = (__uint_least16_t *)bufp->page; - - if (PAIRFITS(sop, key, val)) - putpair((char *)sop, key, val); -@@ -468,12 +468,12 @@ - HTAB *hashp; - BUFHEAD *bufp; - { -- __uint16_t *sp; -- __uint16_t ndx, ovfl_num; -+ __uint_least16_t *sp; -+ __uint_least16_t ndx, ovfl_num; - #ifdef DEBUG1 - int tmp1, tmp2; - #endif -- sp = (__uint16_t *)bufp->page; -+ sp = (__uint_least16_t *)bufp->page; - - /* Check if we are dynamically determining the fill factor */ - if (hashp->FFACTOR == DEF_FFACTOR) { -@@ -525,7 +525,7 @@ - { - int fd, page, size; - int rsize; -- __uint16_t *bp; -+ __uint_least16_t *bp; - - fd = hashp->fp; - size = hashp->BSIZE; -@@ -541,7 +541,7 @@ - if ((lseek(fd, (off_t)page << hashp->BSHIFT, SEEK_SET) == -1) || - ((rsize = read(fd, p, size)) == -1)) - return (-1); -- bp = (__uint16_t *)p; -+ bp = (__uint_least16_t *)p; - if (!rsize) - bp[0] = 0; /* We hit the EOF, so initialize a new page */ - else -@@ -600,9 +600,9 @@ - for (i = 0; i < max; i++) - M_32_SWAP(((int *)p)[i]); - } else { -- max = ((__uint16_t *)p)[0] + 2; -+ max = ((__uint_least16_t *)p)[0] + 2; - for (i = 0; i <= max; i++) -- M_16_SWAP(((__uint16_t *)p)[i]); -+ M_16_SWAP(((__uint_least16_t *)p)[i]); - } - } - if (is_bucket) -@@ -643,7 +643,7 @@ - hashp->BSIZE - clearbytes); - ip[clearints - 1] = ALL_SET << (nbits & BYTE_MASK); - SETBIT(ip, 0); -- hashp->BITMAPS[ndx] = (__uint16_t)pnum; -+ hashp->BITMAPS[ndx] = (__uint_least16_t)pnum; - hashp->mapp[ndx] = ip; - return (0); - } -@@ -663,13 +663,13 @@ - return (i); - } - --static __uint16_t -+static __uint_least16_t - overflow_page(hashp) - HTAB *hashp; - { - __uint32_t *freep; - int max_free, offset, splitnum; -- __uint16_t addr; -+ __uint_least16_t addr; - int bit, first_page, free_bit, free_page, i, in_use_bits, j; - #ifdef DEBUG2 - int tmp1, tmp2; -@@ -816,16 +816,16 @@ - HTAB *hashp; - BUFHEAD *obufp; - { -- __uint16_t addr; -+ __uint_least16_t addr; - __uint32_t *freep; - int bit_address, free_page, free_bit; -- __uint16_t ndx; -+ __uint_least16_t ndx; - - addr = obufp->addr; - #ifdef DEBUG1 - (void)fprintf(stderr, "Freeing %d\n", addr); - #endif -- ndx = (((__uint16_t)addr) >> SPLITSHIFT); -+ ndx = (((__uint_least16_t)addr) >> SPLITSHIFT); - bit_address = - (ndx ? hashp->SPARES[ndx - 1] : 0) + (addr & SPLITMASK) - 1; - if (bit_address < hashp->LAST_FREED) -@@ -883,11 +883,11 @@ - */ - static void - squeeze_key(sp, key, val) -- __uint16_t *sp; -+ __uint_least16_t *sp; - const DBT *key, *val; - { - char *p; -- __uint16_t free_space, n, off, pageno; -+ __uint_least16_t free_space, n, off, pageno; - - p = (char *)sp; - n = sp[0]; -diff -Naur newlib-1.16.0.orig/newlib/libc/search/page.h newlib-1.16.0/newlib/libc/search/page.h ---- newlib-1.16.0.orig/newlib/libc/search/page.h 2002-06-20 21:51:31.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/search/page.h 2008-03-03 08:36:14.000000000 +0100 -@@ -74,20 +74,20 @@ - * You might as well do this up front. - */ - --#define PAIRSIZE(K,D) (2*sizeof(__uint16_t) + (K)->size + (D)->size) --#define BIGOVERHEAD (4*sizeof(__uint16_t)) --#define KEYSIZE(K) (4*sizeof(__uint16_t) + (K)->size); --#define OVFLSIZE (2*sizeof(__uint16_t)) -+#define PAIRSIZE(K,D) (2*sizeof(__uint_least16_t) + (K)->size + (D)->size) -+#define BIGOVERHEAD (4*sizeof(__uint_least16_t)) -+#define KEYSIZE(K) (4*sizeof(__uint_least16_t) + (K)->size); -+#define OVFLSIZE (2*sizeof(__uint_least16_t)) - #define FREESPACE(P) ((P)[(P)[0]+1]) - #define OFFSET(P) ((P)[(P)[0]+2]) - #define PAIRFITS(P,K,D) \ - (((P)[2] >= REAL_KEY) && \ - (PAIRSIZE((K),(D)) + OVFLSIZE) <= FREESPACE((P))) --#define PAGE_META(N) (((N)+3) * sizeof(__uint16_t)) -+#define PAGE_META(N) (((N)+3) * sizeof(__uint_least16_t)) - - typedef struct { - BUFHEAD *newp; - BUFHEAD *oldp; - BUFHEAD *nextp; -- __uint16_t next_addr; -+ __uint_least16_t next_addr; - } SPLIT_RETURN; -diff -Naur newlib-1.16.0.orig/newlib/libc/stdlib/getopt.c newlib-1.16.0/newlib/libc/stdlib/getopt.c ---- newlib-1.16.0.orig/newlib/libc/stdlib/getopt.c 2007-05-29 23:26:59.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/stdlib/getopt.c 2008-03-03 08:36:14.000000000 +0100 -@@ -90,6 +90,9 @@ - #include - - /* macros */ -+#define NO_ARG 0 -+#define REQUIRED_ARG 1 -+#define OPTIONAL_ARG 2 - - /* types */ - typedef enum GETOPT_ORDERING_T -@@ -100,16 +103,19 @@ - } GETOPT_ORDERING_T; - - /* globally-defined variables */ --char *optarg = NULL; -+char *optarg = 0; - int optind = 0; - int opterr = 1; - int optopt = '?'; - -+/* static variables */ -+static int optwhere = 0; -+ - /* functions */ - - /* reverse_argv_elements: reverses num elements starting at argv */ - static void --reverse_argv_elements (char ** argv, int num) -+reverse_argv_elements (char **argv, int num) - { - int i; - char *tmp; -@@ -126,281 +132,346 @@ - static void - permute (char *const argv[], int len1, int len2) - { -- reverse_argv_elements ((char **)argv, len1); -- reverse_argv_elements ((char **)argv, len1 + len2); -- reverse_argv_elements ((char **)argv, len2); -+ reverse_argv_elements ((char **) argv, len1); -+ reverse_argv_elements ((char **) argv, len1 + len2); -+ reverse_argv_elements ((char **) argv, len2); - } - - /* is_option: is this argv-element an option or the end of the option list? */ - static int - is_option (char *argv_element, int only) - { -- return ((argv_element == NULL) -- || (argv_element[0] == '-') || (only && argv_element[0] == '+')); -+ return ((argv_element == 0) -+ || (argv_element[0] == '-') || (only && argv_element[0] == '+')); -+} -+ -+/* read_globals: read the values from the globals into a getopt_data -+ structure */ -+static void -+read_globals (struct getopt_data *data) -+{ -+ data->optarg = optarg; -+ data->optind = optind; -+ data->opterr = opterr; -+ data->optopt = optopt; -+ data->optwhere = optwhere; -+} -+ -+/* write_globals: write the values into the globals from a getopt_data -+ structure */ -+static void -+write_globals (struct getopt_data *data) -+{ -+ optarg = data->optarg; -+ optind = data->optind; -+ opterr = data->opterr; -+ optopt = data->optopt; -+ optwhere = data->optwhere; - } - - /* getopt_internal: the function that does all the dirty work */ - static int - getopt_internal (int argc, char *const argv[], const char *shortopts, -- const struct option *longopts, int *longind, int only) -+ const struct option *longopts, int *longind, int only, -+ struct getopt_data *data) - { - GETOPT_ORDERING_T ordering = PERMUTE; -- static size_t optwhere = 0; - size_t permute_from = 0; - int num_nonopts = 0; - int optindex = 0; - size_t match_chars = 0; -- char *possible_arg = NULL; -+ char *possible_arg = 0; - int longopt_match = -1; - int has_arg = -1; -- char *cp = NULL; -+ char *cp = 0; - int arg_next = 0; - - /* first, deal with silly parameters and easy stuff */ -- if (argc == 0 || argv == NULL || (shortopts == NULL && longopts == NULL)) -- return EOF; -- if (optind >= argc || argv[optind] == NULL) -+ if (argc == 0 || argv == 0 || (shortopts == 0 && longopts == 0) -+ || data->optind >= argc || argv[data->optind] == 0) - return EOF; -- if (strcmp (argv[optind], "--") == 0) -+ if (strcmp (argv[data->optind], "--") == 0) - { -- optind++; -+ data->optind++; - return EOF; - } -+ - /* if this is our first time through */ -- if (optind == 0) -- optind = optwhere = 1; -+ if (data->optind == 0) -+ data->optind = data->optwhere = 1; - - /* define ordering */ -- if (shortopts != NULL && (*shortopts == '-' || *shortopts == '+')) -+ if (shortopts != 0 && (*shortopts == '-' || *shortopts == '+')) - { - ordering = (*shortopts == '-') ? RETURN_IN_ORDER : REQUIRE_ORDER; - shortopts++; - } - else -- ordering = (getenv ("POSIXLY_CORRECT") != NULL) ? REQUIRE_ORDER : PERMUTE; -+ ordering = (getenv ("POSIXLY_CORRECT") != 0) ? REQUIRE_ORDER : PERMUTE; - - /* - * based on ordering, find our next option, if we're at the beginning of - * one - */ -- if (optwhere == 1) -+ if (data->optwhere == 1) - { - switch (ordering) -- { -- case PERMUTE: -- permute_from = optind; -- num_nonopts = 0; -- while (!is_option (argv[optind], only)) -- { -- optind++; -- num_nonopts++; -- } -- if (argv[optind] == NULL) -- { -- /* no more options */ -- optind = permute_from; -- return EOF; -- } -- else if (strcmp (argv[optind], "--") == 0) -- { -- /* no more options, but have to get `--' out of the way */ -- permute (argv + permute_from, num_nonopts, 1); -- optind = permute_from + 1; -- return EOF; -- } -- break; -- case RETURN_IN_ORDER: -- if (!is_option (argv[optind], only)) -- { -- optarg = argv[optind++]; -- return (optopt = 1); -- } -- break; -- case REQUIRE_ORDER: -- if (!is_option (argv[optind], only)) -- return EOF; -- break; -- } -+ { -+ default: /* shouldn't happen */ -+ case PERMUTE: -+ permute_from = data->optind; -+ num_nonopts = 0; -+ while (!is_option (argv[data->optind], only)) -+ { -+ data->optind++; -+ num_nonopts++; -+ } -+ if (argv[data->optind] == 0) -+ { -+ /* no more options */ -+ data->optind = permute_from; -+ return EOF; -+ } -+ else if (strcmp (argv[data->optind], "--") == 0) -+ { -+ /* no more options, but have to get `--' out of the way */ -+ permute (argv + permute_from, num_nonopts, 1); -+ data->optind = permute_from + 1; -+ return EOF; -+ } -+ break; -+ case RETURN_IN_ORDER: -+ if (!is_option (argv[data->optind], only)) -+ { -+ data->optarg = argv[data->optind++]; -+ return (data->optopt = 1); -+ } -+ break; -+ case REQUIRE_ORDER: -+ if (!is_option (argv[data->optind], only)) -+ return EOF; -+ break; -+ } - } - /* we've got an option, so parse it */ - - /* first, is it a long option? */ -- if (longopts != NULL -- && (memcmp (argv[optind], "--", 2) == 0 -- || (only && argv[optind][0] == '+')) && optwhere == 1) -+ if (longopts != 0 -+ && (memcmp (argv[data->optind], "--", 2) == 0 -+ || (only && argv[data->optind][0] == '+')) && data->optwhere == 1) - { - /* handle long options */ -- if (memcmp (argv[optind], "--", 2) == 0) -- optwhere = 2; -+ if (memcmp (argv[data->optind], "--", 2) == 0) -+ data->optwhere = 2; - longopt_match = -1; -- possible_arg = strchr (argv[optind] + optwhere, '='); -- if (possible_arg == NULL) -- { -- /* no =, so next argv might be arg */ -- match_chars = strlen (argv[optind]); -- possible_arg = argv[optind] + match_chars; -- match_chars = match_chars - optwhere; -- } -+ possible_arg = strchr (argv[data->optind] + data->optwhere, '='); -+ if (possible_arg == 0) -+ { -+ /* no =, so next argv might be arg */ -+ match_chars = strlen (argv[data->optind]); -+ possible_arg = argv[data->optind] + match_chars; -+ match_chars = match_chars - data->optwhere; -+ } - else -- match_chars = (possible_arg - argv[optind]) - optwhere; -- for (optindex = 0; longopts[optindex].name != NULL; optindex++) -- { -- if (memcmp (argv[optind] + optwhere, -- longopts[optindex].name, match_chars) == 0) -- { -- /* do we have an exact match? */ -- if (match_chars == (int) (strlen (longopts[optindex].name))) -- { -- longopt_match = optindex; -- break; -- } -- /* do any characters match? */ -- else -- { -- if (longopt_match < 0) -- longopt_match = optindex; -- else -- { -- /* we have ambiguous options */ -- if (opterr) -- fprintf (stderr, "%s: option `%s' is ambiguous " -- "(could be `--%s' or `--%s')\n", -- argv[0], -- argv[optind], -- longopts[longopt_match].name, -- longopts[optindex].name); -- return (optopt = '?'); -- } -- } -- } -- } -+ match_chars = (possible_arg - argv[data->optind]) - data->optwhere; -+ for (optindex = 0; longopts[optindex].name != 0; ++optindex) -+ { -+ if (memcmp -+ (argv[data->optind] + data->optwhere, longopts[optindex].name, -+ match_chars) == 0) -+ { -+ /* do we have an exact match? */ -+ if (match_chars == (int) (strlen (longopts[optindex].name))) -+ { -+ longopt_match = optindex; -+ break; -+ } -+ /* do any characters match? */ -+ else -+ { -+ if (longopt_match < 0) -+ longopt_match = optindex; -+ else -+ { -+ /* we have ambiguous options */ -+ if (data->opterr) -+ fprintf (stderr, "%s: option `%s' is ambiguous " -+ "(could be `--%s' or `--%s')\n", -+ argv[0], -+ argv[data->optind], -+ longopts[longopt_match].name, -+ longopts[optindex].name); -+ return (data->optopt = '?'); -+ } -+ } -+ } -+ } - if (longopt_match >= 0) -- has_arg = longopts[longopt_match].has_arg; -+ has_arg = longopts[longopt_match].has_arg; - } -+ - /* if we didn't find a long option, is it a short option? */ -- if (longopt_match < 0 && shortopts != NULL) -+ if (longopt_match < 0 && shortopts != 0) - { -- cp = strchr (shortopts, argv[optind][optwhere]); -- if (cp == NULL) -- { -- /* couldn't find option in shortopts */ -- if (opterr) -- fprintf (stderr, -- "%s: invalid option -- `-%c'\n", -- argv[0], argv[optind][optwhere]); -- optwhere++; -- if (argv[optind][optwhere] == '\0') -- { -- optind++; -- optwhere = 1; -- } -- return (optopt = '?'); -- } -+ cp = strchr (shortopts, argv[data->optind][data->optwhere]); -+ if (cp == 0) -+ { -+ /* couldn't find option in shortopts */ -+ if (data->opterr) -+ fprintf (stderr, -+ "%s: invalid option -- `-%c'\n", -+ argv[0], argv[data->optind][data->optwhere]); -+ data->optwhere++; -+ if (argv[data->optind][data->optwhere] == '\0') -+ { -+ data->optind++; -+ data->optwhere = 1; -+ } -+ return (data->optopt = '?'); -+ } - has_arg = ((cp[1] == ':') -- ? ((cp[2] == ':') ? OPTIONAL_ARG : REQUIRED_ARG) : NO_ARG); -- possible_arg = argv[optind] + optwhere + 1; -- optopt = *cp; -+ ? ((cp[2] == ':') ? OPTIONAL_ARG : REQUIRED_ARG) : NO_ARG); -+ possible_arg = argv[data->optind] + data->optwhere + 1; -+ data->optopt = *cp; - } -- /* get argument and reset optwhere */ -+ -+ /* get argument and reset data->optwhere */ - arg_next = 0; - switch (has_arg) - { - case OPTIONAL_ARG: - if (*possible_arg == '=') -- possible_arg++; -- if (*possible_arg != '\0') -- { -- optarg = possible_arg; -- optwhere = 1; -- } -- else -- optarg = NULL; -+ possible_arg++; -+ data->optarg = (*possible_arg != '\0') ? possible_arg : 0; -+ data->optwhere = 1; - break; - case REQUIRED_ARG: - if (*possible_arg == '=') -- possible_arg++; -+ possible_arg++; - if (*possible_arg != '\0') -- { -- optarg = possible_arg; -- optwhere = 1; -- } -- else if (optind + 1 >= argc) -- { -- if (opterr) -- { -- fprintf (stderr, "%s: argument required for option `", argv[0]); -- if (longopt_match >= 0) -- fprintf (stderr, "--%s'\n", longopts[longopt_match].name); -- else -- fprintf (stderr, "-%c'\n", *cp); -- } -- optind++; -- return (optopt = ':'); -- } -+ { -+ data->optarg = possible_arg; -+ data->optwhere = 1; -+ } -+ else if (data->optind + 1 >= argc) -+ { -+ if (data->opterr) -+ { -+ fprintf (stderr, "%s: argument required for option `", argv[0]); -+ if (longopt_match >= 0) -+ fprintf (stderr, "--%s'\n", longopts[longopt_match].name); -+ else -+ fprintf (stderr, "-%c'\n", *cp); -+ } -+ data->optind++; -+ return (data->optopt = ':'); -+ } - else -- { -- optarg = argv[optind + 1]; -- arg_next = 1; -- optwhere = 1; -- } -+ { -+ data->optarg = argv[data->optind + 1]; -+ arg_next = 1; -+ data->optwhere = 1; -+ } - break; -+ default: /* shouldn't happen */ - case NO_ARG: - if (longopt_match < 0) -- { -- optwhere++; -- if (argv[optind][optwhere] == '\0') -- optwhere = 1; -- } -+ { -+ data->optwhere++; -+ if (argv[data->optind][data->optwhere] == '\0') -+ data->optwhere = 1; -+ } - else -- optwhere = 1; -- optarg = NULL; -+ data->optwhere = 1; -+ data->optarg = 0; - break; - } - -- /* do we have to permute or otherwise modify optind? */ -- if (ordering == PERMUTE && optwhere == 1 && num_nonopts != 0) -+ /* do we have to permute or otherwise modify data->optind? */ -+ if (ordering == PERMUTE && data->optwhere == 1 && num_nonopts != 0) - { - permute (argv + permute_from, num_nonopts, 1 + arg_next); -- optind = permute_from + 1 + arg_next; -+ data->optind = permute_from + 1 + arg_next; - } -- else if (optwhere == 1) -- optind = optind + 1 + arg_next; -+ else if (data->optwhere == 1) -+ data->optind = data->optind + 1 + arg_next; - - /* finally return */ - if (longopt_match >= 0) - { -- if (longind != NULL) -- *longind = longopt_match; -- if (longopts[longopt_match].flag != NULL) -- { -- *(longopts[longopt_match].flag) = longopts[longopt_match].val; -- return 0; -- } -+ if (longind != 0) -+ *longind = longopt_match; -+ if (longopts[longopt_match].flag != 0) -+ { -+ *(longopts[longopt_match].flag) = longopts[longopt_match].val; -+ return 0; -+ } - else -- return longopts[longopt_match].val; -+ return longopts[longopt_match].val; - } - else -- return optopt; -+ return data->optopt; - } - - int - getopt (int argc, char *const argv[], const char *optstring) - { -- return getopt_internal (argc, argv, optstring, NULL, NULL, 0); -+ struct getopt_data data; -+ int r; -+ -+ read_globals (&data); -+ r = getopt_internal (argc, argv, optstring, 0, 0, 0, &data); -+ write_globals (&data); -+ return r; - } - - int - getopt_long (int argc, char *const argv[], const char *shortopts, -- const struct option *longopts, int *longind) -+ const struct option *longopts, int *longind) - { -- return getopt_internal (argc, argv, shortopts, longopts, longind, 0); -+ struct getopt_data data; -+ int r; -+ -+ read_globals (&data); -+ r = getopt_internal (argc, argv, shortopts, longopts, longind, 0, &data); -+ write_globals (&data); -+ return r; - } - - int - getopt_long_only (int argc, char *const argv[], const char *shortopts, -- const struct option *longopts, int *longind) -+ const struct option *longopts, int *longind) -+{ -+ struct getopt_data data; -+ int r; -+ -+ read_globals (&data); -+ r = getopt_internal (argc, argv, shortopts, longopts, longind, 1, &data); -+ write_globals (&data); -+ return r; -+} -+ -+int -+__getopt_r (int argc, char *const argv[], const char *optstring, -+ struct getopt_data *data) -+{ -+ return getopt_internal (argc, argv, optstring, 0, 0, 0, data); -+} -+ -+int -+__getopt_long_r (int argc, char *const argv[], const char *shortopts, -+ const struct option *longopts, int *longind, -+ struct getopt_data *data) -+{ -+ return getopt_internal (argc, argv, shortopts, longopts, longind, 0, data); -+} -+ -+int -+__getopt_long_only_r (int argc, char *const argv[], const char *shortopts, -+ const struct option *longopts, int *longind, -+ struct getopt_data *data) - { -- return getopt_internal (argc, argv, shortopts, longopts, longind, 1); -+ return getopt_internal (argc, argv, shortopts, longopts, longind, 1, data); - } - - /* end of file GETOPT.C */ -diff -Naur 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-03-03 08:36:14.000000000 +0100 -@@ -0,0 +1,31 @@ -+/* -+ * -+ */ -+#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 -+ -+#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 newlib-1.16.0.orig/newlib/libc/sys/rtems/sys/param.h newlib-1.16.0/newlib/libc/sys/rtems/sys/param.h ---- newlib-1.16.0.orig/newlib/libc/sys/rtems/sys/param.h 2004-05-07 22:29:24.000000000 +0200 -+++ newlib-1.16.0/newlib/libc/sys/rtems/sys/param.h 2008-03-03 08:36:14.000000000 +0100 -@@ -93,7 +93,6 @@ - #include - #include - #include --#include - - #ifndef FALSE - #define FALSE 0 -diff -Naur newlib-1.16.0.orig/newlib/Makefile.am newlib-1.16.0/newlib/Makefile.am ---- newlib-1.16.0.orig/newlib/Makefile.am 2007-05-24 19:33:29.000000000 +0200 -+++ newlib-1.16.0/newlib/Makefile.am 2008-03-03 08:36:14.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.16.0.orig/newlib/Makefile.in newlib-1.16.0/newlib/Makefile.in ---- newlib-1.16.0.orig/newlib/Makefile.in 2007-12-19 23:36:26.000000000 +0100 -+++ newlib-1.16.0/newlib/Makefile.in 2008-03-03 08:36:14.000000000 +0100 -@@ -105,7 +105,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) -@@ -339,7 +339,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 -@@ -398,7 +398,7 @@ - - # dejagnu support - RUNTESTFLAGS = --all: newlib.h -+all: $(BUILT_SOURCES) newlib.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - - .SUFFIXES: -@@ -703,14 +703,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 -@@ -735,6 +737,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 \ -@@ -853,8 +856,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. -- cgit v1.2.3