summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2008-06-05 02:53:52 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2008-06-05 02:53:52 +0000
commit5a820918f121590bf1595f08a0f655fee37280a2 (patch)
tree916888b11f214ae114b70be321bf9be5d625d205 /contrib
parent2008-06-04 Joel Sherrill <joel.sherrill@OARcorp.com> (diff)
downloadrtems-5a820918f121590bf1595f08a0f655fee37280a2.tar.bz2
Remove.
Diffstat (limited to 'contrib')
-rw-r--r--contrib/crossrpms/patches/binutils-2.16.1-rtems-20050708.diff97
-rw-r--r--contrib/crossrpms/patches/binutils-2.17-rtems4.8-20061021.diff556
-rw-r--r--contrib/crossrpms/patches/binutils-2.17.90-rtems4.8-20070807.diff14
-rw-r--r--contrib/crossrpms/patches/binutils-2.18-rtems4.9-20071104.diff24
-rw-r--r--contrib/crossrpms/patches/gcc-core-4.0.4-rtems4.9-20071111.diff27
-rw-r--r--contrib/crossrpms/patches/gcc-core-4.2.3-rtems4.9-20080202.diff75
-rw-r--r--contrib/crossrpms/patches/gcc-core-4.3.0-rtems4.9-20080306.diff89
-rw-r--r--contrib/crossrpms/patches/gdb-6.8-rtems4.9-20080428.diff584
-rw-r--r--contrib/crossrpms/patches/newlib-1.15.0-rtems4.8-20070208.diff1392
-rw-r--r--contrib/crossrpms/patches/newlib-1.15.0-rtems4.8-20070316.diff1403
-rw-r--r--contrib/crossrpms/patches/newlib-1.15.0-rtems4.8-20070413.diff1449
-rw-r--r--contrib/crossrpms/patches/newlib-1.15.0-rtems4.8-20070912.diff1626
-rw-r--r--contrib/crossrpms/patches/newlib-1.16.0-rtems4.9-20071220.diff1054
-rw-r--r--contrib/crossrpms/patches/newlib-1.16.0-rtems4.9-20080131.diff1138
-rw-r--r--contrib/crossrpms/patches/newlib-1.16.0-rtems4.9-20080302.diff1803
15 files changed, 0 insertions, 11331 deletions
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 <nickc@redhat.com>
-+
-+ 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 <amodra@bigpond.net.au>
-+
-+ * 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 <mrd@alkemio.org>
-+
-+ * cpu-m68k.c (bfd_m68k_compatible): Handle CPU32.
-+
-+2006-06-23 Daniel Jacobowitz <dan@codesourcery.com>
-+
-+ * Makefile.am: Clear RELEASE.
-+ * Makefile.in: Regenerated.
-+
- 2006-06-23 Daniel Jacobowitz <dan@codesourcery.com>
-
- * 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 <nickc@redhat.com>
-+
-+ PR binutils/3039
-+ * wrstabs.c (stab_tag_type): Initialize 'size'.
-+
- 2006-06-07 Joseph S. Myers <joseph@codesourcery.com>
-
- * 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 <mat@lcs.mit.edu>
-+
-+ * symbols.c (report_op_error): Fix pasto. Don't use as_bad_where
-+ when file and line unknown.
-+
- 2006-06-07 Joseph S. Myers <joseph@codesourcery.com>
-
- * 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 <amodra@bigpond.net.au>
-+
-+ * 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 <dan@codesourcery.com>
-+
-+ Backport:
-+ 2006-05-19 Alan Modra <amodra@bigpond.net.au>
-+ * ldlang.c (lang_size_sections_1): Don't check mem regions for
-+ os->ignored sections.
-+
- 2006-06-12 Fred Fish <fnf@specifix.com>
-
- * 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 <richard@codesourcery.com>
-+
-+ * ld-m68k/merge-ok-1c.d: New test.
-+ * ld-m68k/m68k.exp: Run it.
-+
-+2006-07-04 Daniel Jacobowitz <dan@codesourcery.com>
-+
-+ Backport:
-+ 2006-05-19 Alan Modra <amodra@bigpond.net.au>
-+ * 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 <dan@codesourcery.com>
-
- 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 <unistd.h>
- #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 <sys/types.h>
- #include <stdio.h>
-+#include <string.h>
- #include <termios.h>
- #include <sys/fcntl.h>
- #include <sys/file.h>
-@@ -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 <machine/stdint.h>
-+#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 <machine/stdint.h>
-+#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 <sys/resource.h>
- #include <sys/ucred.h>
- #include <sys/uio.h>
--#include <sys/rtprio.h>
-
- #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 <machine/stdint.h>
-+#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 <sys/resource.h>
- #include <sys/ucred.h>
- #include <sys/uio.h>
--#include <sys/rtprio.h>
-
- #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 <machine/stdint.h>
-+#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 <sys/resource.h>
- #include <sys/ucred.h>
- #include <sys/uio.h>
--#include <sys/rtprio.h>
-
- #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 <machine/stdint.h>
-+#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 <sys/resource.h>
- #include <sys/ucred.h>
- #include <sys/uio.h>
--#include <sys/rtprio.h>
-
- #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 <machine/stdint.h>
-+#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 <sys/resource.h>
- #include <sys/ucred.h>
- #include <sys/uio.h>
--#include <sys/rtprio.h>
-
- #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 <machine/stdint.h>
-+#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 <getopt.h>
-
- /* 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 <sys/resource.h>
- #include <sys/ucred.h>
- #include <sys/uio.h>
--#include <sys/rtprio.h>
-
- #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.