From c18be8ee46daab144555a1e097de0e4b54840329 Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Wed, 28 Sep 2011 10:26:32 +0000 Subject: Housekeeping. --- .../patches/gdb-7.3-rtems4.11-20110831.diff | 586 -- .../patches/newlib-1.19.0-rtems4.11-20110517.diff | 4831 ---------------- .../patches/newlib-1.19.0-rtems4.11-20110720.diff | 5923 -------------------- 3 files changed, 11340 deletions(-) delete mode 100644 contrib/crossrpms/patches/gdb-7.3-rtems4.11-20110831.diff delete mode 100644 contrib/crossrpms/patches/newlib-1.19.0-rtems4.11-20110517.diff delete mode 100644 contrib/crossrpms/patches/newlib-1.19.0-rtems4.11-20110720.diff (limited to 'contrib/crossrpms') diff --git a/contrib/crossrpms/patches/gdb-7.3-rtems4.11-20110831.diff b/contrib/crossrpms/patches/gdb-7.3-rtems4.11-20110831.diff deleted file mode 100644 index cb89f720ce..0000000000 --- a/contrib/crossrpms/patches/gdb-7.3-rtems4.11-20110831.diff +++ /dev/null @@ -1,586 +0,0 @@ -diff -Naur gdb-7.3.orig/gdb/lm32-tdep.c gdb-7.3/gdb/lm32-tdep.c ---- gdb-7.3.orig/gdb/lm32-tdep.c 2011-03-18 19:52:30.000000000 +0100 -+++ gdb-7.3/gdb/lm32-tdep.c 2011-08-31 14:11:56.774129391 +0200 -@@ -35,7 +35,7 @@ - #include "regcache.h" - #include "trad-frame.h" - #include "reggroups.h" --#include "opcodes/lm32-desc.h" -+#include "../opcodes/lm32-desc.h" - - #include "gdb_string.h" - -diff -Naur gdb-7.3.orig/gdb/sparc-tdep.c gdb-7.3/gdb/sparc-tdep.c ---- gdb-7.3.orig/gdb/sparc-tdep.c 2011-03-18 19:52:32.000000000 +0100 -+++ gdb-7.3/gdb/sparc-tdep.c 2011-08-31 14:12:01.549206789 +0200 -@@ -1117,7 +1117,7 @@ - sparc32_store_return_value (struct type *type, struct regcache *regcache, - const gdb_byte *valbuf) - { -- int len = TYPE_LENGTH (type); -+ size_t len = TYPE_LENGTH (type); - gdb_byte buf[8]; - - gdb_assert (!sparc_structure_or_union_p (type)); -diff -Naur gdb-7.3.orig/sim/common/gentmap.c gdb-7.3/sim/common/gentmap.c ---- gdb-7.3.orig/sim/common/gentmap.c 2006-11-07 20:29:59.000000000 +0100 -+++ gdb-7.3/sim/common/gentmap.c 2011-08-31 14:12:01.574207222 +0200 -@@ -2,6 +2,7 @@ - - #include - #include -+#include - - struct tdefs { - char *symbol; -diff -Naur gdb-7.3.orig/sim/erc32/configure gdb-7.3/sim/erc32/configure ---- gdb-7.3.orig/sim/erc32/configure 2010-01-09 22:11:39.000000000 +0100 -+++ gdb-7.3/sim/erc32/configure 2011-08-31 14:12:01.601207655 +0200 -@@ -591,8 +591,9 @@ - ac_subst_vars='LTLIBOBJS - LIBOBJS - cgen_breaks -+READLINE_CFLAGS -+READLINE_DEPS - READLINE --TERMCAP - REPORT_BUGS_TEXI - REPORT_BUGS_TO - PKGVERSION -@@ -716,6 +717,7 @@ - enable_sim_profile - with_pkgversion - with_bugurl -+with_system_readline - ' - ac_precious_vars='build_alias - host_alias -@@ -1358,6 +1360,7 @@ - --with-zlib include zlib support (auto/yes/no) default=auto - --with-pkgversion=PKG Use PKG in the version string in place of "GDB" - --with-bugurl=URL Direct users to URL to report a bug -+ --with-system-readline use installed readline library - - Some influential environment variables: - CC C compiler command -@@ -2416,7 +2419,6 @@ - - - -- - # Bugs in autoconf 2.59 break the call to SIM_AC_COMMON, hack around - # it by inlining the macro's contents. - # This file contains common code used by all simulators. -@@ -2916,18 +2918,18 @@ - int - main () - { -- -+return 0; - ; - return 0; - } - _ACEOF - ac_clean_files_save=$ac_clean_files --ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out" -+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" - # Try to create an executable without -o first, disregard a.out. - # It will help us diagnose broken compilers, and finding out an intuition - # of exeext. --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 --$as_echo_n "checking for C compiler default output file name... " >&6; } -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -+$as_echo_n "checking whether the C compiler works... " >&6; } - ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - - # The possible output files: -@@ -2989,10 +2991,10 @@ - else - ac_file='' - fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 --$as_echo "$ac_file" >&6; } - if test -z "$ac_file"; then : -- $as_echo "$as_me: failed program was:" >&5 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -+$as_echo "no" >&6; } -+$as_echo "$as_me: failed program was:" >&5 - sed 's/^/| /' conftest.$ac_ext >&5 - - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -@@ -3000,51 +3002,18 @@ - { as_fn_set_status 77 - as_fn_error "C compiler cannot create executables - See \`config.log' for more details." "$LINENO" 5; }; } -+else -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -+$as_echo "yes" >&6; } - fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -+$as_echo_n "checking for C compiler default output file name... " >&6; } -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -+$as_echo "$ac_file" >&6; } - ac_exeext=$ac_cv_exeext - --# Check that the compiler produces executables we can run. If not, either --# the compiler is broken, or we cross compile. --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 --$as_echo_n "checking whether the C compiler works... " >&6; } --# If not cross compiling, check that we can run a simple program. --if test "$cross_compiling" != yes; then -- if { ac_try='./$ac_file' -- { { case "(($ac_try" in -- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -- *) ac_try_echo=$ac_try;; --esac --eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" --$as_echo "$ac_try_echo"; } >&5 -- (eval "$ac_try") 2>&5 -- ac_status=$? -- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -- test $ac_status = 0; }; }; then -- cross_compiling=no -- else -- if test "$cross_compiling" = maybe; then -- cross_compiling=yes -- else -- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 --$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} --as_fn_error "cannot run C compiled programs. --If you meant to cross compile, use \`--host'. --See \`config.log' for more details." "$LINENO" 5; } -- fi -- fi --fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 --$as_echo "yes" >&6; } -- --rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out -+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out - ac_clean_files=$ac_clean_files_save --# Check that the compiler produces executables we can run. If not, either --# the compiler is broken, or we cross compile. --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 --$as_echo_n "checking whether we are cross compiling... " >&6; } --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 --$as_echo "$cross_compiling" >&6; } -- - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 - $as_echo_n "checking for suffix of executables... " >&6; } - if { { ac_try="$ac_link" -@@ -3084,6 +3053,63 @@ - rm -f conftest.$ac_ext - EXEEXT=$ac_cv_exeext - ac_exeext=$EXEEXT -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+ac_clean_files="$ac_clean_files conftest.out" -+# Check that the compiler produces executables we can run. If not, either -+# the compiler is broken, or we cross compile. -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -+$as_echo_n "checking whether we are cross compiling... " >&6; } -+if test "$cross_compiling" != yes; then -+ { { ac_try="$ac_link" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_link") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; } -+ if { ac_try='./conftest$ac_cv_exeext' -+ { { case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_try") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then -+ cross_compiling=no -+ else -+ if test "$cross_compiling" = maybe; then -+ cross_compiling=yes -+ else -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+as_fn_error "cannot run C compiled programs. -+If you meant to cross compile, use \`--host'. -+See \`config.log' for more details." "$LINENO" 5; } -+ fi -+ fi -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -+$as_echo "$cross_compiling" >&6; } -+ -+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -+ac_clean_files=$ac_clean_files_save - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 - $as_echo_n "checking for suffix of object files... " >&6; } - if test "${ac_cv_objext+set}" = set; then : -@@ -4532,86 +4558,41 @@ - done - - --# In the Cygwin environment, we need some additional flags. --{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cygwin" >&5 --$as_echo_n "checking for cygwin... " >&6; } --if test "${sim_cv_os_cygwin+set}" = set; then : -- $as_echo_n "(cached) " >&6 --else -- cat confdefs.h - <<_ACEOF >conftest.$ac_ext --/* 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 -+# Check whether --with-system-readline was given. -+if test "${with_system_readline+set}" = set; then : -+ withval=$with_system_readline; - fi --rm -f conftest* - --fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_cv_os_cygwin" >&5 --$as_echo "$sim_cv_os_cygwin" >&6; } - --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 -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -ltermcap" >&5 --$as_echo_n "checking for main in -ltermcap... " >&6; } --if test "${ac_cv_lib_termcap_main+set}" = set; then : -- $as_echo_n "(cached) " >&6 --else -- ac_check_lib_save_LIBS=$LIBS --LIBS="-ltermcap $LIBS" --cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+if test "$with_system_readline" = yes; then -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for readline" >&5 -+$as_echo_n "checking for readline... " >&6; } -+ save_LIBS="$LIBS" -+ LIBS="-lreadline $save_LIBS" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - -- -+/* Override any GCC internal prototype to avoid an error. -+ Use char because int might match the return type of a GCC -+ builtin and then its argument prototype would still apply. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+char add_history (); - int - main () - { --return main (); -+return add_history (); - ; - return 0; - } - _ACEOF - if ac_fn_c_try_link "$LINENO"; then : -- ac_cv_lib_termcap_main=yes --else -- ac_cv_lib_termcap_main=no --fi --rm -f core conftest.err conftest.$ac_objext \ -- conftest$ac_exeext conftest.$ac_ext --LIBS=$ac_check_lib_save_LIBS --fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_termcap_main" >&5 --$as_echo "$ac_cv_lib_termcap_main" >&6; } --if test "x$ac_cv_lib_termcap_main" = x""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 -- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for readline in -lreadline" >&5 --$as_echo_n "checking for readline in -lreadline... " >&6; } --if test "${ac_cv_lib_readline_readline+set}" = set; then : -- $as_echo_n "(cached) " >&6 -+ READLINE=-lreadline - else -- ac_check_lib_save_LIBS=$LIBS --LIBS="-lreadline $TERMCAP $LIBS" --cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+ LIBS="-lreadline -lncurses $save_LIBS" -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - - /* Override any GCC internal prototype to avoid an error. -@@ -4620,33 +4601,39 @@ - #ifdef __cplusplus - extern "C" - #endif --char readline (); -+char add_history (); - int - main () - { --return readline (); -+return add_history (); - ; - return 0; - } - _ACEOF - if ac_fn_c_try_link "$LINENO"; then : -- ac_cv_lib_readline_readline=yes -+ READLINE="-lreadline -lncurses" - else -- ac_cv_lib_readline_readline=no -+ as_fn_error "unable to detect readline" "$LINENO" 5 - fi - rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext --LIBS=$ac_check_lib_save_LIBS -+ - fi --{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_readline_readline" >&5 --$as_echo "$ac_cv_lib_readline_readline" >&6; } --if test "x$ac_cv_lib_readline_readline" = x""yes; then : -- READLINE=-lreadline --else -- as_fn_error "the required \"readline\" library is missing" "$LINENO" 5 -+rm -f core conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext -+ LIBS="$save_LIBS" -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $READLINE" >&5 -+$as_echo "$READLINE" >&6; } -+ READLINE_DEPS= -+ READLINE_CFLAGS= -+else -+ READLINE='../../readline/libreadline.a -lncurses' -+ READLINE_DEPS='$(READLINE)' -+ READLINE_CFLAGS='-I$(READLINE_SRC)/..' - fi - --fi -+ -+ - - - ac_sources="$sim_link_files" -diff -Naur gdb-7.3.orig/sim/erc32/configure.ac gdb-7.3/sim/erc32/configure.ac ---- gdb-7.3.orig/sim/erc32/configure.ac 2006-12-20 23:35:51.000000000 +0100 -+++ gdb-7.3/sim/erc32/configure.ac 2011-08-31 14:12:01.602207671 +0200 -@@ -11,27 +11,32 @@ - - 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 -+ AC_MSG_CHECKING([for readline]) -+ save_LIBS="$LIBS" -+ LIBS="-lreadline $save_LIBS" -+ AC_LINK_IFELSE([AC_LANG_CALL([], -+ [add_history])], [READLINE=-lreadline], -+ [ LIBS="-lreadline -lncurses $save_LIBS" -+ AC_LINK_IFELSE([AC_LANG_CALL([], -+ [add_history])], [READLINE="-lreadline -lncurses"], -+ [AC_MSG_ERROR([unable to detect readline])]) -+ ]) -+ LIBS="$save_LIBS" -+ AC_MSG_RESULT($READLINE) -+ READLINE_DEPS= -+ READLINE_CFLAGS= - 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/libreadline.a -lncurses' -+ 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 gdb-7.3.orig/sim/erc32/erc32.c gdb-7.3/sim/erc32/erc32.c ---- gdb-7.3.orig/sim/erc32/erc32.c 2010-05-11 16:18:20.000000000 +0200 -+++ gdb-7.3/sim/erc32/erc32.c 2011-08-31 14:12:01.602207671 +0200 -@@ -414,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) { -diff -Naur gdb-7.3.orig/sim/erc32/Makefile.in gdb-7.3/sim/erc32/Makefile.in ---- gdb-7.3.orig/sim/erc32/Makefile.in 2011-01-01 16:33:58.000000000 +0100 -+++ gdb-7.3/sim/erc32/Makefile.in 2011-08-31 14:12:01.602207671 +0200 -@@ -19,12 +19,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 - -@@ -38,8 +38,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? -@@ -52,11 +52,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 gdb-7.3.orig/sim/h8300/compile.c gdb-7.3/sim/h8300/compile.c ---- gdb-7.3.orig/sim/h8300/compile.c 2011-01-11 15:19:32.000000000 +0100 -+++ gdb-7.3/sim/h8300/compile.c 2011-08-31 14:12:01.614207863 +0200 -@@ -38,6 +38,12 @@ - # define SIGTRAP 5 - #endif - -+#ifdef _WIN32 -+#ifndef SIGBUS -+#define SIGBUS 10 -+#endif -+#endif -+ - int debug; - - host_callback *sim_callback; -diff -Naur gdb-7.3.orig/sim/m32c/Makefile.in gdb-7.3/sim/m32c/Makefile.in ---- gdb-7.3.orig/sim/m32c/Makefile.in 2011-01-01 16:34:01.000000000 +0100 -+++ gdb-7.3/sim/m32c/Makefile.in 2011-08-31 14:12:01.629208105 +0200 -@@ -56,7 +56,7 @@ - ./opc2c -l m32c.out $(srcdir)/m32c.opc > m32c.c - - opc2c : opc2c.o safe-fgets.o -- $(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) $^ -o $@ $(BUILD_LIBS) -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) $^ -o $@ $(BUILD_LIBS) - - sample.x : $(srcdir)/sample.S $(srcdir)/sample.ld - ../../gcc/xgcc $(CPUFLAGS) -B../../gcc/ -c $(srcdir)/sample.S -o sample.o -@@ -90,8 +90,8 @@ - r8c.o : cpu.h mem.h misc.h int.h - - opc2c.o : opc2c.c safe-fgets.h -- $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/opc2c.c -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o $@ -c $(srcdir)/opc2c.c - - safe-fgets.o : safe-fgets.c safe-fgets.h -- $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/safe-fgets.c -+ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o $@ -c $(srcdir)/safe-fgets.c - -diff -Naur gdb-7.3.orig/sim/ppc/device.c gdb-7.3/sim/ppc/device.c ---- gdb-7.3.orig/sim/ppc/device.c 2011-02-14 06:14:27.000000000 +0100 -+++ gdb-7.3/sim/ppc/device.c 2011-08-31 14:12:01.630208123 +0200 -@@ -1816,7 +1816,7 @@ - /* I/O */ - - EXTERN_DEVICE\ --(void volatile) -+(void) - device_error(device *me, - const char *fmt, - ...) -diff -Naur gdb-7.3.orig/sim/ppc/device.h gdb-7.3/sim/ppc/device.h ---- gdb-7.3.orig/sim/ppc/device.h 2001-12-14 01:22:12.000000000 +0100 -+++ gdb-7.3/sim/ppc/device.h 2011-08-31 14:12:01.630208123 +0200 -@@ -727,7 +727,7 @@ - */ - - EXTERN_DEVICE\ --(void volatile) device_error -+(void) device_error - (device *me, - const char *fmt, - ...) __attribute__ ((format (printf, 2, 3))); -diff -Naur gdb-7.3.orig/sim/ppc/hw_glue.c gdb-7.3/sim/ppc/hw_glue.c ---- gdb-7.3.orig/sim/ppc/hw_glue.c 1999-04-16 03:35:09.000000000 +0200 -+++ gdb-7.3/sim/ppc/hw_glue.c 2011-08-31 14:12:01.630208123 +0200 -@@ -194,13 +194,13 @@ - if (glue->sizeof_output == 0) - device_error(me, "at least one reg property size must be nonzero"); - if (glue->sizeof_output % sizeof(unsigned_word) != 0) -- device_error(me, "reg property size must be %d aligned", sizeof(unsigned_word)); -+ device_error(me, "reg property size must be %zd aligned", sizeof(unsigned_word)); - /* and the address */ - device_address_to_attach_address(device_parent(me), - &unit.address, &glue->space, &glue->address, - me); - if (glue->address % (sizeof(unsigned_word) * max_nr_interrupts) != 0) -- device_error(me, "reg property address must be %d aligned", -+ device_error(me, "reg property address must be %zd aligned", - sizeof(unsigned_word) * max_nr_interrupts); - glue->nr_outputs = glue->sizeof_output / sizeof(unsigned_word); - glue->output = zalloc(glue->sizeof_output); diff --git a/contrib/crossrpms/patches/newlib-1.19.0-rtems4.11-20110517.diff b/contrib/crossrpms/patches/newlib-1.19.0-rtems4.11-20110517.diff deleted file mode 100644 index d4263db55f..0000000000 --- a/contrib/crossrpms/patches/newlib-1.19.0-rtems4.11-20110517.diff +++ /dev/null @@ -1,4831 +0,0 @@ -diff -Naur newlib-1.19.0.orig/newlib/ChangeLog newlib-1.19.0-rtems4.11-20110517/newlib/ChangeLog ---- newlib-1.19.0.orig/newlib/ChangeLog 2010-12-16 22:58:38.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/ChangeLog 2011-05-17 07:25:06.764153316 +0200 -@@ -1,3 +1,268 @@ -+2011-05-16 Yaakov Selkowitz -+ -+ * libc/include/time.h (CLOCK_PROCESS_CPUTIME_ID): Rename from -+ CLOCK_PROCESS_CPUTIME. -+ (CLOCK_THREAD_CPUTIME_ID): Rename from CLOCK_THREAD_CPUTIME. -+ * libc/include/sys/features.h [__CYGWIN__] (_POSIX_CPUTIME): Define. -+ (_POSIX_THREAD_CPUTIME): Define. -+ -+2011-05-16 Christian Bruel -+ -+ * libc/stdlib/strtod.c (_strtod_r): Fix nf/nd counts to not exceed -+ DBL_DIG. -+ -+2011-05-15 Corinna Vinschen -+ -+ * libc/include/sys/features.h (_POSIX_THREAD_ATTR_STACKADDR): Define -+ to 200112L for Cygwin. -+ -+2011-05-12 Peter Rosin -+ -+ * libc/time/strptime.c (strptime): Fill in tm_yday when all of tm_year, -+ tm_mon and tm_mday are updated. Fill in tm_mon, tm_mday and tm_wday -+ when both of tm_year and tm_yday are updated. -+ -+2011-05-12 Peter Rosin -+ -+ * libc/time/strptime.c (first_day): Actually return the wday -+ of the first day of the year. -+ -+2011-05-10 Corinna Vinschen -+ -+ * libc/locale/lmessages.c (_C_messages_locale): Add missing comma. -+ -+2011-05-04 Yaakov Selkowitz -+ -+ * libc/include/signal.h (psignal): Declare. -+ * libc/sys/linux/psignal.c: Move from here... -+ * libc/signal/psignal.c: ... to here. Document. -+ * libc/sys/linux/Makefile.am (GENERAL_SOURCES): Move psignal.c from here... -+ * libc/signal/Makefile.am (LIB_SOURCES): ... to here. -+ (CHEWOUT_FILES): Add psignal.def. -+ * libc/sys/linux/Makefile.in: Regenerate. -+ * libc/signal/Makefile.in: Ditto. -+ * libc/signal/signal.tex: Add references to psignal. -+ -+2011-05-04 Corinna Vinschen -+ -+ * libc/locale/lmessages.h (__messages_load_locale): Declare. Remove -+ accidental declaration of __numeric_load_locale. -+ * libc/locale/locale.c: Include timelocal.h to get declaration of -+ __time_load_locale. -+ (__set_locale_from_locale_alias): Fix return type. -+ (__locale_msgcharset): Avoid compiler warnings. -+ (_localeconv_r): Ditto. -+ -+2011-05-04 Andy Koppe -+ -+ * libc/locale/locale.c (current_categories): On Cygwin, set LC_CTYPE -+ to C.UTF-8 to match initial __wctomb and __mbtowc settings. -+ (lc_ctype_charset): On Cygwin, initialize to "UTF-8". -+ (loadlocale): Remove unused Cygwin-specifc code. -+ -+2011-05-02 Yaakov Selkowitz -+ -+ * libc/include/sys/features.h [__CYGWIN__] (_POSIX_SPIN_LOCKS): Define. -+ * libc/include/sys/types.h: Cygwin provides its own pthread_spinlock_t -+ typedef. -+ -+2011-04-20 Ralf Corsépius -+ -+ * libc/sys/rtems/include/limits.h: Compute SSIZE_MAX on __SIZE_MAX__. -+ -+2011-04-19 Ralf Corsépius -+ -+ * libc/include/stdint.h: Rework SIZE_MAX. -+ * libc/sys/rtems/include/limits.h: Rework SSIZE_MAX. -+ -+2011-04-19 Corinna Vinschen -+ -+ * libc/include/sys/signal.h (_sig_func_ptr): Define with int parameter -+ per POSIX. Explain in comment. -+ -+2011-04-15 Eric Blake -+ -+ * libc/string/strchrnul.c (strchrnul): Fix strchrnul. -+ -+2011-03-27 Yaakov Selkowitz -+ -+ * libc/include/string.h (strchrnul): Declare. -+ * libc/string/strchrnul.c: New file. -+ * libc/string/Makefile.am (ELIX_2_SOURCES): Add strchrnul.c. -+ * libc/string/Makefile.in: Regenerate. -+ -+2011-03-23 Ralf Corsépius -+ -+ * libc/sys/rtems/sys/dirent.h: Add const to "select" parameter. -+ -+2011-03-23 Nick Clifton -+ -+ * libc/machine/frv/setjmp.S: Fix typo in .size directive. -+ -+2011-03-21 Kevin Buettner -+ -+ * libc/sys/sysnecv850/trap.S (___trap0): Fix errno handling. -+ * libc/sys/sysnecv850/rename.c: New file. -+ * libc/sys/sysnecv850/Makefile.am (lib_a_SOURCES): Add rename.c -+ * libc/sys/sysnecv850/Makefile.in: Regenerate. -+ * libc/sys/sysnecv850/fstat.c (_fstat): Invoke trap for SYS_fstat. -+ * libc/sys/sysnecv850/unlink.c (_unlink): Invoke trap for SYS_unlink. -+ -+2011-03-03 Corinna Vinschen -+ -+ * libc/include/string.h: Include sys/cdefs.h. -+ -+2011-03-03 Corinna Vinschen -+ -+ * libc/include/sys/cdefs.h (__CONCAT1): Define. -+ (__CONCAT): Define. -+ (__STRING): Define. -+ (__XSTRING): Define. -+ (__ASMNAME): Define. -+ * libc/include/string.h (strerror_r): Use __ASMNAME to take target -+ specific label prefixes into account. -+ -+2011-03-01 Aaron Landwehr -+ -+ * libm/complex/cproj.c: Fix typo. -+ * libm/complex/cprojf.c: Ditto. -+ -+2011-02-22 Corinna Vinschen -+ -+ * libc/stdio/fmemopen.c (fmemopen): Fix EINVAL condition. Avoid SEGV -+ if incoming buffer is NULL. -+ -+2011-02-09 Eric Blake -+ -+ * libc/include/string.h (strerror_r): Update declaration. -+ * libc/string/strerror.c (strerror): Update documentation. -+ * libc/string/strerror_r.c (strerror_r): Always return -+ NUL-terminated string; don't overwrite too-short buf. -+ * libc/string/xpg_strerror_r.c (__xpg_strerror_r): Implement POSIX -+ variant. -+ * libc/string/Makefile.am (GENERAL_SOURCES): Build new file. -+ * libc/string/Makefile.in: Regenerate. -+ -+2011-02-07 Ralf Corsépius -+ -+ * libc/include/stdlib.h: More ansi-compliance. -+ -+2011-02-01 Ralf Corsépius -+ -+ * libc/include/stdio.h: More ansi-compliance. -+ -+ * libc/include/stdlib.h: Remove atoff. -+ * libc/stdlib/atoff.c: Remove. -+ * libc/stdlib/atof.c: Remove atoff. -+ * libc/stdlib/Makefile.am: Remove atoff. -+ * libc/stdlib/Makefile.in: Regenerate. -+ -+ * libc/include/stdio.h: Make fdopen accessible to c99. -+ -+2011-01-31 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Add clock_gettime, gettimeofday, -+ sched_yield. -+ -+2011-01-28 Corinna Vinschen -+ -+ * libc/stdio/fclose.c: Only use sfp lock to guard non-atomic -+ changes of flags and fp lock. -+ * libc/stdio/freopen.c: Ditto. -+ * libc/stdio64/freopen64.c: Ditto. -+ * libc/stdio/fgetc.c: Revert change from 2009-04-24, remove sfp locks -+ which guard entire function to avoid potential deadlocks when using -+ stdio functions in multiple thraeds. -+ * libc/stdio/fgets.c: Ditto. -+ * libc/stdio/fgetwc.c: Ditto. -+ * libc/stdio/fgetws.c: Ditto. -+ * libc/stdio/fread.c: Ditto. -+ * libc/stdio/fseek.c: Ditto. -+ * libc/stdio/getc.c: Ditto. -+ * libc/stdio/getdelim.c: Ditto. -+ * libc/stdio/gets.c: Ditto. -+ * libc/stdio/vfscanf.c: Ditto. -+ * libc/stdio/vfwscanf.c: Ditto. -+ -+ * libc/stdio/fflush.c (_fflush_r): Split out core functionality into -+ new function __sflush_r. Just lock file and call __sflush_r from here. -+ * libc/stdio/fwalk.c (_fwalk): Remove static helper function and move -+ functionality back into main function. Don't walk a file with flags -+ value of 1. Add comment. -+ (_fwalk_reent): Ditto. -+ * libc/stdio/local.h (__sflush_r): Declare. -+ * libc/stdio/refill.c (__srefill): Before calling fwalk, set flags -+ value to 1 so this file pointer isn't walked. Revert flags afterwards -+ and call __sflush_r for this fp if necessary. Add comments. -+ -+2011-01-27 Corinna Vinschen -+ -+ * libc/include/sys/features.h: Define __STDC_ISO_10646__ for Cygwin. -+ * libc/include/wchar.h: Include features.h. -+ -+2011-01-15 Yaakov Selkowitz -+ -+ * libc/include/sys/types.h (ulong): Add typedef. -+ -+2011-01-12 Ralf Corsépius -+ -+ * libm/math/w_tgamma.c: Only build ifndef _DOUBLE_IS_32BITS. -+ * libm/math/wf_tgamma.c: Map tgamma to tgammaf, ifdef _DOUBLE_IS_32BITS. -+ -+2011-01-11 Ralf Corsépius -+ -+ * libc/include/string.h: Remove Cygwin DEFS_H kludge. -+ -+2011-01-10 Corinna Vinschen -+ -+ * libc/machine/mips/strlen.c (strlen): Add delay slot for R3000. -+ -+2011-01-10 Joel Sherrill -+ -+ * libc/include/string.h: Make strsignal() available unconditionally. -+ -+2011-01-07 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Adjust free() and calloc() to match their -+ public decls. -+ -+2011-01-05 Ralf Corsépius -+ -+ * Makefile.am: Move cleaning targ-include to clean-local. -+ * Makefile.in: Regenerate. -+ -+2011-01-05 Ralf Corsépius -+ -+ * libc/stdio/open_memstream.c (internal_open_memstream_r): -+ Don't limit c->max to 64*1024 on targets with SIZE_MAX < 64*1024. -+ -+2011-01-05 Ralf Corsépius -+ -+ * libc/xdr/xdr.c: Fix typos in #errors. -+ -+2011-01-05 Ralf Corsépius -+ -+ * libc/xdr/xdr_private.h: Include -+ * libc/xdr/xdr_rec.c: Include limits.h -+ -+2011-01-05 Ralf Corsépius -+ -+ * libc/Makefile.am (SUBDEFS): Remove redundant posix/stmp-def. -+ * libc/Makefile.in: Regenerate. -+ -+2011-01-05 Ralf Corsépius -+ -+ * libc/configure.in: Remove redundant posix_dir processing. -+ * libc/configure: Regenerate. -+ -+2011-01-04 Ralf Corsépius -+ -+ * doc/makedoc.c: Add cludge to make makedoc 64bit compliant. -+ -+2010-12-31 Ralf Corsépius -+ -+ * MAINTAINERS: Change corinna@vinchen.de to corinna@vinschen.de. -+ - 2010-12-16 Jeff Johnston - - * NEWS: Update with 1.19.0 info. -@@ -28,12 +293,12 @@ - - * libm/mathfp/sf_logarithm.c: Change isfinitef reference to isfinite. - --2010-12-08 Ralf Corsepius -+2010-12-08 Ralf Corsépius - - * include/sys/types.h: Add #if defined(__rtems__) around - pthread_attr_t.guardsize. - --2010-12-08 Joel Sherrill -+2010-12-08 Joel Sherrill - - * include/pthread.h: Add pthread_attr_setstack, pthread_attr_getstack, - pthread_attr_getguardsize, pthread_attr_setguardsize. -@@ -847,7 +1112,7 @@ - (__cp_index): Map invalid Windows codepage number 101 to - GEORGIAN-PS conversion array, 102 to PT154 conversion array. - --2010-02-06 Ralf Corsepius -+2010-02-06 Ralf Corsépius - - * libc/posix/telldir.c: Remove bogus nested prototype of lseek(). - -@@ -1005,6 +1270,18 @@ - * libc/include/sys/unistd.h (suboptarg, getsubopt): Move... - * libc/include/stdlib.h: ...here, to match POSIX for getsubopt. - -+2009-12-18 Ralf Corsépius -+ -+ * libc/search/db_local.h: -+ Use __uint32_t instead of u_int (prototype mismatches). -+ * libc/search/extern.h (__buf_init): -+ Use __uint32_t instead of int (16 bit target portability). -+ * libc/search/hash_buf.c: Use ptrdiff_t instead of __uint32_t, -+ use __uint32_t instead of int (16 bit target portability). -+ * libc/search/hash.h: Use __uint32_it instead of int -+ (16 bit target portability). -+ * libm/common/modfl.c: Add cast to (double*) to avoid GCC warning. -+ - 2009-12-17 Jeff Johnston - - * NEWS: Update with 1.18.0 info. -@@ -1048,17 +1325,17 @@ - * libc/stdlib/atexit.c: Ditto. - * libc/stdlib/on_exit.c: Ditto. - --2009-12-17 Ralf Corsépius -+2009-12-17 Ralf Corsépius - - * libc/include/machine/ieeefp.h: Rework __IEEE_*_ENDIAN handling. - * libc/machine/arm/machine/endian.h: Remove (Conflicts with - libc/include/machine/endian.h) - --2009-12-17 Ralf Corsépius -+2009-12-17 Ralf Corsépius - - * libc/include/machine/setjmp.h: Set up _JBLEN #ifdef __m68k__. - --2009-12-17 Ralf Corsepius -+2009-12-17 Ralf Corsépius - - * libc/include/pthread.h: Add pthread_atfork, pthread_rwlock_unlock - * libc/include/sys/stat.h: Use struct timespec st_*tim, -@@ -1076,11 +1353,11 @@ - and ETOOMANYREFS into general list as they are referenced - by OpenGroup and needed by RTEMS. - --2009-12-16 Ralf Corsépius -+2009-12-16 Ralf Corsépius - - * libc/search/hcreate.c: Don't include (Unused). - --2009-12-16 Ralf Corsépius -+2009-12-16 Ralf Corsépius - - * libc/sys/rtems/machine/_types.h: New (Derived from - machine/_default_types.h). -@@ -1204,6 +1481,18 @@ - rather check for return value of -1 and errno. Handle EINVAL - just like ESPIPE. Only set fp->_offset if errno is 0. - -+2009-10-29 Ralf Corsépius -+ -+ * libc/include/inttypes.h: -+ Rework logic to determine PRI*PTR. -+ Prefer long64 over longlong64. -+ * libc/include/machine/_default_types.h: -+ Sync logic for __int32 with stdint.h (Prefer long over int). -+ * libc/include/stdint.h: -+ Remove __SPU__ hack. -+ Prefer int for int16_t (sync with _default_types.h). -+ Rework intptr_t determination. -+ - 2009-10-27 Nick Clifton - - * MAINTAINERS (ARM): Add myself as an ARM maintainer. -@@ -1368,16 +1657,16 @@ - * libc/locale/locale.c: Drop Cygwin-specific windows.h include. - (loadlocale): Call __set_charset_from_codepage with 0 codepage. - --2009-09-22 Ralf Corsépius -+2009-09-22 Ralf Corsépius - - * libc/include/stdlib.h: Add posix_memalign. - --2009-09-22 Ralf Corsépius -+2009-09-22 Ralf Corsépius - - * configure.host (*-rtems*): Remove -DMISSING_SYSCALL_NAMES. - Add -DHAVE_BLKSIZE, -D_NO_WORDEXP -D_NO_POPEN. - --2009-09-22 Ralf Corsépius -+2009-09-22 Ralf Corsépius - - * configure.host (m32c): Move setting -DABORT_PROVIDED to second - "case $host". -@@ -2576,6 +2865,12 @@ - * libc/stdio/vfprintf.c: Ditto. - * libc/stdio/vswprintf.c: Ditto. - -+2009-03-09 Ralf Corsépius -+ -+ * libc/machine/powerpc/times.c: Remove. -+ * libc/machine/powerpc/Makefile.am: Remove times.c. -+ * libc/machine/powerpc/Makefile.in: Regenerate. -+ - 2009-03-09 Brooks Moses - - * libc/machine/arm/arm_asm.h: Fix typo. -@@ -2673,7 +2968,7 @@ - - * libc/machine/arm/strcpy.c: Add missing comma. - --2009-02-26 Ralf Corsepius -+2009-02-26 Ralf Corsépius - - * libc/machine/lm32/configure.in: Let - AC_CONFIG_SRCDIR point to setjmp.S instead of setjmp.s -@@ -2859,24 +3154,24 @@ - * libc/string/wcstrings.tex: Ditto. - * libc/string/Makefile.in: Regenerated. - --2008-12-12 Ralf Corsepius -+2008-12-12 Ralf Corsépius - - * libc/stdio/fputws.c: Fix documentation. - * libc/stdio/getwchar.c: Ditto. - * libc/stdio/putwchar.c: Ditto. - --2008-12-12 Ralf Corsepius -+2008-12-12 Ralf Corsépius - - * libc/include/sys/features.h: Set RTEMS's _POSIX_MONOTONIC_CLOCK to - 200112L (SUSv3 compliance). - Comment out RTEMS's _POSIX_SHARED_MEMORY_OBJECTS (Unsupported). - --2008-12-12 Ralf Corsepius -+2008-12-12 Ralf Corsépius - - * libc/sys/rtems/crt0.c: Add stubs for getdents(), nanosleep(), - _execve(), _exit(). - --2008-12-12 Ralf Corsepius -+2008-12-12 Ralf Corsépius - - * configure.host: Let *rtems* default to c99-formats. - -@@ -3026,7 +3321,7 @@ - . - * libc/sys/linux/io64.c: Add weak alias for _stat64. - --2008-11-27 Ralf Corsepius -+2008-11-27 Ralf Corsépius - - * libc/posix/telldir.c: Use #if !defined() instead of #ifndef - to fix GCC warning. -@@ -3198,17 +3493,17 @@ - * libc/unix/collate.c (__collate_err): simplify to remove unnecessary - strdup() and strlen() calls, also getting rid of a compiler warning. - --2008-11-19 Ralf Corsepius -+2008-11-19 Ralf Corsépius - - * libc/include/sys/config.h: Don't put - __ATTRIBUTE_IMPURE_PTR__ into .sdata section for mips-rtems. - --2008-11-19 Ralf Corsepius -+2008-11-19 Ralf Corsépius - - * libc/posix/runetype.h: Add include of stddef.h and remove - defining standard types: size_t and wchar_t. - --2008-11-19 Ralf Corsepius -+2008-11-19 Ralf Corsépius - - * libc/include/pthread.h: Remove prototypes for - pthread_attr_getcputime and pthread_attr_setcputime which -@@ -5263,7 +5558,7 @@ - * libc/machine/spu/sprintf.c: Ditto. - * libc/machine/spu/sscanf.c: Ditto. - --2007-08-03 Ralf Corsepius -+2007-08-03 Ralf Corsépius - - * libc/include/tar.h: New. - -@@ -6455,7 +6750,7 @@ - * libc/include/sys/unistd.h: Define all _SC_xxx values as - required by SUSv3. Unify formatting. - --2007-02-02 Ralf Corsépius -+2007-02-02 Ralf Corsépius - - * libc/include/sys/errno.h: Add ECANCELED. - -@@ -7248,7 +7543,7 @@ - * libc/include/sys/signal.h (sigdelset, sigfillset, sigismember): New macros. - (sigaddset, sigemptyset): Add return code. - --2006-04-13 Ralf Corsepius -+2006-04-13 Ralf Corsépius - - * acinclude.m4: New _NEWLIB_VERSION. - * acinclude.m4(NEWLIB_CONFIGURE): AC_REQUIRE(_NEWLIB_VERSION). -@@ -7737,7 +8032,7 @@ - * libc/sys/linux/sys/stat.h: Change *stat64 prototypes to - take a pointer to struct stat64 rather than struct stat. - --2005-12-16 Ralf Corsepius -+2005-12-16 Ralf Corsépius - - * libc/include/stdint.h: Prefer long over int for int32_t. - Use __have_long32 to set up int32_t. -@@ -7766,7 +8061,7 @@ - * libc/include/sys/types.h: Remove the ifdef armour around - standard POSIX types. - --2005-12-06 Ralf Corsepius -+2005-12-06 Ralf Corsépius - - * libc/sys/rtems/crt0.c: Add rtems_gxx_key_create, - rtems_gxx_key_delete, rtems_gxx_getspecific, -@@ -7845,7 +8140,7 @@ - * libc/sys/linux/sys/unistd.h (readlink, symlink): New - prototypes. - --2005-11-01 Ralf Corsepius -+2005-11-01 Ralf Corsépius - - * libc/include/stdint.h: Cleanup #if vs. #ifdef. - -@@ -8069,11 +8364,11 @@ - * libc/stdlib/mallocr.c (mALLOc, rEALLOCc, mEMALIGn): Set errno - to ENOMEM on failure. - --2005-10-06 Ralf Corsepius -+2005-10-06 Ralf Corsépius - - * libc/include/stdint.h: Add [u]int_fast_t types. - --2005-10-04 Ralf Corsepius -+2005-10-04 Ralf Corsépius - - * libc/include/stdint.h: Move magic to set __have_long* to the - beginning. Use #if __have* instead of #if defined(__have*). -@@ -8089,14 +8384,14 @@ - * libc/sys/linux/include/stdint.h: Include and - incorporate Ralf's change below. - --2005-10-03 Ralf Corsepius -+2005-10-03 Ralf Corsépius - - * libc/include/stdint.h: - Use __INTMAX_TYPE__ to derive intmax_t. - Use __UINTMAX_TYPE__ to derive uintmax_t. - Fix minor typo. - --2005-09-27 Ralf Corsepius -+2005-09-27 Ralf Corsépius - - * libc/include/stdint.h: Correct __STDINT_EXP macro incorrectly - handling GCC >= 4. -@@ -8432,16 +8727,16 @@ - * configure.host (newlib_cflags) : Add - -DCOMPACT_CTYPE. - --2005-03-06 Ralf Corsepious -+2005-03-06 Ralf Corsépius - - * libc/sys/rtems/include/inttypes.h: New file. - * libc/sys/rtems/include/stdint.h: Ditto. - --2005-03-06 Ralf Corsepious -+2005-03-06 Ralf Corsépius - - * libc/string/memcmp.c: Fix to avoid pointer signedness warning. - --2005-03-06 Ralf Corsepious -+2005-03-06 Ralf Corsépius - - * libc/include/machine/_types.h: New file. - * libc/include/sys/types.h: Do not check for __rtems__ -@@ -8450,7 +8745,7 @@ - * libc/sys/rtems/machine/_types.h: Removed. Replaced with - shared header file. - --2005-02-25 Ralf Corsepious -+2005-02-25 Ralf Corsépius - - * libm/common/fdlibm.h (FLT_UWORD_MAX, FLT_UWORD_HALF_MAX): Add - L qualifier for these long constants. -@@ -8466,13 +8761,13 @@ - * libc/time/strftime.c (strftime): Fix '%x' to deal with negative - years. Fix '%z' to use long, not int. - --2005-02-24 Ralf Corsepious -+2005-02-24 Ralf Corsépius - - * libm/common/s_fpclassify.c: Use __uint32_t instead of int to - manipulate float values in integer form. - * libm/common/sf_round.c: Ditto. - --2005-02-24 Ralf Corsepious -+2005-02-24 Ralf Corsépius - - * libc/include/sys/types.h [__rtems__]: Include new - header file machine/_types.h. -@@ -8836,7 +9131,7 @@ - * libc/stdio/fread.c (fread): Fix return value for unbuffered - fread. - --2004-10-25 Ralf Corsepius -+2004-10-25 Ralf Corsépius - - * libc/include/machine/setjmp.h: Add AVR support. - * libc/sys/rtems/crt0.S [__AVR__]: Add __stack. -@@ -15068,7 +15363,7 @@ - - * libc/include/sys/unistd.h: Prototype chroot() for RTEMS. - --2001-08-29 Ralf Corsepius -+2001-08-29 Ralf Corsépius - - * libc/machine/i386/f_atan2.S, libc/machine/i386/f_atan2f.S, - libc/machine/i386/f_exp.c, libc/machine/i386/f_expf.c, -@@ -15745,7 +16040,7 @@ - * libc/sys/linux/sys/utsname.h: Ditto. - * libc/sys/linux/sys/wait.h: Ditto. - --2000-12-08 Ralf Corsepius -+2000-12-08 Ralf Corsépius - - * Makefile.am: $(INSTALL), $(INSTALL_DATA), and $(INSTALL_PROGRAM) - can be a relative path to $(top_srcdir)/install.sh so ensure the -@@ -16650,7 +16945,7 @@ - * libc/include/stdlib.h: add ptsname, grantpt, unlockpt to cygwin - section - --Sat Oct 2 02:02:00 MEST 1999 Ralf Corsepius -+Sat Oct 2 02:02:00 MEST 1999 Ralf Corsépius - - * libc/machine/sh/asm.h: Added __SH4_SINGLE__ to DELAYED_BRANCHES - * libc/machine/sh/memcpy.S: Fix line wrapping in SL macro -diff -Naur newlib-1.19.0.orig/newlib/ChangeLog.rtems newlib-1.19.0-rtems4.11-20110517/newlib/ChangeLog.rtems ---- newlib-1.19.0.orig/newlib/ChangeLog.rtems 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/ChangeLog.rtems 2011-05-17 07:25:06.765153334 +0200 -@@ -0,0 +1,83 @@ -+2011-01-07 Ralf Corsépius -+ -+ * libc/stdio/open_memstream.c: Replace 64 * 1024 with 0x10000 to -+ avoid integer overflow on h8300. -+ -+2011-01-05 Ralf Corsépius -+ -+ * libc/stdio/tmpnam.c: Include . -+ Use intptr_t instead of _POINTER_INT for improved portability. -+ * libc/misc/__dprintf.c: Include -+ Use intptr_t instead of _POINTER_INT for improved portability. -+ -+2011-01-05 Ralf Corsépius -+ -+ * libm/common/s_round.c: Cast const int to __int32_t. -+ -+2011-01-04 Ralf Corsépius -+ -+ * libm/math/e_scalb.c: Include . -+ Don't rely on 65000 being a valid int. -+ -+2011-01-04 Ralf Corsépius -+ -+ * libc/posix/readdir.c: Include . -+ Cast to intptr_t instead of int. -+ -+2011-01-04 Ralf Corsépius -+ -+ * libc/string/memccpy.c, libc/string/memchr.c, -+ libc/string/memcmp.c, libc/string/memcpy.c, -+ libc/string/memmove.c, libc/string/mempcpy.c, -+ libc/string/memset.c, libc/string/stpcpy.c, -+ libc/string/stpncpy.c, libc/string/strcpy.c, -+ libc/string/strlen.c, libc/string/strncat.c, -+ libc/string/strncpy.c (UNALIGNED): -+ Include . -+ Cast to intptr_t instead of long. -+ -+2011-01-04 Ralf Corsépius -+ -+ * Makefile.am: Don't install include/rpc/*.h. -+ * Makefile.in: Regenerate. -+ * libc/Makefile.am: Install include/rpc/xdr.h include/rpc/types.h. -+ * libc/Makefile.in: Regenerate. -+ -+2010-12-30 Ralf Corsépius -+ -+ * libc/include/signal.h: Don't provide sighandler_t. -+ -+2010-12-29 Ralf Corsépius -+ -+ * libc/include/sys/dir.h: Remove. -+ -+2010-08-10 Ralf Corsépius -+ -+ PR 1475/newlib: -+ * libc/include/stdint.h: Fall back to compute SIZE_MAX based on -+ __SIZEOF_SIZE_T__ and __CHAR_BIT__ if available. -+ -+2010-08-04 Ralf Corsépius -+ -+ * libc/string/strcat.c: -+ Include . Use uintptr_t instead of long in ALIGNED. -+ * libc/string/strchr.c, libc/string/strcmp.c, libc/string/strncmp.c: -+ Include . Use uintptr_t instead of long in UNALIGNED. -+ -+2010-07-08 Ralf Corsépius -+ -+ * libc/string/index.c, libc/string/rindex.c: Include . -+ * libc/stdlib/putenv_r.c: Include -+ -+2010-03-25 Ralf Corsépius -+ -+ * libc/include/string.h: Remove bcmp, bcopy, bzero, ffs, index, rindex, -+ strcasecmp, strncasecmp (Moved to strings.h). -+ Remove strcmpi, stricmp, strncmpi, strnicmp. -+ * libc/misc/ffs.c: Use instead of . -+ * libc/string/bcmp.c: Use instead of . -+ * libc/string/bzero.c: Use instead of . -+ * libc/string/rindex.c: Use instead of . -+ * libc/string/strcasecmp.c: Use instead of . -+ * libc/string/strncasecmp.c: Use instead of . -+ -diff -Naur newlib-1.19.0.orig/newlib/doc/makedoc.c newlib-1.19.0-rtems4.11-20110517/newlib/doc/makedoc.c ---- newlib-1.19.0.orig/newlib/doc/makedoc.c 2009-03-25 22:16:04.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/doc/makedoc.c 2011-05-17 07:25:06.766153351 +0200 -@@ -57,7 +57,7 @@ - { - char *ptr; - unsigned int write_idx; -- unsigned int size; -+ size_t size; - } string_type; - - -@@ -68,7 +68,7 @@ - - static void DEFUN(init_string_with_size,(buffer, size), - string_type *buffer AND -- unsigned int size ) -+ size_t size ) - { - buffer->write_idx = 0; - buffer->size = size; -@@ -219,8 +219,8 @@ - stinst_type *pc; - stinst_type sstack[STACK]; - stinst_type *ssp = &sstack[0]; --int istack[STACK]; --int *isp = &istack[0]; -+long istack[STACK]; -+long *isp = &istack[0]; - - typedef int *word_type; - -@@ -270,7 +270,7 @@ - { - isp++; - pc++; -- *isp = (int)(*pc); -+ *isp = (long)(*pc); - pc++; - - } -diff -Naur newlib-1.19.0.orig/newlib/libc/configure newlib-1.19.0-rtems4.11-20110517/newlib/libc/configure ---- newlib-1.19.0.orig/newlib/libc/configure 2010-12-16 22:58:39.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/configure 2011-05-17 07:25:06.771153421 +0200 -@@ -625,7 +625,10 @@ - HAVE_XDR_DIR_TRUE - LIBC_XDR_DEF - LIBC_XDR_LIB -+HAVE_POSIX_DIR_FALSE -+HAVE_POSIX_DIR_TRUE - LIBC_POSIX_DEF -+LIBC_POSIX_LIB - HAVE_STDIO64_DIR_FALSE - HAVE_STDIO64_DIR_TRUE - LIBC_STDIO64_DEF -@@ -638,9 +641,6 @@ - HAVE_SIGNAL_DIR_TRUE - LIBC_SIGNAL_DEF - LIBC_SIGNAL_LIB --HAVE_POSIX_DIR_FALSE --HAVE_POSIX_DIR_TRUE --LIBC_POSIX_LIB - CRT0 - subdirs - CPP -@@ -11805,24 +11805,6 @@ - - - --LIBC_POSIX_LIB= --if test -n "${posix_dir}"; then -- if test "${use_libtool}" = "yes"; then -- LIBC_POSIX_LIB=${posix_dir}/lib${posix_dir}.${aext} -- else -- LIBC_POSIX_LIB=${posix_dir}/lib.${aext} -- fi --fi -- -- if test x${posix_dir} != x; then -- HAVE_POSIX_DIR_TRUE= -- HAVE_POSIX_DIR_FALSE='#' --else -- HAVE_POSIX_DIR_TRUE='#' -- HAVE_POSIX_DIR_FALSE= --fi -- -- - LIBC_SIGNAL_LIB= - LIBC_SIGNAL_DEF= - if test -n "${signal_dir}"; then -@@ -12225,10 +12207,6 @@ - as_fn_error "conditional \"am__fastdepCC\" was never defined. - Usually this means the macro was only invoked conditionally." "$LINENO" 5 - fi --if test -z "${HAVE_POSIX_DIR_TRUE}" && test -z "${HAVE_POSIX_DIR_FALSE}"; then -- as_fn_error "conditional \"HAVE_POSIX_DIR\" was never defined. --Usually this means the macro was only invoked conditionally." "$LINENO" 5 --fi - if test -z "${HAVE_SIGNAL_DIR_TRUE}" && test -z "${HAVE_SIGNAL_DIR_FALSE}"; then - as_fn_error "conditional \"HAVE_SIGNAL_DIR\" was never defined. - Usually this means the macro was only invoked conditionally." "$LINENO" 5 -diff -Naur newlib-1.19.0.orig/newlib/libc/configure.in newlib-1.19.0-rtems4.11-20110517/newlib/libc/configure.in ---- newlib-1.19.0.orig/newlib/libc/configure.in 2010-04-23 01:32:40.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/configure.in 2011-05-17 07:25:06.771153421 +0200 -@@ -41,17 +41,6 @@ - dnl for the library and an automake conditional for whether we should - dnl build the library. - --LIBC_POSIX_LIB= --if test -n "${posix_dir}"; then -- if test "${use_libtool}" = "yes"; then -- LIBC_POSIX_LIB=${posix_dir}/lib${posix_dir}.${aext} -- else -- LIBC_POSIX_LIB=${posix_dir}/lib.${aext} -- fi --fi --AC_SUBST(LIBC_POSIX_LIB) --AM_CONDITIONAL(HAVE_POSIX_DIR, test x${posix_dir} != x) -- - LIBC_SIGNAL_LIB= - LIBC_SIGNAL_DEF= - if test -n "${signal_dir}"; then -diff -Naur newlib-1.19.0.orig/newlib/libc/include/inttypes.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/inttypes.h ---- newlib-1.19.0.orig/newlib/libc/include/inttypes.h 2009-01-19 23:02:06.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/inttypes.h 2011-05-17 07:25:06.771153421 +0200 -@@ -242,15 +242,17 @@ - #define SCNxMAX __SCNMAX(x) - - /* ptr types */ --#if __have_long64 --#define __PRIPTR(x) __STRINGIFY(l##x) --#define __SCNPTR(x) __STRINGIFY(l##x) --#elif __have_longlong64 --#define __PRIPTR(x) __STRINGIFY(ll##x) --#define __SCNPTR(x) __STRINGIFY(ll##x) -+#if INTPTR_MAX == INT64_MAX -+#define __PRIPTR(x) __PRI64(x) -+#define __SCNPTR(x) __SCN64(x) -+#elif INTPTR_MAX == INT32_MAX -+#define __PRIPTR(x) __PRI32(x) -+#define __SCNPTR(x) __SCN32(x) -+#elif INTPTR_MAX == INT16_MAX -+#define __PRIPTR(x) __PRI16(x) -+#define __SCNPTR(x) __SCN16(x) - #else --#define __PRIPTR(x) __STRINGIFY(x) --#define __SCNPTR(x) __STRINGIFY(x) -+#error cannot determine PRI*PTR - #endif - - #define PRIdPTR __PRIPTR(d) -diff -Naur newlib-1.19.0.orig/newlib/libc/include/machine/_default_types.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/machine/_default_types.h ---- newlib-1.19.0.orig/newlib/libc/include/machine/_default_types.h 2008-06-12 00:14:54.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/machine/_default_types.h 2011-05-17 07:25:06.771153421 +0200 -@@ -54,14 +54,14 @@ - #endif - #endif - --#if __EXP(INT_MAX) == 0x7fffffffL --typedef signed int __int32_t; --typedef unsigned int __uint32_t; --#define ___int32_t_defined 1 --#elif __EXP(LONG_MAX) == 0x7fffffffL -+#if __EXP(LONG_MAX) == 0x7fffffffL - typedef signed long __int32_t; - typedef unsigned long __uint32_t; - #define ___int32_t_defined 1 -+#elif __EXP(INT_MAX) == 0x7fffffffL -+typedef signed int __int32_t; -+typedef unsigned int __uint32_t; -+#define ___int32_t_defined 1 - #elif __EXP(SHRT_MAX) == 0x7fffffffL - typedef signed short __int32_t; - typedef unsigned short __uint32_t; -diff -Naur newlib-1.19.0.orig/newlib/libc/include/signal.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/signal.h ---- newlib-1.19.0.orig/newlib/libc/include/signal.h 2010-07-13 13:18:55.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/signal.h 2011-05-17 07:25:06.771153421 +0200 -@@ -7,9 +7,6 @@ - _BEGIN_STD_C - - typedef int sig_atomic_t; /* Atomic entity type (ANSI) */ --#ifndef _POSIX_SOURCE --typedef _sig_func_ptr sighandler_t; /* glibc naming */ --#endif /* !_POSIX_SOURCE */ - - #define SIG_DFL ((_sig_func_ptr)0) /* Default action */ - #define SIG_IGN ((_sig_func_ptr)1) /* Ignore action */ -@@ -23,6 +20,7 @@ - #ifndef _REENT_ONLY - _sig_func_ptr _EXFUN(signal, (int, _sig_func_ptr)); - int _EXFUN(raise, (int)); -+void _EXFUN(psignal, (int, const char *)); - #endif - - _END_STD_C -diff -Naur newlib-1.19.0.orig/newlib/libc/include/stdint.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/stdint.h ---- newlib-1.19.0.orig/newlib/libc/include/stdint.h 2009-04-24 23:55:07.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/stdint.h 2011-05-17 07:25:06.772153437 +0200 -@@ -33,7 +33,7 @@ - /* Check if "long" is 64bit or 32bit wide */ - #if __STDINT_EXP(LONG_MAX) > 0x7fffffff - #define __have_long64 1 --#elif __STDINT_EXP(LONG_MAX) == 0x7fffffff && !defined(__SPU__) -+#elif __STDINT_EXP(LONG_MAX) == 0x7fffffff - #define __have_long32 1 - #endif - -@@ -49,14 +49,14 @@ - #define __int_least8_t_defined 1 - #endif - --#if __STDINT_EXP(SHRT_MAX) == 0x7fff --typedef signed short int16_t; --typedef unsigned short uint16_t; --#define __int16_t_defined 1 --#elif __STDINT_EXP(INT_MAX) == 0x7fff -+#if __STDINT_EXP(INT_MAX) == 0x7fff - typedef signed int int16_t; - typedef unsigned int uint16_t; - #define __int16_t_defined 1 -+#elif __STDINT_EXP(SHRT_MAX) == 0x7fff -+typedef signed short int16_t; -+typedef unsigned short uint16_t; -+#define __int16_t_defined 1 - #elif __STDINT_EXP(SCHAR_MAX) == 0x7fff - typedef signed char int16_t; - typedef unsigned char uint16_t; -@@ -239,6 +239,29 @@ - * GCC doesn't provide an appropriate macro for [u]intptr_t - * For now, use __PTRDIFF_TYPE__ - */ -+#if defined(__SIZEOF_POINTER__) -+#if __SIZEOF_POINTER__ == 8 -+ typedef int64_t intptr_t; -+ typedef uint64_t uintptr_t; -+#define INTPTR_MAX INT64_MAX -+#define INTPTR_MIN INT64_MIN -+#define UINTPTR_MAX UINT64_MAX -+#elif __SIZEOF_POINTER__ == 4 -+ typedef int32_t intptr_t; -+ typedef uint32_t uintptr_t; -+#define INTPTR_MAX INT32_MAX -+#define INTPTR_MIN INT32_MIN -+#define UINTPTR_MAX UINT32_MAX -+#elif __SIZEOF_POINTER__ == 2 -+ typedef int16_t intptr_t; -+ typedef uint16_t uintptr_t; -+#define INTPTR_MAX INT16_MAX -+#define INTPTR_MIN INT16_MIN -+#define UINTPTR_MAX UINT16_MAX -+#else -+#error cannot determine intptr_t -+#endif -+#else - #if defined(__PTRDIFF_TYPE__) - typedef signed __PTRDIFF_TYPE__ intptr_t; - typedef unsigned __PTRDIFF_TYPE__ uintptr_t; -@@ -260,6 +283,7 @@ - #define INTPTR_MIN (-__STDINT_EXP(LONG_MAX) - 1) - #define UINTPTR_MAX (__STDINT_EXP(LONG_MAX) * 2UL + 1) - #endif -+#endif - - /* Limits of Specified-Width Integer Types */ - -@@ -408,6 +432,8 @@ - /* This must match size_t in stddef.h, currently long unsigned int */ - #ifdef __SIZE_MAX__ - #define SIZE_MAX __SIZE_MAX__ -+#elif defined(__SIZEOF_SIZE_T__) && defined(__CHAR_BIT__) -+#define SIZE_MAX (((1UL << (__SIZEOF_SIZE_T__ * __CHAR_BIT__ - 1)) - 1) * 2 + 1) - #else - #define SIZE_MAX (__STDINT_EXP(LONG_MAX) * 2UL + 1) - #endif -diff -Naur newlib-1.19.0.orig/newlib/libc/include/stdio.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/stdio.h ---- newlib-1.19.0.orig/newlib/libc/include/stdio.h 2010-02-26 10:41:43.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/stdio.h 2011-05-17 07:25:06.772153437 +0200 -@@ -308,7 +308,7 @@ - * Routines in POSIX 1003.1:2001. - */ - --#ifndef __STRICT_ANSI__ -+#if (!defined(__STRICT_ANSI__) || (__STDC_VERSION__ >= 199901L)) - #ifndef _REENT_ONLY - FILE * _EXFUN(fdopen, (int, const char *)); - #endif -diff -Naur newlib-1.19.0.orig/newlib/libc/include/stdlib.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/stdlib.h ---- newlib-1.19.0.orig/newlib/libc/include/stdlib.h 2010-07-19 20:21:11.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/stdlib.h 2011-05-17 07:25:06.772153437 +0200 -@@ -38,7 +38,7 @@ - long rem; /* remainder */ - } ldiv_t; - --#ifndef __STRICT_ANSI__ -+#if !defined(__STRICT_ANSI__) || (__STDC_VERSION__ >= 199901L) - typedef struct - { - long long int quot; /* quotient */ -@@ -63,13 +63,12 @@ - int _EXFUN(abs,(int)); - int _EXFUN(atexit,(_VOID (*__func)(_VOID))); - double _EXFUN(atof,(const char *__nptr)); --#ifndef __STRICT_ANSI__ --float _EXFUN(atoff,(const char *__nptr)); --#endif - int _EXFUN(atoi,(const char *__nptr)); --int _EXFUN(_atoi_r,(struct _reent *, const char *__nptr)); - long _EXFUN(atol,(const char *__nptr)); -+#ifndef __STRICT_ANSI__ -+int _EXFUN(_atoi_r,(struct _reent *, const char *__nptr)); - long _EXFUN(_atol_r,(struct _reent *, const char *__nptr)); -+#endif /* ! __STRICT_ANSI__ */ - _PTR _EXFUN(bsearch,(const _PTR __key, - const _PTR __base, - size_t __nmemb, -@@ -80,10 +79,10 @@ - _VOID _EXFUN(exit,(int __status) _ATTRIBUTE ((noreturn))); - _VOID _EXFUN_NOTHROW(free,(_PTR)); - char * _EXFUN(getenv,(const char *__string)); -+#ifndef __STRICT_ANSI__ - char * _EXFUN(_getenv_r,(struct _reent *, const char *__string)); - char * _EXFUN(_findenv,(_CONST char *, int *)); - char * _EXFUN(_findenv_r,(struct _reent *, _CONST char *, int *)); --#ifndef __STRICT_ANSI__ - extern char *suboptarg; /* getsubopt(3) external variable */ - int _EXFUN(getsubopt,(char **, char * const *, char **)); - #endif -@@ -91,16 +90,16 @@ - ldiv_t _EXFUN(ldiv,(long __numer, long __denom)); - _PTR _EXFUN_NOTHROW(malloc,(size_t __size)); - int _EXFUN(mblen,(const char *, size_t)); --int _EXFUN(_mblen_r,(struct _reent *, const char *, size_t, _mbstate_t *)); - int _EXFUN(mbtowc,(wchar_t *, const char *, size_t)); --int _EXFUN(_mbtowc_r,(struct _reent *, wchar_t *, const char *, size_t, _mbstate_t *)); - int _EXFUN(wctomb,(char *, wchar_t)); --int _EXFUN(_wctomb_r,(struct _reent *, char *, wchar_t, _mbstate_t *)); - size_t _EXFUN(mbstowcs,(wchar_t *, const char *, size_t)); --size_t _EXFUN(_mbstowcs_r,(struct _reent *, wchar_t *, const char *, size_t, _mbstate_t *)); - size_t _EXFUN(wcstombs,(char *, const wchar_t *, size_t)); --size_t _EXFUN(_wcstombs_r,(struct _reent *, char *, const wchar_t *, size_t, _mbstate_t *)); - #ifndef __STRICT_ANSI__ -+int _EXFUN(_mblen_r,(struct _reent *, const char *, size_t, _mbstate_t *)); -+int _EXFUN(_mbtowc_r,(struct _reent *, wchar_t *, const char *, size_t, _mbstate_t *)); -+int _EXFUN(_wctomb_r,(struct _reent *, char *, wchar_t, _mbstate_t *)); -+size_t _EXFUN(_mbstowcs_r,(struct _reent *, wchar_t *, const char *, size_t, _mbstate_t *)); -+size_t _EXFUN(_wcstombs_r,(struct _reent *, char *, const wchar_t *, size_t, _mbstate_t *)); - #ifndef _REENT_ONLY - char * _EXFUN(mkdtemp,(char *)); - int _EXFUN(mkostemp,(char *, int)); -@@ -133,10 +132,11 @@ - # endif - #endif - long _EXFUN(strtol,(const char *__n, char **__end_PTR, int __base)); --long _EXFUN(_strtol_r,(struct _reent *,const char *__n, char **__end_PTR, int __base)); - unsigned long _EXFUN(strtoul,(const char *__n, char **__end_PTR, int __base)); -+#ifndef __STRICT_ANSI__ - unsigned long _EXFUN(_strtoul_r,(struct _reent *,const char *__n, char **__end_PTR, int __base)); -- -+long _EXFUN(_strtol_r,(struct _reent *,const char *__n, char **__end_PTR, int __base)); -+#endif /* !__STRICT_ANSI__ */ - int _EXFUN(system,(const char *__string)); - - #ifndef __STRICT_ANSI__ -@@ -163,33 +163,39 @@ - int _EXFUN(rand_r,(unsigned *__seed)); - - double _EXFUN(drand48,(_VOID)); --double _EXFUN(_drand48_r,(struct _reent *)); - double _EXFUN(erand48,(unsigned short [3])); --double _EXFUN(_erand48_r,(struct _reent *, unsigned short [3])); - long _EXFUN(jrand48,(unsigned short [3])); --long _EXFUN(_jrand48_r,(struct _reent *, unsigned short [3])); - _VOID _EXFUN(lcong48,(unsigned short [7])); --_VOID _EXFUN(_lcong48_r,(struct _reent *, unsigned short [7])); - long _EXFUN(lrand48,(_VOID)); --long _EXFUN(_lrand48_r,(struct _reent *)); - long _EXFUN(mrand48,(_VOID)); --long _EXFUN(_mrand48_r,(struct _reent *)); - long _EXFUN(nrand48,(unsigned short [3])); --long _EXFUN(_nrand48_r,(struct _reent *, unsigned short [3])); - unsigned short * - _EXFUN(seed48,(unsigned short [3])); -+_VOID _EXFUN(srand48,(long)); -+long long _EXFUN(atoll,(const char *__nptr)); -+#ifndef __STRICT_ANSI__ -+double _EXFUN(_drand48_r,(struct _reent *)); -+double _EXFUN(_erand48_r,(struct _reent *, unsigned short [3])); -+long _EXFUN(_jrand48_r,(struct _reent *, unsigned short [3])); -+_VOID _EXFUN(_lcong48_r,(struct _reent *, unsigned short [7])); -+long _EXFUN(_lrand48_r,(struct _reent *)); -+long _EXFUN(_mrand48_r,(struct _reent *)); -+long _EXFUN(_nrand48_r,(struct _reent *, unsigned short [3])); - unsigned short * - _EXFUN(_seed48_r,(struct _reent *, unsigned short [3])); --_VOID _EXFUN(srand48,(long)); - _VOID _EXFUN(_srand48_r,(struct _reent *, long)); --long long _EXFUN(atoll,(const char *__nptr)); - long long _EXFUN(_atoll_r,(struct _reent *, const char *__nptr)); -+#endif /* ! __STRICT_ANSI__ */ -+#if !defined(__STRICT_ANSI__) || (__STDC_VERSION__ >= 199901L) - long long _EXFUN(llabs,(long long)); - lldiv_t _EXFUN(lldiv,(long long __numer, long long __denom)); - long long _EXFUN(strtoll,(const char *__n, char **__end_PTR, int __base)); --long long _EXFUN(_strtoll_r,(struct _reent *, const char *__n, char **__end_PTR, int __base)); - unsigned long long _EXFUN(strtoull,(const char *__n, char **__end_PTR, int __base)); -+#endif -+#ifndef __STRICT_ANSI__ -+long long _EXFUN(_strtoll_r,(struct _reent *, const char *__n, char **__end_PTR, int __base)); - unsigned long long _EXFUN(_strtoull_r,(struct _reent *, const char *__n, char **__end_PTR, int __base)); -+#endif /* ! __STRICT_ANSI__ */ - - #ifndef __CYGWIN__ - _VOID _EXFUN(cfree,(_PTR)); -@@ -203,6 +209,7 @@ - - #endif /* ! __STRICT_ANSI__ */ - -+#ifndef __STRICT_ANSI__ - char * _EXFUN(_dtoa_r,(struct _reent *, double, int, int, int *, int*, char**)); - #ifndef __CYGWIN__ - _PTR _EXFUN_NOTHROW(_malloc_r,(struct _reent *, size_t)); -@@ -214,6 +221,7 @@ - int _EXFUN(_system_r,(struct _reent *, const char *)); - - _VOID _EXFUN(__eprintf,(const char *, const char *, unsigned int, const char *)); -+#endif /* ! __STRICT_ANSI__ */ - - /* On platforms where long double equals double. */ - #ifdef _LDBL_EQ_DBL -diff -Naur newlib-1.19.0.orig/newlib/libc/include/string.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/string.h ---- newlib-1.19.0.orig/newlib/libc/include/string.h 2008-06-18 17:27:27.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/string.h 2011-05-17 07:25:06.772153437 +0200 -@@ -9,6 +9,7 @@ - - #include "_ansi.h" - #include -+#include - - #define __need_size_t - #include -@@ -49,52 +50,42 @@ - #ifndef __STRICT_ANSI__ - char *_EXFUN(strtok_r,(char *, const char *, char **)); - --int _EXFUN(bcmp,(const void *, const void *, size_t)); --void _EXFUN(bcopy,(const void *, void *, size_t)); --void _EXFUN(bzero,(void *, size_t)); --int _EXFUN(ffs,(int)); --char *_EXFUN(index,(const char *, int)); - _PTR _EXFUN(memccpy,(_PTR, const _PTR, int, size_t)); - _PTR _EXFUN(mempcpy,(_PTR, const _PTR, size_t)); - _PTR _EXFUN(memmem, (const _PTR, size_t, const _PTR, size_t)); --char *_EXFUN(rindex,(const char *, int)); - char *_EXFUN(stpcpy,(char *, const char *)); - char *_EXFUN(stpncpy,(char *, const char *, size_t)); --int _EXFUN(strcasecmp,(const char *, const char *)); - char *_EXFUN(strcasestr,(const char *, const char *)); -+char *_EXFUN(strchrnul,(const char *, int)); - char *_EXFUN(strdup,(const char *)); - char *_EXFUN(_strdup_r,(struct _reent *, const char *)); - char *_EXFUN(strndup,(const char *, size_t)); - char *_EXFUN(_strndup_r,(struct _reent *, const char *, size_t)); --char *_EXFUN(strerror_r,(int, char *, size_t)); -+/* There are two common strerror_r variants. If you request -+ _GNU_SOURCE, you get the GNU version; otherwise you get the POSIX -+ version. POSIX requires that #undef strerror_r will still let you -+ invoke the underlying function, but that requires gcc support. */ -+#ifdef _GNU_SOURCE -+char *_EXFUN(strerror_r,(int, char *, size_t)); -+#else -+# ifdef __GNUC__ -+int _EXFUN(strerror_r,(int, char *, size_t)) __asm__ (__ASMNAME ("__xpg_strerror_r")); -+# else -+int _EXFUN(__xpg_strerror_r,(int, char *, size_t)); -+# define strerror_r __xpg_strerror_r -+# endif -+#endif - size_t _EXFUN(strlcat,(char *, const char *, size_t)); - size_t _EXFUN(strlcpy,(char *, const char *, size_t)); --int _EXFUN(strncasecmp,(const char *, const char *, size_t)); - size_t _EXFUN(strnlen,(const char *, size_t)); - char *_EXFUN(strsep,(char **, const char *)); - char *_EXFUN(strlwr,(char *)); - char *_EXFUN(strupr,(char *)); -+char *_EXFUN(strsignal, (int __signo)); - #ifdef __CYGWIN__ --#ifndef DEFS_H /* Kludge to work around problem compiling in gdb */ --char *_EXFUN(strsignal, (int __signo)); --#endif - int _EXFUN(strtosigno, (const char *__name)); - #endif - --/* These function names are used on Windows and perhaps other systems. */ --#ifndef strcmpi --#define strcmpi strcasecmp --#endif --#ifndef stricmp --#define stricmp strcasecmp --#endif --#ifndef strncmpi --#define strncmpi strncasecmp --#endif --#ifndef strnicmp --#define strnicmp strncasecmp --#endif -- - #endif /* ! __STRICT_ANSI__ */ - - #include -diff -Naur newlib-1.19.0.orig/newlib/libc/include/sys/cdefs.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/sys/cdefs.h ---- newlib-1.19.0.orig/newlib/libc/include/sys/cdefs.h 2002-06-20 21:51:24.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/sys/cdefs.h 2011-05-17 07:25:06.773153454 +0200 -@@ -58,6 +58,27 @@ - #define __DOTS , ... - #define __THROW - -+/* -+ * The __CONCAT macro is used to concatenate parts of symbol names, e.g. -+ * with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo. -+ * The __CONCAT macro is a bit tricky to use if it must work in non-ANSI -+ * mode -- there must be no spaces between its arguments, and for nested -+ * __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also -+ * concatenate double-quoted strings produced by the __STRING macro, but -+ * this only works with ANSI C. -+ * -+ * __XSTRING is like __STRING, but it expands any macros in its argument -+ * first. It is only available with ANSI C. -+ */ -+#define __CONCAT1(x,y) x ## y -+#define __CONCAT(x,y) __CONCAT1(x,y) -+#define __STRING(x) #x /* stringify without expanding x */ -+#define __XSTRING(x) __STRING(x) /* expand x, then stringify */ -+ -+#ifdef __GNUC__ -+# define __ASMNAME(cname) __XSTRING (__USER_LABEL_PREFIX__) cname -+#endif -+ - #define __ptr_t void * - #define __long_double_t long double - -diff -Naur newlib-1.19.0.orig/newlib/libc/include/sys/_default_fcntl.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/sys/_default_fcntl.h ---- newlib-1.19.0.orig/newlib/libc/include/sys/_default_fcntl.h 2010-01-14 19:49:13.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/sys/_default_fcntl.h 2011-05-17 07:25:06.773153454 +0200 -@@ -51,8 +51,6 @@ - #define O_BINARY _FBINARY - #define O_TEXT _FTEXT - #define O_NOINHERIT _FNOINHERIT --/* O_CLOEXEC is the Linux equivalent to O_NOINHERIT */ --#define O_CLOEXEC _FNOINHERIT - - /* The windows header files define versions with a leading underscore. */ - #define _O_RDONLY O_RDONLY -@@ -124,9 +122,6 @@ - #define F_CNVT 12 /* Convert a fhandle to an open fd */ - #define F_RSETLKW 13 /* Set or Clear remote record-lock(Blocking) */ - #endif /* !_POSIX_SOURCE */ --#ifdef __CYGWIN__ --#define F_DUPFD_CLOEXEC 14 /* As F_DUPFD, but set close-on-exec flag */ --#endif - - /* fcntl(2) flags (l_type field of flock structure) */ - #define F_RDLCK 1 /* read lock */ -diff -Naur newlib-1.19.0.orig/newlib/libc/include/sys/dir.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/sys/dir.h ---- newlib-1.19.0.orig/newlib/libc/include/sys/dir.h 2010-08-11 20:14:54.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/sys/dir.h 1970-01-01 01:00:00.000000000 +0100 -@@ -1,10 +0,0 @@ --/* BSD predecessor of POSIX.1 and struct dirent */ -- --#ifndef _SYS_DIR_H_ --#define _SYS_DIR_H_ -- --#include -- --#define direct dirent -- --#endif /*_SYS_DIR_H_*/ -diff -Naur newlib-1.19.0.orig/newlib/libc/include/sys/features.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/sys/features.h ---- newlib-1.19.0.orig/newlib/libc/include/sys/features.h 2010-08-09 10:29:22.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/sys/features.h 2011-05-17 07:25:06.777153516 +0200 -@@ -15,7 +15,7 @@ - * OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS - * SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. - * -- * $Id$ -+ * $Id$ - */ - - #ifndef _SYS_FEATURES_H -@@ -103,7 +103,7 @@ - /* #define _POSIX_BARRIERS -1 */ - #define _POSIX_CHOWN_RESTRICTED 1 - /* #define _POSIX_CLOCK_SELECTION -1 */ --/* #define _POSIX_CPUTIME -1 */ -+#define _POSIX_CPUTIME 200112L - #define _POSIX_FSYNC 200112L - #define _POSIX_IPV6 200112L - #define _POSIX_JOB_CONTROL 1 -@@ -125,12 +125,12 @@ - #define _POSIX_SHARED_MEMORY_OBJECTS 200112L - #define _POSIX_SHELL 1 - /* #define _POSIX_SPAWN -1 */ --/* #define _POSIX_SPIN_LOCKS -1 */ -+#define _POSIX_SPIN_LOCKS 200112L - /* #define _POSIX_SPORADIC_SERVER -1 */ - #define _POSIX_SYNCHRONIZED_IO 200112L --/* #define _POSIX_THREAD_ATTR_STACKADDR -1 */ -+#define _POSIX_THREAD_ATTR_STACKADDR 200112L - #define _POSIX_THREAD_ATTR_STACKSIZE 200112L --/* #define _POSIX_THREAD_CPUTIME -1 */ -+#define _POSIX_THREAD_CPUTIME 200112L - /* #define _POSIX_THREAD_PRIO_INHERIT -1 */ - /* #define _POSIX_THREAD_PRIO_PROTECT -1 */ - #define _POSIX_THREAD_PRIORITY_SCHEDULING 200112L -@@ -178,6 +178,12 @@ - /* #define _XOPEN_UNIX -1 */ - - #endif /* !__STRICT_ANSI__ || __cplusplus || __STDC_VERSION__ >= 199901L */ -+ -+/* The value corresponds to UNICODE version 4.0, which is the version -+ supported by XP. Newlib supports 5.2 (2011) but so far Cygwin needs -+ the MS conversions for double-byte charsets. */ -+#define __STDC_ISO_10646__ 200305L -+ - #endif /* __CYGWIN__ */ - - /* Per the permission given in POSIX.1-2008 section 2.2.1, define -diff -Naur newlib-1.19.0.orig/newlib/libc/include/sys/signal.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/sys/signal.h ---- newlib-1.19.0.orig/newlib/libc/include/sys/signal.h 2009-10-13 19:31:49.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/sys/signal.h 2011-05-17 07:25:06.777153516 +0200 -@@ -76,11 +76,12 @@ - * - * (1) Routines stored in sa_handler should take a single int as - * their argument although the POSIX standard does not require this. -+ * This is not longer true since at least POSIX.1-2008 - * (2) The fields sa_handler and sa_sigaction may overlap, and a conforming - * application should not use both simultaneously. - */ - --typedef void (*_sig_func_ptr)(); -+typedef void (*_sig_func_ptr)(int); - - struct sigaction { - int sa_flags; /* Special flags to affect behavior of signal */ -diff -Naur newlib-1.19.0.orig/newlib/libc/include/sys/types.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/sys/types.h ---- newlib-1.19.0.orig/newlib/libc/include/sys/types.h 2010-12-08 15:44:06.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/sys/types.h 2011-05-17 07:25:06.777153516 +0200 -@@ -98,6 +98,7 @@ - - typedef unsigned short ushort; /* System V compatibility */ - typedef unsigned int uint; /* System V compatibility */ -+typedef unsigned long ulong; /* System V compatibility */ - # endif /*!_POSIX_SOURCE */ - - #ifndef __clock_t_defined -@@ -462,13 +463,13 @@ - - /* POSIX Spin Lock Types */ - -+#if !defined (__CYGWIN__) - #if defined(_POSIX_SPIN_LOCKS) - typedef __uint32_t pthread_spinlock_t; /* POSIX Spin Lock Object */ - #endif /* defined(_POSIX_SPIN_LOCKS) */ - - /* POSIX Reader/Writer Lock Types */ - --#if !defined (__CYGWIN__) - #if defined(_POSIX_READER_WRITER_LOCKS) - typedef __uint32_t pthread_rwlock_t; /* POSIX RWLock Object */ - typedef struct { -diff -Naur newlib-1.19.0.orig/newlib/libc/include/time.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/time.h ---- newlib-1.19.0.orig/newlib/libc/include/time.h 2008-10-16 23:53:58.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/time.h 2011-05-17 07:25:06.777153516 +0200 -@@ -212,7 +212,7 @@ - the identifier of the CPU_time clock associated with the PROCESS - making the function call. */ - --#define CLOCK_PROCESS_CPUTIME (clockid_t)2 -+#define CLOCK_PROCESS_CPUTIME_ID (clockid_t)2 - - #endif - -@@ -222,7 +222,7 @@ - the identifier of the CPU_time clock associated with the THREAD - making the function call. */ - --#define CLOCK_THREAD_CPUTIME (clockid_t)3 -+#define CLOCK_THREAD_CPUTIME_ID (clockid_t)3 - - #endif - -diff -Naur newlib-1.19.0.orig/newlib/libc/include/wchar.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/wchar.h ---- newlib-1.19.0.orig/newlib/libc/include/wchar.h 2009-10-15 10:23:27.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/include/wchar.h 2011-05-17 07:25:06.778153530 +0200 -@@ -16,6 +16,9 @@ - /* For _mbstate_t definition. */ - #include - -+/* For __STDC_ISO_10646__ */ -+#include -+ - #ifndef NULL - #define NULL 0 - #endif -diff -Naur newlib-1.19.0.orig/newlib/libc/locale/lmessages.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/locale/lmessages.c ---- newlib-1.19.0.orig/newlib/libc/locale/lmessages.c 2010-04-28 11:59:37.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/locale/lmessages.c 2011-05-17 07:25:06.778153530 +0200 -@@ -41,7 +41,7 @@ - "^[yY]" , /* yesexpr */ - "^[nN]" , /* noexpr */ - "yes" , /* yesstr */ -- "no" /* nostr */ -+ "no" , /* nostr */ - "ASCII" /* codeset */ - #ifdef __HAVE_LOCALE_INFO_EXTENDED__ - , L"^[yY]" , /* wyesexpr */ -diff -Naur newlib-1.19.0.orig/newlib/libc/locale/lmessages.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/locale/lmessages.h ---- newlib-1.19.0.orig/newlib/libc/locale/lmessages.h 2010-04-28 11:59:37.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/locale/lmessages.h 2011-05-17 07:25:06.778153530 +0200 -@@ -50,7 +50,7 @@ - }; - - struct lc_messages_T *__get_current_messages_locale(void); --int __numeric_load_locale(const char *, void *, const char *); -+int __messages_load_locale(const char *, void *, const char *); - - __END_DECLS - -diff -Naur newlib-1.19.0.orig/newlib/libc/locale/locale.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/locale/locale.c ---- newlib-1.19.0.orig/newlib/libc/locale/locale.c 2010-11-19 11:02:36.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/locale/locale.c 2011-05-17 07:25:06.778153530 +0200 -@@ -182,6 +182,7 @@ - #include "lmonetary.h" - #include "lnumeric.h" - #include "lctype.h" -+#include "timelocal.h" - #include "../stdlib/local.h" - - #define _LC_LAST 7 -@@ -235,7 +236,11 @@ - static char current_categories[_LC_LAST][ENCODING_LEN + 1] = { - "C", - "C", -+#ifdef __CYGWIN__ /* Cygwin starts with LC_CTYPE set to "C.UTF-8". */ -+ "C.UTF-8", -+#else - "C", -+#endif - "C", - "C", - "C", -@@ -255,13 +260,12 @@ - - #endif /* _MB_CAPABLE */ - --#if 0 /*def __CYGWIN__ TODO: temporarily(?) disable C == UTF-8 */ -+#ifdef __CYGWIN__ - static char lc_ctype_charset[ENCODING_LEN + 1] = "UTF-8"; --static char lc_message_charset[ENCODING_LEN + 1] = "UTF-8"; - #else - static char lc_ctype_charset[ENCODING_LEN + 1] = "ASCII"; --static char lc_message_charset[ENCODING_LEN + 1] = "ASCII"; - #endif -+static char lc_message_charset[ENCODING_LEN + 1] = "ASCII"; - static int lc_ctype_cjk_lang = 0; - - char * -@@ -432,7 +436,7 @@ - #ifdef _MB_CAPABLE - #ifdef __CYGWIN__ - extern void __set_charset_from_locale (const char *locale, char *charset); --extern int __set_locale_from_locale_alias (const char *, char *); -+extern char *__set_locale_from_locale_alias (const char *, char *); - extern int __collate_load_locale (const char *, void *, const char *); - #endif /* __CYGWIN__ */ - -@@ -495,11 +499,7 @@ - if (!strcmp (locale, "POSIX")) - strcpy (locale, "C"); - if (!strcmp (locale, "C")) /* Default "C" locale */ --#if 0 /*def __CYGWIN__ TODO: temporarily(?) disable C == UTF-8 */ -- strcpy (charset, "UTF-8"); --#else - strcpy (charset, "ASCII"); --#endif - else if (locale[0] == 'C' - && (locale[1] == '-' /* Old newlib style */ - || locale[1] == '.')) /* Extension for the C locale to allow -@@ -952,7 +952,7 @@ - _DEFUN_VOID(__locale_msgcharset) - { - #ifdef __HAVE_LOCALE_INFO__ -- return __get_current_messages_locale ()->codeset; -+ return (char *) __get_current_messages_locale ()->codeset; - #else - return lc_message_charset; - #endif -@@ -972,21 +972,21 @@ - if (__nlocale_changed) - { - struct lc_numeric_T *n = __get_current_numeric_locale (); -- lconv.decimal_point = n->decimal_point; -- lconv.thousands_sep = n->thousands_sep; -- lconv.grouping = n->grouping; -+ lconv.decimal_point = (char *) n->decimal_point; -+ lconv.thousands_sep = (char *) n->thousands_sep; -+ lconv.grouping = (char *) n->grouping; - __nlocale_changed = 0; - } - if (__mlocale_changed) - { - struct lc_monetary_T *m = __get_current_monetary_locale (); -- lconv.int_curr_symbol = m->int_curr_symbol; -- lconv.currency_symbol = m->currency_symbol; -- lconv.mon_decimal_point = m->mon_decimal_point; -- lconv.mon_thousands_sep = m->mon_thousands_sep; -- lconv.mon_grouping = m->mon_grouping; -- lconv.positive_sign = m->positive_sign; -- lconv.negative_sign = m->negative_sign; -+ lconv.int_curr_symbol = (char *) m->int_curr_symbol; -+ lconv.currency_symbol = (char *) m->currency_symbol; -+ lconv.mon_decimal_point = (char *) m->mon_decimal_point; -+ lconv.mon_thousands_sep = (char *) m->mon_thousands_sep; -+ lconv.mon_grouping = (char *) m->mon_grouping; -+ lconv.positive_sign = (char *) m->positive_sign; -+ lconv.negative_sign = (char *) m->negative_sign; - lconv.int_frac_digits = m->int_frac_digits[0]; - lconv.frac_digits = m->frac_digits[0]; - lconv.p_cs_precedes = m->p_cs_precedes[0]; -diff -Naur newlib-1.19.0.orig/newlib/libc/machine/frv/setjmp.S newlib-1.19.0-rtems4.11-20110517/newlib/libc/machine/frv/setjmp.S ---- newlib-1.19.0.orig/newlib/libc/machine/frv/setjmp.S 2002-06-18 23:20:28.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/machine/frv/setjmp.S 2011-05-17 07:25:06.779153544 +0200 -@@ -123,4 +123,4 @@ - cmov gr9, gr8, cc4, 1 - ret - .Lend2: -- .size EXT(longjmp),.Lend2-EXT(longjmp2) -+ .size EXT(longjmp),.Lend2-EXT(longjmp) -diff -Naur newlib-1.19.0.orig/newlib/libc/machine/m68k/memcpy.S newlib-1.19.0-rtems4.11-20110517/newlib/libc/machine/m68k/memcpy.S ---- newlib-1.19.0.orig/newlib/libc/machine/m68k/memcpy.S 2010-02-08 18:24:22.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/machine/m68k/memcpy.S 2011-05-17 07:25:06.779153544 +0200 -@@ -15,7 +15,7 @@ - - #include "m68kasm.h" - --#if defined (__mcoldfire__) || defined (__mc68010__) || defined (__mc68020__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) -+#if defined (__mcoldfire__) || defined (__mcpu32__) || defined (__mc68010__) || defined (__mc68020__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) - # define MISALIGNED_OK 1 - #else - # define MISALIGNED_OK 0 -diff -Naur newlib-1.19.0.orig/newlib/libc/machine/mips/strlen.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/machine/mips/strlen.c ---- newlib-1.19.0.orig/newlib/libc/machine/mips/strlen.c 2002-03-14 03:41:43.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/machine/mips/strlen.c 2011-05-17 07:25:06.779153544 +0200 -@@ -60,6 +60,9 @@ - " addiu $2,$4,1\n" - "\n" - "1: lbu $3,0($4)\n" -+#if defined(_R3000) -+ " nop \n" -+#endif - " bnez $3,1b\n" - " addiu $4,$4,1\n" - "\n" -diff -Naur newlib-1.19.0.orig/newlib/libc/machine/powerpc/Makefile.am newlib-1.19.0-rtems4.11-20110517/newlib/libc/machine/powerpc/Makefile.am ---- newlib-1.19.0.orig/newlib/libc/machine/powerpc/Makefile.am 2007-05-24 19:33:35.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/machine/powerpc/Makefile.am 2011-05-17 07:25:06.779153544 +0200 -@@ -10,7 +10,7 @@ - - AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib - --lib_a_SOURCES = setjmp.S times.c -+lib_a_SOURCES = setjmp.S - lib_a_CCASFLAGS=$(AM_CCASFLAGS) - lib_a_CFLAGS=$(AM_CFLAGS) - lib_a_LIBADD = @extra_objs@ -diff -Naur newlib-1.19.0.orig/newlib/libc/machine/powerpc/Makefile.in newlib-1.19.0-rtems4.11-20110517/newlib/libc/machine/powerpc/Makefile.in ---- newlib-1.19.0.orig/newlib/libc/machine/powerpc/Makefile.in 2010-12-16 22:58:53.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/machine/powerpc/Makefile.in 2011-05-17 07:25:06.779153544 +0200 -@@ -51,7 +51,7 @@ - LIBRARIES = $(noinst_LIBRARIES) - ARFLAGS = cru - lib_a_AR = $(AR) $(ARFLAGS) --am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-times.$(OBJEXT) -+am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) - lib_a_OBJECTS = $(am_lib_a_OBJECTS) - DEFAULT_INCLUDES = -I.@am__isrc@ - depcomp = -@@ -174,7 +174,7 @@ - AM_CCASFLAGS = $(INCLUDES) - noinst_LIBRARIES = lib.a - AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib --lib_a_SOURCES = setjmp.S times.c -+lib_a_SOURCES = setjmp.S - lib_a_CCASFLAGS = $(AM_CCASFLAGS) - lib_a_CFLAGS = $(AM_CFLAGS) - lib_a_LIBADD = @extra_objs@ -@@ -185,7 +185,7 @@ - all: all-am - - .SUFFIXES: --.SUFFIXES: .S .c .o .obj -+.SUFFIXES: .S .o .obj - am--refresh: - @: - $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) -@@ -246,18 +246,6 @@ - lib_a-setjmp.obj: setjmp.S - $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CCASFLAGS) $(CCASFLAGS) -c -o lib_a-setjmp.obj `if test -f 'setjmp.S'; then $(CYGPATH_W) 'setjmp.S'; else $(CYGPATH_W) '$(srcdir)/setjmp.S'; fi` - --.c.o: -- $(COMPILE) -c $< -- --.c.obj: -- $(COMPILE) -c `$(CYGPATH_W) '$<'` -- --lib_a-times.o: times.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-times.o `test -f 'times.c' || echo '$(srcdir)/'`times.c -- --lib_a-times.obj: times.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-times.obj `if test -f 'times.c'; then $(CYGPATH_W) 'times.c'; else $(CYGPATH_W) '$(srcdir)/times.c'; fi` -- - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ -diff -Naur newlib-1.19.0.orig/newlib/libc/machine/powerpc/times.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/machine/powerpc/times.c ---- newlib-1.19.0.orig/newlib/libc/machine/powerpc/times.c 2002-07-22 22:26:51.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/machine/powerpc/times.c 1970-01-01 01:00:00.000000000 +0100 -@@ -1,36 +0,0 @@ --/* Time support routines for PowerPC. -- * -- * Written by Aldy Hernandez. -- */ -- --#include <_ansi.h> --#include --#include --#include --#include -- --clock_t --times (struct tms *tp) --{ -- struct rusage usage; -- union { -- struct rusage r; -- /* Newlib's rusage has only 2 fields. We need to make room for -- when we call the system's rusage. This should be enough. */ -- int filler[32]; -- } host_ru; -- -- getrusage (RUSAGE_SELF, (void *)&host_ru); -- -- if (tp) -- { -- tp->tms_utime = host_ru.r.ru_utime.tv_sec * 1000 -- + host_ru.r.ru_utime.tv_usec; -- tp->tms_stime = host_ru.r.ru_stime.tv_sec * 1000 -- + host_ru.r.ru_stime.tv_usec; -- tp->tms_cutime = 0; /* user time, children */ -- tp->tms_cstime = 0; /* system time, children */ -- } -- -- return tp->tms_utime; --} -diff -Naur newlib-1.19.0.orig/newlib/libc/Makefile.am newlib-1.19.0-rtems4.11-20110517/newlib/libc/Makefile.am ---- newlib-1.19.0.orig/newlib/libc/Makefile.am 2010-05-07 01:25:16.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/Makefile.am 2011-05-17 07:25:06.767153366 +0200 -@@ -36,6 +36,8 @@ - - if HAVE_XDR_DIR - XDR_SUBDIR = xdr -+rpcincludedir = $(tooldir) -+nobase_rpcinclude_HEADERS = include/rpc/xdr.h include/rpc/types.h - endif - - # The order of SUBDIRS is important for the integrated documentation. -@@ -140,8 +142,7 @@ - locale/stmp-def \ - reent/stmp-def \ - $(LIBC_EXTRA_DEF) \ -- misc/stmp-def \ -- posix/stmp-def -+ misc/stmp-def - - libc.info: sigset.texi extra.texi stdio64.texi posix.texi iconvset.texi \ - targetdep.tex $(SUBDEFS) -diff -Naur newlib-1.19.0.orig/newlib/libc/Makefile.in newlib-1.19.0-rtems4.11-20110517/newlib/libc/Makefile.in ---- newlib-1.19.0.orig/newlib/libc/Makefile.in 2010-12-16 22:58:39.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/Makefile.in 2011-05-17 07:25:06.767153366 +0200 -@@ -17,6 +17,7 @@ - - - -+ - VPATH = @srcdir@ - pkgdatadir = $(datadir)/@PACKAGE@ - pkgincludedir = $(includedir)/@PACKAGE@ -@@ -39,7 +40,8 @@ - subdir = . - DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/configure $(am__configure_deps) \ -- $(srcdir)/../../mkinstalldirs $(libc_TEXINFOS) -+ $(srcdir)/../../mkinstalldirs $(libc_TEXINFOS) \ -+ $(am__nobase_rpcinclude_HEADERS_DIST) - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/../../libtool.m4 \ - $(top_srcdir)/../../ltoptions.m4 \ -@@ -155,6 +157,10 @@ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' - DATA = $(noinst_DATA) -+am__nobase_rpcinclude_HEADERS_DIST = include/rpc/xdr.h \ -+ include/rpc/types.h -+am__installdirs = "$(DESTDIR)$(rpcincludedir)" -+HEADERS = $(nobase_rpcinclude_HEADERS) - RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive - AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ -@@ -319,6 +325,8 @@ - @ENABLE_NEWLIB_ICONV_FALSE@NEWLIB_ICONV_LIBS = - @ENABLE_NEWLIB_ICONV_TRUE@NEWLIB_ICONV_LIBS = iconv/ces/lib.$(aext) iconv/ccs/lib.$(aext) iconv/lib/lib.$(aext) - @HAVE_XDR_DIR_TRUE@XDR_SUBDIR = xdr -+@HAVE_XDR_DIR_TRUE@rpcincludedir = $(tooldir) -+@HAVE_XDR_DIR_TRUE@nobase_rpcinclude_HEADERS = include/rpc/xdr.h include/rpc/types.h - - # The order of SUBDIRS is important for the integrated documentation. - # Do not change the order without considering the doc impact. -@@ -396,8 +404,7 @@ - locale/stmp-def \ - reent/stmp-def \ - $(LIBC_EXTRA_DEF) \ -- misc/stmp-def \ -- posix/stmp-def -+ misc/stmp-def - - info_TEXINFOS = libc.texinfo - libc_TEXINFOS = sigset.texi extra.texi posix.texi stdio64.texi iconvset.texi \ -@@ -638,6 +645,29 @@ - done - - clean-info: mostlyclean-aminfo clean-aminfo -+install-nobase_rpcincludeHEADERS: $(nobase_rpcinclude_HEADERS) -+ @$(NORMAL_INSTALL) -+ test -z "$(rpcincludedir)" || $(MKDIR_P) "$(DESTDIR)$(rpcincludedir)" -+ @list='$(nobase_rpcinclude_HEADERS)'; test -n "$(rpcincludedir)" || list=; \ -+ $(am__nobase_list) | while read dir files; do \ -+ xfiles=; for file in $$files; do \ -+ if test -f "$$file"; then xfiles="$$xfiles $$file"; \ -+ else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ -+ test -z "$$xfiles" || { \ -+ test "x$$dir" = x. || { \ -+ echo "$(MKDIR_P) '$(DESTDIR)$(rpcincludedir)/$$dir'"; \ -+ $(MKDIR_P) "$(DESTDIR)$(rpcincludedir)/$$dir"; }; \ -+ echo " $(INSTALL_HEADER) $$xfiles '$(DESTDIR)$(rpcincludedir)/$$dir'"; \ -+ $(INSTALL_HEADER) $$xfiles "$(DESTDIR)$(rpcincludedir)/$$dir" || exit $$?; }; \ -+ done -+ -+uninstall-nobase_rpcincludeHEADERS: -+ @$(NORMAL_UNINSTALL) -+ @list='$(nobase_rpcinclude_HEADERS)'; test -n "$(rpcincludedir)" || list=; \ -+ $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ -+ test -n "$$files" || exit 0; \ -+ echo " ( cd '$(DESTDIR)$(rpcincludedir)' && rm -f" $$files ")"; \ -+ cd "$(DESTDIR)$(rpcincludedir)" && rm -f $$files - - # This directory's subdirectories are mostly independent; you can cd - # into them and run `make' without going through this Makefile. -@@ -775,9 +805,12 @@ - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - check-am: - check: check-recursive --all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA) -+all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA) $(HEADERS) - installdirs: installdirs-recursive - installdirs-am: -+ for dir in "$(DESTDIR)$(rpcincludedir)"; do \ -+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ -+ done - install: install-recursive - install-exec: install-exec-recursive - install-data: install-data-recursive -@@ -827,7 +860,7 @@ - - info-am: $(INFO_DEPS) - --install-data-am: -+install-data-am: install-nobase_rpcincludeHEADERS - - install-dvi: install-dvi-recursive - -@@ -952,7 +985,8 @@ - ps-am: $(PSS) - - uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \ -- uninstall-pdf-am uninstall-ps-am -+ uninstall-nobase_rpcincludeHEADERS uninstall-pdf-am \ -+ uninstall-ps-am - - .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ - install-am install-strip tags-recursive -@@ -966,14 +1000,16 @@ - info-am install install-am install-data install-data-am \ - install-dvi install-dvi-am install-exec install-exec-am \ - install-html install-html-am install-info install-info-am \ -- install-man install-pdf install-pdf-am install-ps \ -- install-ps-am install-strip installcheck installcheck-am \ -- installdirs installdirs-am maintainer-clean \ -- maintainer-clean-aminfo maintainer-clean-generic mostlyclean \ -- mostlyclean-aminfo mostlyclean-compile mostlyclean-generic \ -- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ -- uninstall uninstall-am uninstall-dvi-am uninstall-html-am \ -- uninstall-info-am uninstall-pdf-am uninstall-ps-am -+ install-man install-nobase_rpcincludeHEADERS install-pdf \ -+ install-pdf-am install-ps install-ps-am install-strip \ -+ installcheck installcheck-am installdirs installdirs-am \ -+ maintainer-clean maintainer-clean-aminfo \ -+ maintainer-clean-generic mostlyclean mostlyclean-aminfo \ -+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ -+ pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ -+ uninstall-dvi-am uninstall-html-am uninstall-info-am \ -+ uninstall-nobase_rpcincludeHEADERS uninstall-pdf-am \ -+ uninstall-ps-am - - @USE_LIBTOOL_FALSE@libc.a: $(SUBLIBS) - @USE_LIBTOOL_FALSE@ rm -f $@ -diff -Naur newlib-1.19.0.orig/newlib/libc/misc/__dprintf.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/misc/__dprintf.c ---- newlib-1.19.0.orig/newlib/libc/misc/__dprintf.c 2008-12-11 18:27:55.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/misc/__dprintf.c 2011-05-17 07:25:06.780153559 +0200 -@@ -5,6 +5,7 @@ - */ - - #include <_ansi.h> -+#include - #include "ctype.h" - #include "reent.h" - #include "string.h" -@@ -131,7 +132,7 @@ - write_string (unctrl (c)); - break; - case 'p' : -- l = (_POINTER_INT) va_arg (args, char *); -+ l = (intptr_t) va_arg (args, char *); - print_number (16, 1, l); - break; - case 'd' : -diff -Naur newlib-1.19.0.orig/newlib/libc/misc/ffs.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/misc/ffs.c ---- newlib-1.19.0.orig/newlib/libc/misc/ffs.c 2003-06-06 21:57:51.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/misc/ffs.c 2011-05-17 07:25:06.780153559 +0200 -@@ -6,9 +6,11 @@ - ffs - - ANSI_SYNOPSIS -+ #include - int ffs(int <[word]>); - - TRAD_SYNOPSIS -+ #include - int ffs(<[word]>); - - DESCRIPTION -@@ -24,7 +26,7 @@ - - No supporting OS subroutines are required. */ - --#include <_ansi.h> -+#include - - int - _DEFUN(ffs, (word), -diff -Naur newlib-1.19.0.orig/newlib/libc/posix/readdir.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/posix/readdir.c ---- newlib-1.19.0.orig/newlib/libc/posix/readdir.c 2003-06-06 21:57:51.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/posix/readdir.c 2011-05-17 07:25:06.780153559 +0200 -@@ -37,6 +37,7 @@ - static char sccsid[] = "@(#)readdir.c 5.7 (Berkeley) 6/1/90"; - #endif /* LIBC_SCCS and not lint */ - -+#include - #include - - extern int getdents (int fd, void *dp, int count); -@@ -75,7 +76,7 @@ - continue; - } - dp = (struct dirent *)(dirp->dd_buf + dirp->dd_loc); -- if ((int)dp & 03) { /* bogus pointer check */ -+ if ((intptr_t)dp & 03) { /* bogus pointer check */ - #ifdef HAVE_DD_LOCK - __lock_release_recursive(dirp->dd_lock); - #endif -diff -Naur newlib-1.19.0.orig/newlib/libc/search/db_local.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/search/db_local.h ---- newlib-1.19.0.orig/newlib/libc/search/db_local.h 2010-03-05 09:55:15.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/search/db_local.h 2011-05-17 07:25:06.780153559 +0200 -@@ -102,11 +102,11 @@ - typedef struct __db { - DBTYPE type; /* Underlying db type. */ - int (*close)(struct __db *); -- int (*del)(const struct __db *, const DBT *, u_int); -- int (*get)(const struct __db *, const DBT *, DBT *, u_int); -- int (*put)(const struct __db *, DBT *, const DBT *, u_int); -- int (*seq)(const struct __db *, DBT *, DBT *, u_int); -- int (*sync)(const struct __db *, u_int); -+ int (*del)(const struct __db *, const DBT *, __uint32_t); -+ int (*get)(const struct __db *, const DBT *, DBT *, __uint32_t); -+ int (*put)(const struct __db *, DBT *, const DBT *, __uint32_t); -+ int (*seq)(const struct __db *, DBT *, DBT *, __uint32_t); -+ int (*sync)(const struct __db *, __uint32_t); - void *internal; /* Access method private. */ - int (*fd)(const struct __db *); - } DB; -diff -Naur newlib-1.19.0.orig/newlib/libc/search/extern.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/search/extern.h ---- newlib-1.19.0.orig/newlib/libc/search/extern.h 2002-06-20 21:51:31.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/search/extern.h 2011-05-17 07:25:06.780153559 +0200 -@@ -43,7 +43,7 @@ - int __big_split(HTAB *, BUFHEAD *, BUFHEAD *, BUFHEAD *, - int, __uint32_t, SPLIT_RETURN *); - int __buf_free(HTAB *, int, int); --void __buf_init(HTAB *, int); -+void __buf_init(HTAB *, __uint32_t); - __uint32_t __call_hash(HTAB *, char *, int); - int __delpair(HTAB *, BUFHEAD *, int); - int __expand_table(HTAB *); -diff -Naur newlib-1.19.0.orig/newlib/libc/search/hash_buf.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/search/hash_buf.c ---- newlib-1.19.0.orig/newlib/libc/search/hash_buf.c 2004-05-26 19:57:10.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/search/hash_buf.c 2011-05-17 07:25:06.781153575 +0200 -@@ -118,7 +118,7 @@ - int newpage; /* If prev_bp set, indicates a new overflow page. */ - { - BUFHEAD *bp; -- __uint32_t is_disk_mask; -+ ptrdiff_t is_disk_mask; - int is_disk, segment_ndx; - SEGMENT segp; - -@@ -298,7 +298,7 @@ - extern void - __buf_init(hashp, nbytes) - HTAB *hashp; -- int nbytes; -+ __uint32_t nbytes; - { - BUFHEAD *bfp; - int npages; -diff -Naur newlib-1.19.0.orig/newlib/libc/search/hash.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/search/hash.h ---- newlib-1.19.0.orig/newlib/libc/search/hash.h 2008-07-02 20:38:45.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/search/hash.h 2011-05-17 07:25:06.780153559 +0200 -@@ -82,7 +82,7 @@ - - /* Hash Table Information */ - typedef struct hashhdr { /* Disk resident portion */ -- int magic; /* Magic NO for hash tables */ -+ __uint32_t magic; /* Magic NO for hash tables */ - int version; /* Version ID */ - __uint32_t lorder; /* Byte Order */ - int bsize; /* Bucket/Page Size */ -@@ -97,7 +97,7 @@ - int high_mask; /* Mask to modulo into entire table */ - int low_mask; /* Mask to modulo into lower half of - * table */ -- int ffactor; /* Fill factor */ -+ __uint32_t ffactor; /* Fill factor */ - int nkeys; /* Number of keys in hash table */ - int hdrpages; /* Size of table header */ - int h_charkey; /* value of hash(CHARKEY) */ -diff -Naur newlib-1.19.0.orig/newlib/libc/signal/Makefile.am newlib-1.19.0-rtems4.11-20110517/newlib/libc/signal/Makefile.am ---- newlib-1.19.0.orig/newlib/libc/signal/Makefile.am 2006-04-11 21:02:09.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/signal/Makefile.am 2011-05-17 07:25:06.781153575 +0200 -@@ -4,7 +4,7 @@ - - INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) - --LIB_SOURCES = raise.c signal.c -+LIB_SOURCES = psignal.c raise.c signal.c - - libsignal_la_LDFLAGS = -Xcompiler -nostdlib - -@@ -21,7 +21,7 @@ - - include $(srcdir)/../../Makefile.shared - --CHEWOUT_FILES = raise.def signal.def -+CHEWOUT_FILES = psignal.def raise.def signal.def - - SUFFIXES = .def - -diff -Naur newlib-1.19.0.orig/newlib/libc/signal/Makefile.in newlib-1.19.0-rtems4.11-20110517/newlib/libc/signal/Makefile.in ---- newlib-1.19.0.orig/newlib/libc/signal/Makefile.in 2010-12-16 22:59:02.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/signal/Makefile.in 2011-05-17 07:25:06.781153575 +0200 -@@ -55,12 +55,13 @@ - ARFLAGS = cru - lib_a_AR = $(AR) $(ARFLAGS) - lib_a_LIBADD = --am__objects_1 = lib_a-raise.$(OBJEXT) lib_a-signal.$(OBJEXT) -+am__objects_1 = lib_a-psignal.$(OBJEXT) lib_a-raise.$(OBJEXT) \ -+ lib_a-signal.$(OBJEXT) - @USE_LIBTOOL_FALSE@am_lib_a_OBJECTS = $(am__objects_1) - lib_a_OBJECTS = $(am_lib_a_OBJECTS) - LTLIBRARIES = $(noinst_LTLIBRARIES) - libsignal_la_LIBADD = --am__objects_2 = raise.lo signal.lo -+am__objects_2 = psignal.lo raise.lo signal.lo - @USE_LIBTOOL_TRUE@am_libsignal_la_OBJECTS = $(am__objects_2) - libsignal_la_OBJECTS = $(am_libsignal_la_OBJECTS) - libsignal_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ -@@ -228,7 +229,7 @@ - top_srcdir = @top_srcdir@ - AUTOMAKE_OPTIONS = cygnus - INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) --LIB_SOURCES = raise.c signal.c -+LIB_SOURCES = psignal.c raise.c signal.c - libsignal_la_LDFLAGS = -Xcompiler -nostdlib - @USE_LIBTOOL_TRUE@noinst_LTLIBRARIES = libsignal.la - @USE_LIBTOOL_TRUE@libsignal_la_SOURCES = $(LIB_SOURCES) -@@ -237,7 +238,7 @@ - @USE_LIBTOOL_FALSE@noinst_LIBRARIES = lib.a - @USE_LIBTOOL_FALSE@lib_a_SOURCES = $(LIB_SOURCES) - @USE_LIBTOOL_FALSE@lib_a_CFLAGS = $(AM_CFLAGS) --CHEWOUT_FILES = raise.def signal.def -+CHEWOUT_FILES = psignal.def raise.def signal.def - SUFFIXES = .def - CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str - TARGETDOC = ../tmp.texi -@@ -310,6 +311,12 @@ - .c.lo: - $(LTCOMPILE) -c -o $@ $< - -+lib_a-psignal.o: psignal.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-psignal.o `test -f 'psignal.c' || echo '$(srcdir)/'`psignal.c -+ -+lib_a-psignal.obj: psignal.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-psignal.obj `if test -f 'psignal.c'; then $(CYGPATH_W) 'psignal.c'; else $(CYGPATH_W) '$(srcdir)/psignal.c'; fi` -+ - lib_a-raise.o: raise.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-raise.o `test -f 'raise.c' || echo '$(srcdir)/'`raise.c - -diff -Naur newlib-1.19.0.orig/newlib/libc/signal/psignal.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/signal/psignal.c ---- newlib-1.19.0.orig/newlib/libc/signal/psignal.c 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/signal/psignal.c 2011-05-17 07:25:06.781153575 +0200 -@@ -0,0 +1,51 @@ -+/* Copyright 2002, 2011 Red Hat Inc. */ -+/* -+FUNCTION -+<>---print a signal message on standard error -+ -+INDEX -+ psignal -+ -+ANSI_SYNOPSIS -+ #include -+ void psignal(int <[signal]>, const char *<[prefix]>); -+ -+TRAD_SYNOPSIS -+ #include -+ void psignal(<[signal]>, <[prefix]>) -+ int <[signal]>; -+ const char *<[prefix]>; -+ -+DESCRIPTION -+Use <> to print (on standard error) a signal message -+corresponding to the value of the signal number <[signal]>. -+Unless you use <> as the value of the argument <[prefix]>, the -+signal message will begin with the string at <[prefix]>, followed by a -+colon and a space (<<: >>). The remainder of the signal message is one -+of the strings described for <>. -+ -+RETURNS -+<> returns no result. -+ -+PORTABILITY -+POSIX.1-2008 requires <>, but the strings issued vary from one -+implementation to another. -+ -+Supporting OS subroutines required: <>, <>, <>, -+<>, <>, <>, <>. -+*/ -+ -+#include <_ansi.h> -+#include -+#include -+ -+_VOID -+_DEFUN(psignal, (sig, s), -+ int sig _AND -+ _CONST char *s) -+{ -+ if (s != NULL && *s != '\0') -+ fprintf (stderr, "%s: %s\n", s, strsignal (sig)); -+ else -+ fprintf (stderr, "%s\n", strsignal (sig)); -+} -diff -Naur newlib-1.19.0.orig/newlib/libc/signal/signal.tex newlib-1.19.0-rtems4.11-20110517/newlib/libc/signal/signal.tex ---- newlib-1.19.0.orig/newlib/libc/signal/signal.tex 2000-02-17 20:39:47.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/signal/signal.tex 2011-05-17 07:25:06.781153575 +0200 -@@ -59,11 +59,15 @@ - reliable from signal handlers.) - - @menu -+* psignal:: Print a signal message to standard error - * raise:: Send a signal - * signal:: Specify handler subroutine for a signal - @end menu - - @page -+@include signal/psignal.def -+ -+@page - @include signal/raise.def - - @page -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fclose.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/fclose.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fclose.c 2007-07-13 22:37:53.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/fclose.c 2011-05-17 07:25:06.781153575 +0200 -@@ -74,8 +74,6 @@ - if (fp == NULL) - return (0); /* on NULL */ - -- __sfp_lock_acquire (); -- - CHECK_INIT (rptr, fp); - - _flockfile (fp); -@@ -83,7 +81,6 @@ - if (fp->_flags == 0) /* not open! */ - { - _funlockfile (fp); -- __sfp_lock_release (); - return (0); - } - /* Unconditionally flush to allow special handling for seekable read -@@ -98,6 +95,7 @@ - FREEUB (rptr, fp); - if (HASLB (fp)) - FREELB (rptr, fp); -+ __sfp_lock_acquire (); - fp->_flags = 0; /* release this FILE for reuse */ - _funlockfile (fp); - #ifndef __SINGLE_THREAD__ -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fflush.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/fflush.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fflush.c 2009-10-30 09:26:41.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/fflush.c 2011-05-17 07:25:06.782153592 +0200 -@@ -67,37 +67,16 @@ - - /* Flush a single file, or (if fp is NULL) all files. */ - -+/* Core function which does not lock file pointer. This gets called -+ directly from __srefill. */ - int --_DEFUN(_fflush_r, (ptr, fp), -+_DEFUN(__sflush_r, (ptr, fp), - struct _reent *ptr _AND - register FILE * fp) - { - register unsigned char *p; - register int n, t; - --#ifdef _REENT_SMALL -- /* For REENT_SMALL platforms, it is possible we are being -- called for the first time on a std stream. This std -- stream can belong to a reentrant struct that is not -- _REENT. If CHECK_INIT gets called below based on _REENT, -- we will end up changing said file pointers to the equivalent -- std stream off of _REENT. This causes unexpected behavior if -- there is any data to flush on the _REENT std stream. There -- are two alternatives to fix this: 1) make a reentrant fflush -- or 2) simply recognize that this file has nothing to flush -- and return immediately before performing a CHECK_INIT. Choice -- 2 is implemented here due to its simplicity. */ -- if (fp->_bf._base == NULL) -- return 0; --#endif /* _REENT_SMALL */ -- -- CHECK_INIT (ptr, fp); -- -- if (!fp->_flags) -- return 0; -- -- _flockfile (fp); -- - t = fp->_flags; - if ((t & __SWR) == 0) - { -@@ -150,7 +129,6 @@ - } - else - fp->_flags |= __SERR; -- _funlockfile (fp); - return result; - } - } -@@ -186,17 +164,14 @@ - else - { - fp->_flags |= __SERR; -- _funlockfile (fp); - return EOF; - } - } -- _funlockfile (fp); - return 0; - } - if ((p = fp->_bf._base) == NULL) - { - /* Nothing to flush. */ -- _funlockfile (fp); - return 0; - } - n = fp->_p - p; /* write this much */ -@@ -215,16 +190,48 @@ - if (t <= 0) - { - fp->_flags |= __SERR; -- _funlockfile (fp); - return EOF; - } - p += t; - n -= t; - } -- _funlockfile (fp); - return 0; - } - -+int -+_DEFUN(_fflush_r, (ptr, fp), -+ struct _reent *ptr _AND -+ register FILE * fp) -+{ -+ int ret; -+ -+#ifdef _REENT_SMALL -+ /* For REENT_SMALL platforms, it is possible we are being -+ called for the first time on a std stream. This std -+ stream can belong to a reentrant struct that is not -+ _REENT. If CHECK_INIT gets called below based on _REENT, -+ we will end up changing said file pointers to the equivalent -+ std stream off of _REENT. This causes unexpected behavior if -+ there is any data to flush on the _REENT std stream. There -+ are two alternatives to fix this: 1) make a reentrant fflush -+ or 2) simply recognize that this file has nothing to flush -+ and return immediately before performing a CHECK_INIT. Choice -+ 2 is implemented here due to its simplicity. */ -+ if (fp->_bf._base == NULL) -+ return 0; -+#endif /* _REENT_SMALL */ -+ -+ CHECK_INIT (ptr, fp); -+ -+ if (!fp->_flags) -+ return 0; -+ -+ _flockfile (fp); -+ ret = __sflush_r (ptr, fp); -+ _funlockfile (fp); -+ return ret; -+} -+ - #ifndef _REENT_ONLY - - int -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fgetc.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/fgetc.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fgetc.c 2009-04-25 00:52:51.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/fgetc.c 2011-05-17 07:25:06.783153609 +0200 -@@ -93,11 +93,9 @@ - #if !defined(PREFER_SIZE_OVER_SPEED) && !defined(__OPTIMIZE_SIZE__) - int result; - CHECK_INIT(_REENT, fp); -- __sfp_lock_acquire (); - _flockfile (fp); - result = __sgetc_r (_REENT, fp); - _funlockfile (fp); -- __sfp_lock_release (); - return result; - #else - return _fgetc_r (_REENT, fp); -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fgets.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/fgets.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fgets.c 2009-04-25 00:52:51.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/fgets.c 2011-05-17 07:25:06.783153609 +0200 -@@ -98,7 +98,6 @@ - - CHECK_INIT(ptr, fp); - -- __sfp_lock_acquire (); - _flockfile (fp); - #ifdef __SCLE - if (fp->_flags & __SCLE) -@@ -114,12 +113,10 @@ - if (c == EOF && s == buf) - { - _funlockfile (fp); -- __sfp_lock_release (); - return NULL; - } - *s = 0; - _funlockfile (fp); -- __sfp_lock_release (); - return buf; - } - #endif -@@ -138,7 +135,6 @@ - if (s == buf) - { - _funlockfile (fp); -- __sfp_lock_release (); - return 0; - } - break; -@@ -164,7 +160,6 @@ - _CAST_VOID memcpy ((_PTR) s, (_PTR) p, len); - s[len] = 0; - _funlockfile (fp); -- __sfp_lock_release (); - return (buf); - } - fp->_r -= len; -@@ -175,7 +170,6 @@ - while ((n -= len) != 0); - *s = 0; - _funlockfile (fp); -- __sfp_lock_release (); - return buf; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fgetwc.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/fgetwc.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fgetwc.c 2009-04-25 00:52:52.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/fgetwc.c 2011-05-17 07:25:06.783153609 +0200 -@@ -164,12 +164,10 @@ - { - wint_t r; - -- __sfp_lock_acquire (); - _flockfile (fp); - ORIENT(fp, 1); - r = __fgetwc (ptr, fp); - _funlockfile (fp); -- __sfp_lock_release (); - return r; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fgetws.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/fgetws.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fgetws.c 2009-04-25 00:52:52.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/fgetws.c 2011-05-17 07:25:06.783153609 +0200 -@@ -93,7 +93,6 @@ - const char *src; - unsigned char *nl; - -- __sfp_lock_acquire (); - _flockfile (fp); - ORIENT (fp, 1); - -@@ -144,12 +143,10 @@ - goto error; - *wsp++ = L'\0'; - _funlockfile (fp); -- __sfp_lock_release (); - return ws; - - error: - _funlockfile (fp); -- __sfp_lock_release (); - return NULL; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fmemopen.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/fmemopen.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fmemopen.c 2007-08-02 22:23:06.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/fmemopen.c 2011-05-17 07:25:06.783153609 +0200 -@@ -281,7 +281,7 @@ - - if ((flags = __sflags (ptr, mode, &dummy)) == 0) - return NULL; -- if (!size || !(buf || flags & __SAPP)) -+ if (!size || !(buf || flags & __SRW)) - { - ptr->_errno = EINVAL; - return NULL; -@@ -310,7 +310,7 @@ - { - /* r+/w+/a+, and no buf: file starts empty. */ - c->buf = (char *) (c + 1); -- *(char *) buf = '\0'; -+ c->buf[0] = '\0'; - c->pos = c->eof = 0; - c->append = (flags & __SAPP) != 0; - } -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fread.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/fread.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fread.c 2009-04-25 00:52:52.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/fread.c 2011-05-17 07:25:06.784153625 +0200 -@@ -146,7 +146,6 @@ - - CHECK_INIT(ptr, fp); - -- __sfp_lock_acquire (); - _flockfile (fp); - ORIENT (fp, -1); - if (fp->_r < 0) -@@ -197,12 +196,10 @@ - if (fp->_flags & __SCLE) - { - _funlockfile (fp); -- __sfp_lock_release (); - return crlf_r (ptr, fp, buf, total-resid, 1) / size; - } - #endif - _funlockfile (fp); -- __sfp_lock_release (); - return (total - resid) / size; - } - } -@@ -224,12 +221,10 @@ - if (fp->_flags & __SCLE) - { - _funlockfile (fp); -- __sfp_lock_release (); - return crlf_r (ptr, fp, buf, total-resid, 1) / size; - } - #endif - _funlockfile (fp); -- __sfp_lock_release (); - return (total - resid) / size; - } - } -@@ -243,12 +238,10 @@ - if (fp->_flags & __SCLE) - { - _funlockfile (fp); -- __sfp_lock_release (); - return crlf_r(ptr, fp, buf, total, 0) / size; - } - #endif - _funlockfile (fp); -- __sfp_lock_release (); - return count; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/freopen.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/freopen.c ---- newlib-1.19.0.orig/newlib/libc/stdio/freopen.c 2008-12-12 16:45:19.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/freopen.c 2011-05-17 07:25:06.784153625 +0200 -@@ -98,8 +98,6 @@ - int flags, oflags; - int e = 0; - -- __sfp_lock_acquire (); -- - CHECK_INIT (ptr, fp); - - _flockfile (fp); -@@ -108,7 +106,6 @@ - { - _funlockfile (fp); - _fclose_r (ptr, fp); -- __sfp_lock_release (); - return NULL; - } - -@@ -208,6 +205,7 @@ - - if (f < 0) - { /* did not get it after all */ -+ __sfp_lock_acquire (); - fp->_flags = 0; /* set it free */ - ptr->_errno = e; /* restore in case _close clobbered */ - _funlockfile (fp); -@@ -232,7 +230,6 @@ - #endif - - _funlockfile (fp); -- __sfp_lock_release (); - return fp; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fseek.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/fseek.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fseek.c 2009-12-17 20:43:43.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/fseek.c 2011-05-17 07:25:06.784153625 +0200 -@@ -138,7 +138,6 @@ - - CHECK_INIT (ptr, fp); - -- __sfp_lock_acquire (); - _flockfile (fp); - - /* If we've been doing some writing, and we're in append mode -@@ -156,7 +155,6 @@ - { - ptr->_errno = ESPIPE; /* ??? */ - _funlockfile (fp); -- __sfp_lock_release (); - return EOF; - } - -@@ -182,7 +180,6 @@ - if (curoff == -1L) - { - _funlockfile (fp); -- __sfp_lock_release (); - return EOF; - } - } -@@ -208,7 +205,6 @@ - default: - ptr->_errno = EINVAL; - _funlockfile (fp); -- __sfp_lock_release (); - return (EOF); - } - -@@ -268,7 +264,6 @@ - { - ptr->_errno = EOVERFLOW; - _funlockfile (fp); -- __sfp_lock_release (); - return EOF; - } - -@@ -325,7 +320,6 @@ - fp->_flags &= ~__SEOF; - memset (&fp->_mbstate, 0, sizeof (_mbstate_t)); - _funlockfile (fp); -- __sfp_lock_release (); - return 0; - } - -@@ -356,7 +350,6 @@ - } - memset (&fp->_mbstate, 0, sizeof (_mbstate_t)); - _funlockfile (fp); -- __sfp_lock_release (); - return 0; - - /* -@@ -369,7 +362,6 @@ - || seekfn (ptr, fp->_cookie, offset, whence) == POS_ERR) - { - _funlockfile (fp); -- __sfp_lock_release (); - return EOF; - } - /* success: clear EOF indicator and discard ungetc() data */ -@@ -388,7 +380,6 @@ - fp->_flags &= ~__SNPT; - memset (&fp->_mbstate, 0, sizeof (_mbstate_t)); - _funlockfile (fp); -- __sfp_lock_release (); - return 0; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fwalk.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/fwalk.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fwalk.c 2009-01-12 23:19:11.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/fwalk.c 2011-05-17 07:25:06.784153625 +0200 -@@ -27,8 +27,8 @@ - #include - #include "local.h" - --static int --_DEFUN(__fwalk, (ptr, function), -+int -+_DEFUN(_fwalk, (ptr, function), - struct _reent *ptr _AND - register int (*function) (FILE *)) - { -@@ -36,11 +36,19 @@ - register int n, ret = 0; - register struct _glue *g; - -+ /* -+ * It should be safe to walk the list without locking it; -+ * new nodes are only added to the end and none are ever -+ * removed. -+ * -+ * Avoid locking this list while walking it or else you will -+ * introduce a potential deadlock in [at least] refill.c. -+ */ - for (g = &ptr->__sglue; g != NULL; g = g->_next) - for (fp = g->_iobs, n = g->_niobs; --n >= 0; fp++) - if (fp->_flags != 0) - { -- if (fp->_flags != 0 && fp->_file != -1) -+ if (fp->_flags != 0 && fp->_flags != 1 && fp->_file != -1) - ret |= (*function) (fp); - } - -@@ -49,8 +57,8 @@ - - /* Special version of __fwalk where the function pointer is a reentrant - I/O function (e.g. _fclose_r). */ --static int --_DEFUN(__fwalk_reent, (ptr, reent_function), -+int -+_DEFUN(_fwalk_reent, (ptr, reent_function), - struct _reent *ptr _AND - register int (*reent_function) (struct _reent *, FILE *)) - { -@@ -58,51 +66,21 @@ - register int n, ret = 0; - register struct _glue *g; - -+ /* -+ * It should be safe to walk the list without locking it; -+ * new nodes are only added to the end and none are ever -+ * removed. -+ * -+ * Avoid locking this list while walking it or else you will -+ * introduce a potential deadlock in [at least] refill.c. -+ */ - for (g = &ptr->__sglue; g != NULL; g = g->_next) - for (fp = g->_iobs, n = g->_niobs; --n >= 0; fp++) - if (fp->_flags != 0) - { -- if (fp->_flags != 0 && fp->_file != -1) -+ if (fp->_flags != 0 && fp->_flags != 1 && fp->_file != -1) - ret |= (*reent_function) (ptr, fp); - } - - return ret; - } -- --int --_DEFUN(_fwalk, (ptr, function), -- struct _reent *ptr _AND -- register int (*function)(FILE *)) --{ -- register int ret = 0; -- -- __sfp_lock_acquire (); -- -- /* Must traverse given list for streams. Note that _GLOBAL_REENT -- only walked once in exit(). */ -- ret |= __fwalk (ptr, function); -- -- __sfp_lock_release (); -- -- return ret; --} -- --/* Special version of _fwalk which handles a function pointer to a -- reentrant I/O function (e.g. _fclose_r). */ --int --_DEFUN(_fwalk_reent, (ptr, reent_function), -- struct _reent *ptr _AND -- register int (*reent_function) (struct _reent *, FILE *)) --{ -- register int ret = 0; -- -- __sfp_lock_acquire (); -- -- /* Must traverse given list for streams. Note that _GLOBAL_REENT -- only walked once in exit(). */ -- ret |= __fwalk_reent (ptr, reent_function); -- -- __sfp_lock_release (); -- -- return ret; --} -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/getc.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/getc.c ---- newlib-1.19.0.orig/newlib/libc/stdio/getc.c 2009-04-25 00:52:52.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/getc.c 2011-05-17 07:25:06.784153625 +0200 -@@ -92,11 +92,9 @@ - { - int result; - CHECK_INIT (ptr, fp); -- __sfp_lock_acquire (); - _flockfile (fp); - result = __sgetc_r (ptr, fp); - _funlockfile (fp); -- __sfp_lock_release (); - return result; - } - -@@ -108,11 +106,9 @@ - { - int result; - CHECK_INIT (_REENT, fp); -- __sfp_lock_acquire (); - _flockfile (fp); - result = __sgetc_r (_REENT, fp); - _funlockfile (fp); -- __sfp_lock_release (); - return result; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/getdelim.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/getdelim.c ---- newlib-1.19.0.orig/newlib/libc/stdio/getdelim.c 2009-04-25 00:52:52.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/getdelim.c 2011-05-17 07:25:06.784153625 +0200 -@@ -81,7 +81,6 @@ - - CHECK_INIT (_REENT, fp); - -- __sfp_lock_acquire (); - _flockfile (fp); - - numbytes = *n; -@@ -131,7 +130,6 @@ - } - - _funlockfile (fp); -- __sfp_lock_release (); - - /* if no input data, return failure */ - if (ptr == buf) -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/gets.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/gets.c ---- newlib-1.19.0.orig/newlib/libc/stdio/gets.c 2009-04-25 00:52:52.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/gets.c 2011-05-17 07:25:06.785153640 +0200 -@@ -79,14 +79,12 @@ - register int c; - register char *s = buf; - -- __sfp_lock_acquire (); - _flockfile (stdin); - while ((c = __sgetc_r (ptr, stdin)) != '\n') - if (c == EOF) - if (s == buf) - { - _funlockfile (stdin); -- __sfp_lock_release (); - return NULL; - } - else -@@ -95,7 +93,6 @@ - *s++ = c; - *s = 0; - _funlockfile (stdin); -- __sfp_lock_release (); - return buf; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/local.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/local.h ---- newlib-1.19.0.orig/newlib/libc/stdio/local.h 2009-04-22 10:30:03.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/local.h 2011-05-17 07:25:06.785153640 +0200 -@@ -54,6 +54,7 @@ - va_list)); - extern FILE *_EXFUN(__sfp,(struct _reent *)); - extern int _EXFUN(__sflags,(struct _reent *,_CONST char*, int*)); -+extern int _EXFUN(__sflush_r,(struct _reent *,FILE *)); - extern int _EXFUN(__srefill_r,(struct _reent *,FILE *)); - extern _READ_WRITE_RETURN_TYPE _EXFUN(__sread,(struct _reent *, void *, char *, - int)); -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/open_memstream.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/open_memstream.c ---- newlib-1.19.0.orig/newlib/libc/stdio/open_memstream.c 2009-02-25 05:00:05.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/open_memstream.c 2011-05-17 07:25:06.785153640 +0200 -@@ -330,8 +330,10 @@ - c->max *= sizeof(wchar_t); - if (c->max < 64) - c->max = 64; -- else if (c->max > 64 * 1024) -- c->max = 64 * 1024; -+#if (SIZE_MAX >= 0x10000) -+ else if (c->max > 0x10000) -+ c->max = 0x10000; -+#endif - *size = 0; - *buf = _malloc_r (ptr, c->max); - if (!*buf) -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/refill.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/refill.c ---- newlib-1.19.0.orig/newlib/libc/stdio/refill.c 2008-12-11 00:43:12.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/refill.c 2011-05-17 07:25:06.785153640 +0200 -@@ -102,9 +102,19 @@ - * flush all line buffered output files, per the ANSI C - * standard. - */ -- - if (fp->_flags & (__SLBF | __SNBF)) -- _CAST_VOID _fwalk (_GLOBAL_REENT, lflush); -+ { -+ /* Ignore this file in _fwalk to avoid potential deadlock. */ -+ short orig_flags = fp->_flags; -+ fp->_flags = 1; -+ _CAST_VOID _fwalk (_GLOBAL_REENT, lflush); -+ fp->_flags = orig_flags; -+ -+ /* Now flush this file without locking it. */ -+ if ((fp->_flags & (__SLBF|__SWR)) == (__SLBF|__SWR)) -+ __sflush_r (ptr, fp); -+ } -+ - fp->_p = fp->_bf._base; - fp->_r = fp->_read (ptr, fp->_cookie, (char *) fp->_p, fp->_bf._size); - #ifndef __CYGWIN__ -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/tmpnam.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/tmpnam.c ---- newlib-1.19.0.orig/newlib/libc/stdio/tmpnam.c 2004-04-23 22:01:55.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/tmpnam.c 2011-05-17 07:25:06.785153640 +0200 -@@ -94,6 +94,7 @@ - #include <_ansi.h> - #include - #include -+#include - #include - #include - #include -@@ -109,7 +110,7 @@ - char *result _AND - _CONST char *part1 _AND - _CONST char *part2 _AND -- int part3 _AND -+ intptr_t part3 _AND - int *part4) - { - /* Generate the filename and make sure that there isn't one called -@@ -183,7 +184,7 @@ - if (filename) - { - if (! worker (p, filename, dir, prefix, -- _getpid_r (p) ^ (int) (_POINTER_INT) p, &p->_inc)) -+ _getpid_r (p) ^ (intptr_t) p, &p->_inc)) - return NULL; - } - return filename; -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/vfscanf.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/vfscanf.c ---- newlib-1.19.0.orig/newlib/libc/stdio/vfscanf.c 2010-01-20 00:16:45.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/vfscanf.c 2011-05-17 07:25:06.786153654 +0200 -@@ -494,7 +494,6 @@ - # define GET_ARG(n, ap, type) (va_arg (ap, type)) - #endif - -- __sfp_lock_acquire (); - _flockfile (fp); - - ORIENT (fp, -1); -@@ -795,7 +794,6 @@ - */ - case '\0': /* compat */ - _funlockfile (fp); -- __sfp_lock_release (); - return EOF; - - default: /* compat */ -@@ -1596,13 +1594,11 @@ - invalid format string), return EOF if no matches yet, else number - of matches made prior to failure. */ - _funlockfile (fp); -- __sfp_lock_release (); - return nassigned && !(fp->_flags & __SERR) ? nassigned : EOF; - match_failure: - all_done: - /* Return number of matches, which can be 0 on match failure. */ - _funlockfile (fp); -- __sfp_lock_release (); - return nassigned; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/vfwscanf.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/vfwscanf.c ---- newlib-1.19.0.orig/newlib/libc/stdio/vfwscanf.c 2009-03-11 12:53:22.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio/vfwscanf.c 2011-05-17 07:25:06.786153654 +0200 -@@ -434,7 +434,6 @@ - # define GET_ARG(n, ap, type) (va_arg (ap, type)) - #endif - -- __sfp_lock_acquire (); - _flockfile (fp); - - ORIENT (fp, 1); -@@ -714,7 +713,6 @@ - */ - case L'\0': /* compat */ - _funlockfile (fp); -- __sfp_lock_release (); - return EOF; - - default: /* compat */ -@@ -1443,13 +1441,11 @@ - invalid format string), return EOF if no matches yet, else number - of matches made prior to failure. */ - _funlockfile (fp); -- __sfp_lock_release (); - return nassigned && !(fp->_flags & __SERR) ? nassigned : EOF; - match_failure: - all_done: - /* Return number of matches, which can be 0 on match failure. */ - _funlockfile (fp); -- __sfp_lock_release (); - return nassigned; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio64/freopen64.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio64/freopen64.c ---- newlib-1.19.0.orig/newlib/libc/stdio64/freopen64.c 2007-07-13 22:37:53.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdio64/freopen64.c 2011-05-17 07:25:06.786153654 +0200 -@@ -97,7 +97,6 @@ - int flags, oflags; - int e = 0; - -- __sfp_lock_acquire (); - - CHECK_INIT (ptr, fp); - -@@ -107,7 +106,6 @@ - { - _funlockfile(fp); - _fclose_r (ptr, fp); -- __sfp_lock_release (); - return NULL; - } - -@@ -204,6 +202,7 @@ - - if (f < 0) - { /* did not get it after all */ -+ __sfp_lock_acquire (); - fp->_flags = 0; /* set it free */ - ptr->_errno = e; /* restore in case _close clobbered */ - _funlockfile(fp); -@@ -231,7 +230,6 @@ - fp->_flags |= __SL64; - - _funlockfile(fp); -- __sfp_lock_release (); - return fp; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdlib/atof.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdlib/atof.c ---- newlib-1.19.0.orig/newlib/libc/stdlib/atof.c 2003-10-20 20:46:37.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdlib/atof.c 2011-05-17 07:25:06.787153668 +0200 -@@ -1,6 +1,6 @@ - /* - FUNCTION -- <>, <>---string to double or float -+ <> ---string to double - - INDEX - atof -@@ -10,19 +10,14 @@ - ANSI_SYNOPSIS - #include - double atof(const char *<[s]>); -- float atoff(const char *<[s]>); - - TRAD_SYNOPSIS - #include - double atof(<[s]>) - char *<[s]>; - -- float atoff(<[s]>) -- char *<[s]>; -- - DESCRIPTION - <> converts the initial portion of a string to a <>. --<> converts the initial portion of a string to a <>. - - The functions parse the character string <[s]>, - locating a substring which can be converted to a floating-point -@@ -36,7 +31,6 @@ - something other than <<+>>, <<->>, <<.>>, or a digit. - - <)>> is implemented as <, NULL)>>. --<)>> is implemented as <, NULL)>>. - - RETURNS - <> returns the converted substring value, if any, as a -@@ -47,12 +41,9 @@ - If the correct value would cause underflow, <<0.0>> is returned - and <> is stored in <>. - --<> obeys the same rules as <>, except that it --returns a <>. -- - PORTABILITY --<> is ANSI C. <>, <>, and <> are subsumed by <> --and <>, but are used extensively in existing code. These functions are -+<> is ANSI C. <>, <>, and <> are subsumed by <> -+and <>, but are used extensively in existing code. These functions are - less reliable, but may be faster if the argument is verified to be in a valid - range. - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdlib/atoff.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdlib/atoff.c ---- newlib-1.19.0.orig/newlib/libc/stdlib/atoff.c 2002-12-06 19:58:51.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdlib/atoff.c 1970-01-01 01:00:00.000000000 +0100 -@@ -1,9 +0,0 @@ --#include --#include <_ansi.h> -- --float --_DEFUN (atoff, (s), -- _CONST char *s) --{ -- return strtof (s, NULL); --} -diff -Naur newlib-1.19.0.orig/newlib/libc/stdlib/Makefile.am newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdlib/Makefile.am ---- newlib-1.19.0.orig/newlib/libc/stdlib/Makefile.am 2009-04-16 20:24:35.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdlib/Makefile.am 2011-05-17 07:25:06.787153668 +0200 -@@ -16,7 +16,6 @@ - assert.c \ - atexit.c \ - atof.c \ -- atoff.c \ - atoi.c \ - atol.c \ - calloc.c \ -diff -Naur newlib-1.19.0.orig/newlib/libc/stdlib/Makefile.in newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdlib/Makefile.in ---- newlib-1.19.0.orig/newlib/libc/stdlib/Makefile.in 2010-12-16 22:59:03.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdlib/Makefile.in 2011-05-17 07:25:06.787153668 +0200 -@@ -69,8 +69,7 @@ - lib_a-__ten_mu.$(OBJEXT) lib_a-_Exit.$(OBJEXT) \ - lib_a-abort.$(OBJEXT) lib_a-abs.$(OBJEXT) \ - lib_a-assert.$(OBJEXT) lib_a-atexit.$(OBJEXT) \ -- lib_a-atof.$(OBJEXT) lib_a-atoff.$(OBJEXT) \ -- lib_a-atoi.$(OBJEXT) lib_a-atol.$(OBJEXT) \ -+ lib_a-atof.$(OBJEXT) lib_a-atoi.$(OBJEXT) lib_a-atol.$(OBJEXT) \ - lib_a-calloc.$(OBJEXT) lib_a-div.$(OBJEXT) \ - lib_a-dtoa.$(OBJEXT) lib_a-dtoastub.$(OBJEXT) \ - lib_a-environ.$(OBJEXT) lib_a-envlock.$(OBJEXT) \ -@@ -132,15 +131,15 @@ - @HAVE_LONG_DOUBLE_TRUE@am__objects_8 = strtold.lo wcstold.lo - am__objects_9 = __adjust.lo __atexit.lo __call_atexit.lo __exp10.lo \ - __ten_mu.lo _Exit.lo abort.lo abs.lo assert.lo atexit.lo \ -- atof.lo atoff.lo atoi.lo atol.lo calloc.lo div.lo dtoa.lo \ -- dtoastub.lo environ.lo envlock.lo eprintf.lo exit.lo \ -- gdtoa-gethex.lo gdtoa-hexnan.lo getenv.lo getenv_r.lo labs.lo \ -- ldiv.lo ldtoa.lo malloc.lo mblen.lo mblen_r.lo mbstowcs.lo \ -- mbstowcs_r.lo mbtowc.lo mbtowc_r.lo mlock.lo mprec.lo \ -- mstats.lo rand.lo rand_r.lo realloc.lo reallocf.lo \ -- sb_charsets.lo strtod.lo strtol.lo strtoul.lo wcstod.lo \ -- wcstol.lo wcstoul.lo wcstombs.lo wcstombs_r.lo wctomb.lo \ -- wctomb_r.lo $(am__objects_8) -+ atof.lo atoi.lo atol.lo calloc.lo div.lo dtoa.lo dtoastub.lo \ -+ environ.lo envlock.lo eprintf.lo exit.lo gdtoa-gethex.lo \ -+ gdtoa-hexnan.lo getenv.lo getenv_r.lo labs.lo ldiv.lo ldtoa.lo \ -+ malloc.lo mblen.lo mblen_r.lo mbstowcs.lo mbstowcs_r.lo \ -+ mbtowc.lo mbtowc_r.lo mlock.lo mprec.lo mstats.lo rand.lo \ -+ rand_r.lo realloc.lo reallocf.lo sb_charsets.lo strtod.lo \ -+ strtol.lo strtoul.lo wcstod.lo wcstol.lo wcstoul.lo \ -+ wcstombs.lo wcstombs_r.lo wctomb.lo wctomb_r.lo \ -+ $(am__objects_8) - am__objects_10 = cxa_atexit.lo cxa_finalize.lo drand48.lo ecvtbuf.lo \ - efgcvt.lo erand48.lo jrand48.lo lcong48.lo lrand48.lo \ - mrand48.lo msize.lo mtrim.lo nrand48.lo rand48.lo seed48.lo \ -@@ -330,13 +329,13 @@ - INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) - GENERAL_SOURCES = __adjust.c __atexit.c __call_atexit.c __exp10.c \ - __ten_mu.c _Exit.c abort.c abs.c assert.c atexit.c atof.c \ -- atoff.c atoi.c atol.c calloc.c div.c dtoa.c dtoastub.c \ -- environ.c envlock.c eprintf.c exit.c gdtoa-gethex.c \ -- gdtoa-hexnan.c getenv.c getenv_r.c labs.c ldiv.c ldtoa.c \ -- malloc.c mblen.c mblen_r.c mbstowcs.c mbstowcs_r.c mbtowc.c \ -- mbtowc_r.c mlock.c mprec.c mstats.c rand.c rand_r.c realloc.c \ -- reallocf.c sb_charsets.c strtod.c strtol.c strtoul.c wcstod.c \ -- wcstol.c wcstoul.c wcstombs.c wcstombs_r.c wctomb.c wctomb_r.c \ -+ atoi.c atol.c calloc.c div.c dtoa.c dtoastub.c environ.c \ -+ envlock.c eprintf.c exit.c gdtoa-gethex.c gdtoa-hexnan.c \ -+ getenv.c getenv_r.c labs.c ldiv.c ldtoa.c malloc.c mblen.c \ -+ mblen_r.c mbstowcs.c mbstowcs_r.c mbtowc.c mbtowc_r.c mlock.c \ -+ mprec.c mstats.c rand.c rand_r.c realloc.c reallocf.c \ -+ sb_charsets.c strtod.c strtol.c strtoul.c wcstod.c wcstol.c \ -+ wcstoul.c wcstombs.c wcstombs_r.c wctomb.c wctomb_r.c \ - $(am__append_1) - EXTENDED_SOURCES = \ - cxa_atexit.c \ -@@ -616,12 +615,6 @@ - lib_a-atof.obj: atof.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-atof.obj `if test -f 'atof.c'; then $(CYGPATH_W) 'atof.c'; else $(CYGPATH_W) '$(srcdir)/atof.c'; fi` - --lib_a-atoff.o: atoff.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-atoff.o `test -f 'atoff.c' || echo '$(srcdir)/'`atoff.c -- --lib_a-atoff.obj: atoff.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-atoff.obj `if test -f 'atoff.c'; then $(CYGPATH_W) 'atoff.c'; else $(CYGPATH_W) '$(srcdir)/atoff.c'; fi` -- - lib_a-atoi.o: atoi.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-atoi.o `test -f 'atoi.c' || echo '$(srcdir)/'`atoi.c - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdlib/putenv_r.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdlib/putenv_r.c ---- newlib-1.19.0.orig/newlib/libc/stdlib/putenv_r.c 2004-11-24 23:34:14.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdlib/putenv_r.c 2011-05-17 07:25:06.788153682 +0200 -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - - #include "envlock.h" - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdlib/strtod.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdlib/strtod.c ---- newlib-1.19.0.orig/newlib/libc/stdlib/strtod.c 2010-12-07 22:26:45.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/stdlib/strtod.c 2011-05-17 07:25:06.788153682 +0200 -@@ -309,8 +309,7 @@ - } - nd0 = nd; - if (strncmp (s, _localeconv_r (ptr)->decimal_point, -- strlen (_localeconv_r (ptr)->decimal_point)) == 0) -- { -+ strlen (_localeconv_r (ptr)->decimal_point)) == 0) { - decpt = 1; - c = *(s += strlen (_localeconv_r (ptr)->decimal_point)); - if (!nd) { -@@ -328,25 +327,28 @@ - have_dig: - nz++; - if (c -= '0') { -- nf += nz; - for(i = 1; i < nz; i++) { -- if (nd++ <= DBL_DIG + 1) { -- if (nd < 10) -+ if (nd <= DBL_DIG + 1) { -+ if (nd + i < 10) - y *= 10; - else - z *= 10; - } - } -- if (nd++ <= DBL_DIG + 1) { -- if (nd < 10) -+ if (nd <= DBL_DIG + 1) { -+ if (nd + i < 10) - y = 10*y + c; - else - z = 10*z + c; - } -- nz = 0; -+ if (nd <= DBL_DIG + 1) { -+ nf += nz; -+ nd += nz; - } -+ nz = 0; - } - } -+ } - dig_done: - e = 0; - if (c == 'e' || c == 'E') { -diff -Naur newlib-1.19.0.orig/newlib/libc/string/bcmp.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/bcmp.c ---- newlib-1.19.0.orig/newlib/libc/string/bcmp.c 2005-10-28 23:21:07.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/bcmp.c 2011-05-17 07:25:06.789153697 +0200 -@@ -6,11 +6,11 @@ - bcmp - - ANSI_SYNOPSIS -- #include -+ #include - int bcmp(const void *<[s1]>, const void *<[s2]>, size_t <[n]>); - - TRAD_SYNOPSIS -- #include -+ #include - int bcmp(<[s1]>, <[s2]>, <[n]>) - const void *<[s1]>; - const void *<[s2]>; -@@ -35,7 +35,7 @@ - bcmp ansi pure - */ - --#include -+#include - - int - _DEFUN (bcmp, (m1, m2, n), -diff -Naur newlib-1.19.0.orig/newlib/libc/string/bcopy.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/bcopy.c ---- newlib-1.19.0.orig/newlib/libc/string/bcopy.c 2002-05-23 20:46:04.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/bcopy.c 2011-05-17 07:25:06.789153697 +0200 -@@ -3,7 +3,7 @@ - <>---copy memory regions - - ANSI_SYNOPSIS -- #include -+ #include - void bcopy(const void *<[in]>, void *<[out]>, size_t <[n]>); - - TRAD_SYNOPSIS -@@ -26,7 +26,7 @@ - bcopy - pure - */ - --#include -+#include - - void - _DEFUN (bcopy, (b1, b2, length), -diff -Naur newlib-1.19.0.orig/newlib/libc/string/bzero.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/bzero.c ---- newlib-1.19.0.orig/newlib/libc/string/bzero.c 2002-05-23 20:46:04.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/bzero.c 2011-05-17 07:25:06.789153697 +0200 -@@ -6,11 +6,11 @@ - bzero - - ANSI_SYNOPSIS -- #include -+ #include - void bzero(void *<[b]>, size_t <[length]>); - - TRAD_SYNOPSIS -- #include -+ #include - void bzero(<[b]>, <[length]>) - void *<[b]>; - size_t <[length]>; -@@ -30,7 +30,7 @@ - <> requires no supporting OS subroutines. - */ - --#include -+#include - - _VOID - _DEFUN (bzero, (b, length), -diff -Naur newlib-1.19.0.orig/newlib/libc/string/index.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/index.c ---- newlib-1.19.0.orig/newlib/libc/string/index.c 2000-02-17 20:39:48.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/index.c 2011-05-17 07:25:06.789153697 +0200 -@@ -6,11 +6,11 @@ - index - - ANSI_SYNOPSIS -- #include -+ #include - char * index(const char *<[string]>, int <[c]>); - - TRAD_SYNOPSIS -- #include -+ #include - char * index(<[string]>, <[c]>); - char *<[string]>; - int *<[c]>; -@@ -33,7 +33,8 @@ - index - pure - */ - --#include -+#include -+#include /* strchr */ - - char * - _DEFUN (index, (s, c), -diff -Naur newlib-1.19.0.orig/newlib/libc/string/Makefile.am newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/Makefile.am ---- newlib-1.19.0.orig/newlib/libc/string/Makefile.am 2010-05-11 22:27:20.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/Makefile.am 2011-05-17 07:25:06.788153682 +0200 -@@ -71,7 +71,8 @@ - wmemcmp.c \ - wmemcpy.c \ - wmemmove.c \ -- wmemset.c -+ wmemset.c \ -+ xpg_strerror_r.c - - if ELIX_LEVEL_1 - ELIX_2_SOURCES = -@@ -84,6 +85,7 @@ - stpncpy.c \ - strndup.c \ - strcasestr.c \ -+ strchrnul.c \ - strndup_r.c \ - wcpcpy.c \ - wcpncpy.c \ -diff -Naur newlib-1.19.0.orig/newlib/libc/string/Makefile.in newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/Makefile.in ---- newlib-1.19.0.orig/newlib/libc/string/Makefile.in 2010-12-16 22:59:03.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/Makefile.in 2011-05-17 07:25:06.789153697 +0200 -@@ -88,7 +88,7 @@ - lib_a-wcsxfrm.$(OBJEXT) lib_a-wcwidth.$(OBJEXT) \ - lib_a-wmemchr.$(OBJEXT) lib_a-wmemcmp.$(OBJEXT) \ - lib_a-wmemcpy.$(OBJEXT) lib_a-wmemmove.$(OBJEXT) \ -- lib_a-wmemset.$(OBJEXT) -+ lib_a-wmemset.$(OBJEXT) lib_a-xpg_strerror_r.$(OBJEXT) - @ELIX_LEVEL_1_FALSE@am__objects_2 = lib_a-bcmp.$(OBJEXT) \ - @ELIX_LEVEL_1_FALSE@ lib_a-memccpy.$(OBJEXT) \ - @ELIX_LEVEL_1_FALSE@ lib_a-mempcpy.$(OBJEXT) \ -@@ -96,6 +96,7 @@ - @ELIX_LEVEL_1_FALSE@ lib_a-stpncpy.$(OBJEXT) \ - @ELIX_LEVEL_1_FALSE@ lib_a-strndup.$(OBJEXT) \ - @ELIX_LEVEL_1_FALSE@ lib_a-strcasestr.$(OBJEXT) \ -+@ELIX_LEVEL_1_FALSE@ lib_a-strchrnul.$(OBJEXT) \ - @ELIX_LEVEL_1_FALSE@ lib_a-strndup_r.$(OBJEXT) \ - @ELIX_LEVEL_1_FALSE@ lib_a-wcpcpy.$(OBJEXT) \ - @ELIX_LEVEL_1_FALSE@ lib_a-wcpncpy.$(OBJEXT) \ -@@ -120,11 +121,11 @@ - wcslcpy.lo wcslen.lo wcsncat.lo wcsncmp.lo wcsncpy.lo \ - wcsnlen.lo wcspbrk.lo wcsrchr.lo wcsspn.lo wcsstr.lo wcstok.lo \ - wcswidth.lo wcsxfrm.lo wcwidth.lo wmemchr.lo wmemcmp.lo \ -- wmemcpy.lo wmemmove.lo wmemset.lo -+ wmemcpy.lo wmemmove.lo wmemset.lo xpg_strerror_r.lo - @ELIX_LEVEL_1_FALSE@am__objects_5 = bcmp.lo memccpy.lo mempcpy.lo \ - @ELIX_LEVEL_1_FALSE@ stpcpy.lo stpncpy.lo strndup.lo \ --@ELIX_LEVEL_1_FALSE@ strcasestr.lo strndup_r.lo wcpcpy.lo \ --@ELIX_LEVEL_1_FALSE@ wcpncpy.lo wcsdup.lo -+@ELIX_LEVEL_1_FALSE@ strcasestr.lo strchrnul.lo strndup_r.lo \ -+@ELIX_LEVEL_1_FALSE@ wcpcpy.lo wcpncpy.lo wcsdup.lo - @ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@am__objects_6 = memmem.lo \ - @ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@ wcscasecmp.lo \ - @ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@ wcsncasecmp.lo -@@ -363,7 +364,8 @@ - wmemcmp.c \ - wmemcpy.c \ - wmemmove.c \ -- wmemset.c -+ wmemset.c \ -+ xpg_strerror_r.c - - @ELIX_LEVEL_1_FALSE@ELIX_2_SOURCES = \ - @ELIX_LEVEL_1_FALSE@ bcmp.c \ -@@ -373,6 +375,7 @@ - @ELIX_LEVEL_1_FALSE@ stpncpy.c \ - @ELIX_LEVEL_1_FALSE@ strndup.c \ - @ELIX_LEVEL_1_FALSE@ strcasestr.c \ -+@ELIX_LEVEL_1_FALSE@ strchrnul.c \ - @ELIX_LEVEL_1_FALSE@ strndup_r.c \ - @ELIX_LEVEL_1_FALSE@ wcpcpy.c \ - @ELIX_LEVEL_1_FALSE@ wcpncpy.c \ -@@ -887,6 +890,12 @@ - lib_a-wmemset.obj: wmemset.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wmemset.obj `if test -f 'wmemset.c'; then $(CYGPATH_W) 'wmemset.c'; else $(CYGPATH_W) '$(srcdir)/wmemset.c'; fi` - -+lib_a-xpg_strerror_r.o: xpg_strerror_r.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-xpg_strerror_r.o `test -f 'xpg_strerror_r.c' || echo '$(srcdir)/'`xpg_strerror_r.c -+ -+lib_a-xpg_strerror_r.obj: xpg_strerror_r.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-xpg_strerror_r.obj `if test -f 'xpg_strerror_r.c'; then $(CYGPATH_W) 'xpg_strerror_r.c'; else $(CYGPATH_W) '$(srcdir)/xpg_strerror_r.c'; fi` -+ - lib_a-bcmp.o: bcmp.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-bcmp.o `test -f 'bcmp.c' || echo '$(srcdir)/'`bcmp.c - -@@ -929,6 +938,12 @@ - lib_a-strcasestr.obj: strcasestr.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strcasestr.obj `if test -f 'strcasestr.c'; then $(CYGPATH_W) 'strcasestr.c'; else $(CYGPATH_W) '$(srcdir)/strcasestr.c'; fi` - -+lib_a-strchrnul.o: strchrnul.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strchrnul.o `test -f 'strchrnul.c' || echo '$(srcdir)/'`strchrnul.c -+ -+lib_a-strchrnul.obj: strchrnul.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strchrnul.obj `if test -f 'strchrnul.c'; then $(CYGPATH_W) 'strchrnul.c'; else $(CYGPATH_W) '$(srcdir)/strchrnul.c'; fi` -+ - lib_a-strndup_r.o: strndup_r.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strndup_r.o `test -f 'strndup_r.c' || echo '$(srcdir)/'`strndup_r.c - -diff -Naur newlib-1.19.0.orig/newlib/libc/string/memccpy.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/memccpy.c ---- newlib-1.19.0.orig/newlib/libc/string/memccpy.c 2010-09-22 05:15:07.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/memccpy.c 2011-05-17 07:25:06.789153697 +0200 -@@ -35,13 +35,14 @@ - */ - - #include <_ansi.h> -+#include - #include - #include - #include - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ - #define UNALIGNED(X, Y) \ -- (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) -+ (((intptr_t)X & (sizeof (long) - 1)) | ((intptr_t)Y & (sizeof (long) - 1))) - - /* How many bytes are copied each iteration of the word copy loop. */ - #define LITTLEBLOCKSIZE (sizeof (long)) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/memchr.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/memchr.c ---- newlib-1.19.0.orig/newlib/libc/string/memchr.c 2008-05-27 01:31:08.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/memchr.c 2011-05-17 07:25:06.790153713 +0200 -@@ -38,10 +38,11 @@ - - #include <_ansi.h> - #include -+#include - #include - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ --#define UNALIGNED(X) ((long)X & (sizeof (long) - 1)) -+#define UNALIGNED(X) ((intptr_t)X & (sizeof (long) - 1)) - - /* How many bytes are loaded each iteration of the word copy loop. */ - #define LBLOCKSIZE (sizeof (long)) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/memcmp.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/memcmp.c ---- newlib-1.19.0.orig/newlib/libc/string/memcmp.c 2005-03-06 21:40:05.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/memcmp.c 2011-05-17 07:25:06.790153713 +0200 -@@ -37,11 +37,11 @@ - */ - - #include -- -+#include - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ - #define UNALIGNED(X, Y) \ -- (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) -+ (((intptr_t)X & (sizeof (long) - 1)) | ((intptr_t)Y & (sizeof (long) - 1))) - - /* How many bytes are copied each iteration of the word copy loop. */ - #define LBLOCKSIZE (sizeof (long)) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/memcpy.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/memcpy.c ---- newlib-1.19.0.orig/newlib/libc/string/memcpy.c 2010-09-22 05:15:07.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/memcpy.c 2011-05-17 07:25:06.790153713 +0200 -@@ -34,11 +34,12 @@ - */ - - #include <_ansi.h> -+#include - #include - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ - #define UNALIGNED(X, Y) \ -- (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) -+ (((intptr_t)X & (sizeof (long) - 1)) | ((intptr_t)Y & (sizeof (long) - 1))) - - /* How many bytes are copied each iteration of the 4X unrolled loop. */ - #define BIGBLOCKSIZE (sizeof (long) << 2) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/memmove.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/memmove.c ---- newlib-1.19.0.orig/newlib/libc/string/memmove.c 2010-09-22 05:15:07.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/memmove.c 2011-05-17 07:25:06.790153713 +0200 -@@ -36,13 +36,14 @@ - */ - - #include -+#include - #include <_ansi.h> - #include - #include - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ - #define UNALIGNED(X, Y) \ -- (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) -+ (((intptr_t)X & (sizeof (long) - 1)) | ((intptr_t)Y & (sizeof (long) - 1))) - - /* How many bytes are copied each iteration of the 4X unrolled loop. */ - #define BIGBLOCKSIZE (sizeof (long) << 2) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/mempcpy.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/mempcpy.c ---- newlib-1.19.0.orig/newlib/libc/string/mempcpy.c 2010-09-22 05:15:07.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/mempcpy.c 2011-05-17 07:25:06.790153713 +0200 -@@ -34,10 +34,11 @@ - #include - #include - #include -+#include - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ - #define UNALIGNED(X, Y) \ -- (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) -+ (((intptr_t)X & (sizeof (long) - 1)) | ((uintptr_t)Y & (sizeof (long) - 1))) - - /* How many bytes are copied each iteration of the 4X unrolled loop. */ - #define BIGBLOCKSIZE (sizeof (long) << 2) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/memset.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/memset.c ---- newlib-1.19.0.orig/newlib/libc/string/memset.c 2008-05-27 20:44:40.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/memset.c 2011-05-17 07:25:06.790153713 +0200 -@@ -34,9 +34,10 @@ - */ - - #include -+#include - - #define LBLOCKSIZE (sizeof(long)) --#define UNALIGNED(X) ((long)X & (LBLOCKSIZE - 1)) -+#define UNALIGNED(X) ((intptr_t)X & (LBLOCKSIZE - 1)) - #define TOO_SMALL(LEN) ((LEN) < LBLOCKSIZE) - - _PTR -diff -Naur newlib-1.19.0.orig/newlib/libc/string/rindex.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/rindex.c ---- newlib-1.19.0.orig/newlib/libc/string/rindex.c 2000-02-17 20:39:48.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/rindex.c 2011-05-17 07:25:06.791153729 +0200 -@@ -10,7 +10,7 @@ - char * rindex(const char *<[string]>, int <[c]>); - - TRAD_SYNOPSIS -- #include -+ #include - char * rindex(<[string]>, <[c]>); - char *<[string]>; - int *<[c]>; -@@ -33,7 +33,8 @@ - rindex - pure - */ - --#include -+#include -+#include /* strchr */ - - char * - _DEFUN (rindex, (s, c), -diff -Naur newlib-1.19.0.orig/newlib/libc/string/stpcpy.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/stpcpy.c ---- newlib-1.19.0.orig/newlib/libc/string/stpcpy.c 2007-06-28 19:07:23.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/stpcpy.c 2011-05-17 07:25:06.791153729 +0200 -@@ -34,6 +34,7 @@ - */ - - #include -+#include - #include - - /*SUPPRESS 560*/ -@@ -41,7 +42,7 @@ - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ - #define UNALIGNED(X, Y) \ -- (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) -+ (((intptr_t)X & (sizeof (long) - 1)) | ((intptr_t)Y & (sizeof (long) - 1))) - - #if LONG_MAX == 2147483647L - #define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/stpncpy.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/stpncpy.c ---- newlib-1.19.0.orig/newlib/libc/string/stpncpy.c 2007-06-28 19:07:23.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/stpncpy.c 2011-05-17 07:25:06.791153729 +0200 -@@ -40,6 +40,7 @@ - */ - - #include -+#include - #include - - /*SUPPRESS 560*/ -@@ -47,7 +48,7 @@ - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ - #define UNALIGNED(X, Y) \ -- (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) -+ (((intptr_t)X & (sizeof (long) - 1)) | ((intptr_t)Y & (sizeof (long) - 1))) - - #if LONG_MAX == 2147483647L - #define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strcasecmp.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strcasecmp.c ---- newlib-1.19.0.orig/newlib/libc/string/strcasecmp.c 2009-04-23 20:11:22.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strcasecmp.c 2011-05-17 07:25:06.791153729 +0200 -@@ -6,11 +6,11 @@ - strcasecmp - - ANSI_SYNOPSIS -- #include -+ #include - int strcasecmp(const char *<[a]>, const char *<[b]>); - - TRAD_SYNOPSIS -- #include -+ #include - int strcasecmp(<[a]>, <[b]>) - char *<[a]>; - char *<[b]>; -@@ -38,7 +38,7 @@ - strcasecmp - */ - --#include -+#include - #include - - int -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strcat.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strcat.c ---- newlib-1.19.0.orig/newlib/libc/string/strcat.c 2000-02-17 20:39:48.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strcat.c 2011-05-17 07:25:06.791153729 +0200 -@@ -33,12 +33,13 @@ - strcat ansi pure - */ - -+#include - #include - #include - - /* Nonzero if X is aligned on a "long" boundary. */ - #define ALIGNED(X) \ -- (((long)X & (sizeof (long) - 1)) == 0) -+ (((uintptr_t)X & (sizeof (long) - 1)) == 0) - - #if LONG_MAX == 2147483647L - #define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strchr.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strchr.c ---- newlib-1.19.0.orig/newlib/libc/string/strchr.c 2008-05-22 04:31:46.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strchr.c 2011-05-17 07:25:06.791153729 +0200 -@@ -33,11 +33,12 @@ - strchr ansi pure - */ - -+#include - #include - #include - - /* Nonzero if X is not aligned on a "long" boundary. */ --#define UNALIGNED(X) ((long)X & (sizeof (long) - 1)) -+#define UNALIGNED(X) ((uintptr_t)X & (sizeof (long) - 1)) - - /* How many bytes are loaded each iteration of the word copy loop. */ - #define LBLOCKSIZE (sizeof (long)) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strchrnul.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strchrnul.c ---- newlib-1.19.0.orig/newlib/libc/string/strchrnul.c 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strchrnul.c 2011-05-17 07:25:06.791153729 +0200 -@@ -0,0 +1,47 @@ -+/* -+FUNCTION -+ <>---search for character in string -+ -+INDEX -+ strchrnul -+ -+ANSI_SYNOPSIS -+ #include -+ char * strchrnul(const char *<[string]>, int <[c]>); -+ -+TRAD_SYNOPSIS -+ #include -+ char * strchrnul(<[string]>, <[c]>); -+ const char *<[string]>; -+ int <[c]>; -+ -+DESCRIPTION -+ This function finds the first occurence of <[c]> (converted to -+ a char) in the string pointed to by <[string]> (including the -+ terminating null character). -+ -+RETURNS -+ Returns a pointer to the located character, or a pointer -+ to the concluding null byte if <[c]> does not occur in <[string]>. -+ -+PORTABILITY -+<> is a GNU extension. -+ -+<> requires no supporting OS subroutines. It uses -+strchr() and strlen() from elsewhere in this library. -+ -+QUICKREF -+ strchrnul -+*/ -+ -+#include -+ -+char * -+_DEFUN (strchrnul, (s1, i), -+ _CONST char *s1 _AND -+ int i) -+{ -+ char *s = strchr(s1, i); -+ -+ return s ? s : (char *)s1 + strlen(s1); -+} -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strcmp.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strcmp.c ---- newlib-1.19.0.orig/newlib/libc/string/strcmp.c 2000-02-17 20:39:48.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strcmp.c 2011-05-17 07:25:06.792153745 +0200 -@@ -35,12 +35,13 @@ - strcmp ansi pure - */ - -+#include - #include - #include - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ - #define UNALIGNED(X, Y) \ -- (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) -+ (((uintptr_t)X & (sizeof (long) - 1)) | ((uintptr_t)Y & (sizeof (long) - 1))) - - /* DETECTNULL returns nonzero if (long)X contains a NULL byte. */ - #if LONG_MAX == 2147483647L -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strcpy.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strcpy.c ---- newlib-1.19.0.orig/newlib/libc/string/strcpy.c 2007-05-29 23:26:59.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strcpy.c 2011-05-17 07:25:06.792153745 +0200 -@@ -32,6 +32,7 @@ - strcpy ansi pure - */ - -+#include - #include - #include - -@@ -40,7 +41,7 @@ - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ - #define UNALIGNED(X, Y) \ -- (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) -+ (((intptr_t)X & (sizeof (long) - 1)) | ((intptr_t)Y & (sizeof (long) - 1))) - - #if LONG_MAX == 2147483647L - #define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strerror.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strerror.c ---- newlib-1.19.0.orig/newlib/libc/string/strerror.c 2009-03-15 14:41:46.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strerror.c 2011-05-17 07:25:06.792153745 +0200 -@@ -301,6 +301,17 @@ - result string; therefore portable code cannot depend on the reentrancy - of this subroutine. - -+Although this implementation of <> guarantees a non-null -+result with a NUL-terminator, some implementations return <> -+on failure. Although POSIX allows <> to set <> -+to EINVAL on failure, this implementation does not do so (unless -+you provide <<_user_strerror>>). -+ -+POSIX recommends that unknown <[errnum]> result in a message -+including that value, however it is not a requirement and this -+implementation does not provide that information (unless you -+provide <<_user_strerror>>). -+ - This implementation of <> provides for user-defined - extensibility. <> defines <[__ELASTERROR]>, which can be - used as a base for user-defined error values. If the user supplies a -@@ -313,6 +324,9 @@ - <<_user_strerror>> returns <[NULL]>. The default <<_user_strerror>> - returns <[NULL]> for all input values. - -+Note that <<_user_sterror>> must be thread-safe and not alter <> -+if <> is to comply with POSIX. -+ - <> requires no supporting OS subroutines. - - QUICKREF -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strerror_r.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strerror_r.c ---- newlib-1.19.0.orig/newlib/libc/string/strerror_r.c 2005-10-28 23:21:07.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strerror_r.c 2011-05-17 07:25:06.792153745 +0200 -@@ -1,3 +1,4 @@ -+/* GNU variant of strerror_r. */ - /* - FUNCTION - <>---convert error number to string and copy to buffer -@@ -7,7 +8,11 @@ - - ANSI_SYNOPSIS - #include -+ #ifdef _GNU_SOURCE - char *strerror_r(int <[errnum]>, char *<[buffer]>, size_t <[n]>); -+ #else -+ int strerror_r(int <[errnum]>, char *<[buffer]>, size_t <[n]>); -+ #endif - - TRAD_SYNOPSIS - #include -@@ -19,35 +24,60 @@ - DESCRIPTION - <> converts the error number <[errnum]> into a - string and copies the result into the supplied <[buffer]> for --a length up to <[n]>, including the NUL terminator. The value of --<[errnum]> is usually a copy of <>. If <> is not a known -+a length up to <[n]>, including the NUL terminator. The value of -+<[errnum]> is usually a copy of <>. If <> is not a known - error number, the result is the empty string. - - See <> for how strings are mapped to <>. - - RETURNS --This function returns a pointer to a string. Your application must --not modify that string. -+There are two variants: the GNU version always returns a NUL-terminated -+string, which is <[buffer]> if all went well, but which is another -+pointer if <[n]> was too small (leaving <[buffer]> untouched). If the -+return is not <[buffer]>, your application must not modify that string. -+The POSIX version returns 0 on success, <[EINVAL]> if <> was not -+recognized, and <[ERANGE]> if <[n]> was too small. The variant chosen -+depends on macros that you define before inclusion of <>. - - PORTABILITY --<> is a GNU extension. -+<> with a <[char *]> result is a GNU extension. -+<> with an <[int]> result is required by POSIX 2001. -+This function is compliant only if <<_user_strerror>> is not provided, -+or if it is thread-safe and does not modify <>. -+ -+POSIX states that the contents of <[buf]> are unspecified on error, -+although this implementation guarantees a NUL-terminated string for -+all except <[n]> of 0. -+ -+POSIX recommends that unknown <[errnum]> result in a message including -+that value, however it is not a requirement and this implementation -+provides only an empty string (unless you provide <<_user_strerror>>). -+POSIX also recommends that unknown <[errnum]> fail with EINVAL even -+when providing such a message, however it is not a requirement and -+this implementation will return success if <<_user_strerror>> provided -+a non-empty alternate string. - - <> requires no supporting OS subroutines. - - */ - - #undef __STRICT_ANSI__ -+#define _GNU_SOURCE - #include - #include -+#undef strerror_r - -+/* For backwards-compatible linking, this must be the GNU signature; -+ see xpg_strerror_r.c for the POSIX version. */ - char * - _DEFUN (strerror_r, (errnum, buffer, n), - int errnum _AND - char *buffer _AND - size_t n) - { -- char *error; -- error = strerror (errnum); -+ char *error = strerror (errnum); - -- return strncpy (buffer, (const char *)error, n); -+ if (strlen (error) >= n) -+ return error; -+ return strcpy (buffer, error); - } -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strlen.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strlen.c ---- newlib-1.19.0.orig/newlib/libc/string/strlen.c 2008-05-27 00:56:14.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strlen.c 2011-05-17 07:25:06.792153745 +0200 -@@ -32,11 +32,12 @@ - */ - - #include <_ansi.h> -+#include - #include - #include - - #define LBLOCKSIZE (sizeof (long)) --#define UNALIGNED(X) ((long)X & (LBLOCKSIZE - 1)) -+#define UNALIGNED(X) ((intptr_t)X & (LBLOCKSIZE - 1)) - - #if LONG_MAX == 2147483647L - #define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strncasecmp.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strncasecmp.c ---- newlib-1.19.0.orig/newlib/libc/string/strncasecmp.c 2009-04-23 20:11:22.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strncasecmp.c 2011-05-17 07:25:06.792153745 +0200 -@@ -6,11 +6,11 @@ - strncasecmp - - ANSI_SYNOPSIS -- #include -+ #include - int strncasecmp(const char *<[a]>, const char * <[b]>, size_t <[length]>); - - TRAD_SYNOPSIS -- #include -+ #include - int strncasecmp(<[a]>, <[b]>, <[length]>) - char *<[a]>; - char *<[b]>; -@@ -40,7 +40,7 @@ - strncasecmp - */ - --#include -+#include - #include - - int -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strncat.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strncat.c ---- newlib-1.19.0.orig/newlib/libc/string/strncat.c 2005-10-28 23:21:07.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strncat.c 2011-05-17 07:25:06.793153761 +0200 -@@ -42,11 +42,12 @@ - */ - - #include -+#include - #include - - /* Nonzero if X is aligned on a "long" boundary. */ - #define ALIGNED(X) \ -- (((long)X & (sizeof (long) - 1)) == 0) -+ (((intptr_t)X & (sizeof (long) - 1)) == 0) - - #if LONG_MAX == 2147483647L - #define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strncmp.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strncmp.c ---- newlib-1.19.0.orig/newlib/libc/string/strncmp.c 2000-02-17 20:39:48.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strncmp.c 2011-05-17 07:25:06.793153761 +0200 -@@ -36,12 +36,13 @@ - strncmp ansi pure - */ - -+#include - #include - #include - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ - #define UNALIGNED(X, Y) \ -- (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) -+ (((uintptr_t)X & (sizeof (long) - 1)) | ((uintptr_t)Y & (sizeof (long) - 1))) - - /* DETECTNULL returns nonzero if (long)X contains a NULL byte. */ - #if LONG_MAX == 2147483647L -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strncpy.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strncpy.c ---- newlib-1.19.0.orig/newlib/libc/string/strncpy.c 2000-02-17 20:39:48.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/strncpy.c 2011-05-17 07:25:06.793153761 +0200 -@@ -38,6 +38,7 @@ - */ - - #include -+#include - #include - - /*SUPPRESS 560*/ -@@ -45,7 +46,7 @@ - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ - #define UNALIGNED(X, Y) \ -- (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) -+ (((intptr_t)X & (sizeof (long) - 1)) | ((intptr_t)Y & (sizeof (long) - 1))) - - #if LONG_MAX == 2147483647L - #define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/xpg_strerror_r.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/xpg_strerror_r.c ---- newlib-1.19.0.orig/newlib/libc/string/xpg_strerror_r.c 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/string/xpg_strerror_r.c 2011-05-17 07:25:06.793153761 +0200 -@@ -0,0 +1,25 @@ -+/* POSIX variant of strerror_r. */ -+#undef __STRICT_ANSI__ -+#include -+#include -+ -+int -+_DEFUN (__xpg_strerror_r, (errnum, buffer, n), -+ int errnum _AND -+ char *buffer _AND -+ size_t n) -+{ -+ char *error; -+ -+ if (!n) -+ return ERANGE; -+ error = strerror (errnum); -+ if (strlen (error) >= n) -+ { -+ memcpy (buffer, error, n - 1); -+ buffer[n - 1] = '\0'; -+ return ERANGE; -+ } -+ strcpy (buffer, error); -+ return *error ? 0 : EINVAL; -+} -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/linux/Makefile.am newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/linux/Makefile.am ---- newlib-1.19.0.orig/newlib/libc/sys/linux/Makefile.am 2009-08-19 22:04:43.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/linux/Makefile.am 2011-05-17 07:25:06.793153761 +0200 -@@ -72,7 +72,6 @@ - process.c \ - prof-freq.c \ - profile.c \ -- psignal.c \ - pwrite.c \ - raise.c \ - realloc.c \ -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/linux/Makefile.in newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/linux/Makefile.in ---- newlib-1.19.0.orig/newlib/libc/sys/linux/Makefile.in 2010-12-16 22:59:06.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/linux/Makefile.in 2011-05-17 07:25:06.794153777 +0200 -@@ -82,24 +82,23 @@ - lib_a-mtrim.$(OBJEXT) lib_a-mtrimr.$(OBJEXT) \ - lib_a-ntp_gettime.$(OBJEXT) lib_a-pread.$(OBJEXT) \ - lib_a-process.$(OBJEXT) lib_a-prof-freq.$(OBJEXT) \ -- lib_a-profile.$(OBJEXT) lib_a-psignal.$(OBJEXT) \ -- lib_a-pwrite.$(OBJEXT) lib_a-raise.$(OBJEXT) \ -- lib_a-realloc.$(OBJEXT) lib_a-reallocr.$(OBJEXT) \ -- lib_a-rename.$(OBJEXT) lib_a-resource.$(OBJEXT) \ -- lib_a-sched.$(OBJEXT) lib_a-select.$(OBJEXT) \ -- lib_a-seteuid.$(OBJEXT) lib_a-sethostid.$(OBJEXT) \ -- lib_a-sethostname.$(OBJEXT) lib_a-shm_open.$(OBJEXT) \ -- lib_a-shm_unlink.$(OBJEXT) lib_a-sig.$(OBJEXT) \ -- lib_a-sigaction.$(OBJEXT) lib_a-sigqueue.$(OBJEXT) \ -- lib_a-signal.$(OBJEXT) lib_a-siglongjmp.$(OBJEXT) \ -- lib_a-sigset.$(OBJEXT) lib_a-sigwait.$(OBJEXT) \ -- lib_a-socket.$(OBJEXT) lib_a-sleep.$(OBJEXT) \ -- lib_a-strsignal.$(OBJEXT) lib_a-strverscmp.$(OBJEXT) \ -- lib_a-sysconf.$(OBJEXT) lib_a-sysctl.$(OBJEXT) \ -- lib_a-systat.$(OBJEXT) lib_a-tcdrain.$(OBJEXT) \ -- lib_a-tcsendbrk.$(OBJEXT) lib_a-termios.$(OBJEXT) \ -- lib_a-time.$(OBJEXT) lib_a-usleep.$(OBJEXT) \ -- lib_a-versionsort.$(OBJEXT) -+ lib_a-profile.$(OBJEXT) lib_a-pwrite.$(OBJEXT) \ -+ lib_a-raise.$(OBJEXT) lib_a-realloc.$(OBJEXT) \ -+ lib_a-reallocr.$(OBJEXT) lib_a-rename.$(OBJEXT) \ -+ lib_a-resource.$(OBJEXT) lib_a-sched.$(OBJEXT) \ -+ lib_a-select.$(OBJEXT) lib_a-seteuid.$(OBJEXT) \ -+ lib_a-sethostid.$(OBJEXT) lib_a-sethostname.$(OBJEXT) \ -+ lib_a-shm_open.$(OBJEXT) lib_a-shm_unlink.$(OBJEXT) \ -+ lib_a-sig.$(OBJEXT) lib_a-sigaction.$(OBJEXT) \ -+ lib_a-sigqueue.$(OBJEXT) lib_a-signal.$(OBJEXT) \ -+ lib_a-siglongjmp.$(OBJEXT) lib_a-sigset.$(OBJEXT) \ -+ lib_a-sigwait.$(OBJEXT) lib_a-socket.$(OBJEXT) \ -+ lib_a-sleep.$(OBJEXT) lib_a-strsignal.$(OBJEXT) \ -+ lib_a-strverscmp.$(OBJEXT) lib_a-sysconf.$(OBJEXT) \ -+ lib_a-sysctl.$(OBJEXT) lib_a-systat.$(OBJEXT) \ -+ lib_a-tcdrain.$(OBJEXT) lib_a-tcsendbrk.$(OBJEXT) \ -+ lib_a-termios.$(OBJEXT) lib_a-time.$(OBJEXT) \ -+ lib_a-usleep.$(OBJEXT) lib_a-versionsort.$(OBJEXT) - am__objects_2 = lib_a-aio64.$(OBJEXT) lib_a-confstr.$(OBJEXT) \ - lib_a-ctermid.$(OBJEXT) lib_a-fclean.$(OBJEXT) \ - lib_a-fpathconf.$(OBJEXT) lib_a-fstab.$(OBJEXT) \ -@@ -141,8 +140,8 @@ - mq_close.lo mq_getattr.lo mq_notify.lo mq_open.lo \ - mq_receive.lo mq_send.lo mq_setattr.lo mq_unlink.lo msize.lo \ - msizer.lo mstats.lo mtrim.lo mtrimr.lo ntp_gettime.lo pread.lo \ -- process.lo prof-freq.lo profile.lo psignal.lo pwrite.lo \ -- raise.lo realloc.lo reallocr.lo rename.lo resource.lo sched.lo \ -+ process.lo prof-freq.lo profile.lo pwrite.lo raise.lo \ -+ realloc.lo reallocr.lo rename.lo resource.lo sched.lo \ - select.lo seteuid.lo sethostid.lo sethostname.lo shm_open.lo \ - shm_unlink.lo sig.lo sigaction.lo sigqueue.lo signal.lo \ - siglongjmp.lo sigset.lo sigwait.lo socket.lo sleep.lo \ -@@ -396,7 +395,6 @@ - process.c \ - prof-freq.c \ - profile.c \ -- psignal.c \ - pwrite.c \ - raise.c \ - realloc.c \ -@@ -865,12 +863,6 @@ - lib_a-profile.obj: profile.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-profile.obj `if test -f 'profile.c'; then $(CYGPATH_W) 'profile.c'; else $(CYGPATH_W) '$(srcdir)/profile.c'; fi` - --lib_a-psignal.o: psignal.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-psignal.o `test -f 'psignal.c' || echo '$(srcdir)/'`psignal.c -- --lib_a-psignal.obj: psignal.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-psignal.obj `if test -f 'psignal.c'; then $(CYGPATH_W) 'psignal.c'; else $(CYGPATH_W) '$(srcdir)/psignal.c'; fi` -- - lib_a-pwrite.o: pwrite.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-pwrite.o `test -f 'pwrite.c' || echo '$(srcdir)/'`pwrite.c - -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/linux/psignal.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/linux/psignal.c ---- newlib-1.19.0.orig/newlib/libc/sys/linux/psignal.c 2002-06-05 22:58:58.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/linux/psignal.c 1970-01-01 01:00:00.000000000 +0100 -@@ -1,15 +0,0 @@ --/* libc/sys/linux/psignal.c - print signal message to stderr */ -- --/* Copyright 2002, Red Hat Inc. */ -- --#include --#include -- --void --psignal (int sig, const char *s) --{ -- if (s != NULL) -- fprintf (stderr, "%s: %s\n", s, strsignal (sig)); -- else -- fprintf (stderr, "%s\n", strsignal (sig)); --} -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/linux/sys/signal.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/linux/sys/signal.h ---- newlib-1.19.0.orig/newlib/libc/sys/linux/sys/signal.h 2002-07-24 20:18:07.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/linux/sys/signal.h 2011-05-17 07:25:06.794153777 +0200 -@@ -37,7 +37,6 @@ - #include <_ansi.h> - - int _EXFUN(kill, (int, int)); --_VOID _EXFUN(psignal, (int, const char *)); - int _EXFUN(sigaction, (int, const struct sigaction *, struct sigaction *)); - int _EXFUN(sigaddset, (sigset_t *, const int)); - int _EXFUN(sigdelset, (sigset_t *, const int)); -@@ -50,7 +49,6 @@ - - #ifndef _POSIX_SOURCE - extern const char *const sys_siglist[]; --typedef __sighandler_t sig_t; /* BSDism */ - #endif - - #endif -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/rtems/crt0.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/rtems/crt0.c ---- newlib-1.19.0.orig/newlib/libc/sys/rtems/crt0.c 2009-12-16 19:28:14.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/rtems/crt0.c 2011-05-17 07:25:06.794153777 +0200 -@@ -24,8 +24,8 @@ - /* RTEMS provides some of its own routines including a Malloc family */ - RTEMS_STUB(void *,malloc(size_t s)) { return 0; } - RTEMS_STUB(void *,realloc(void* p, size_t s)) { return 0; } --RTEMS_STUB(void, free(void)) { ; } --RTEMS_STUB(_PTR, calloc(struct _reent *r, size_t s1, size_t s2)) {} -+RTEMS_STUB(void, free(void* ptr)) { ; } -+RTEMS_STUB(_PTR, calloc(size_t s1, size_t s2)) {} - - #if defined(__GNUC__) - /* -@@ -49,6 +49,7 @@ - #endif - - /* stubs for functions RTEMS provides */ -+RTEMS_STUB(int, clock_gettime(clockid_t clk_id, struct timespec *tp)) { return -1; } - RTEMS_STUB(int, close (int fd)) { return -1; } - RTEMS_STUB(int, dup2(int oldfd, int newfd)) { return -1; } - RTEMS_STUB(int, fcntl( int fd, int cmd, ... /* arg */ )) { return -1; } -@@ -56,6 +57,7 @@ - RTEMS_STUB(int, fstat(int fd, struct stat *buf)) { return -1; } - RTEMS_STUB(int, getdents(int fd, void *dp, int count)) { return -1; } - RTEMS_STUB(char *, getlogin(void)) { return 0; } -+RTEMS_STUB(int, gettimeofday(struct timeval *tv, struct timezone *tz)) { return -1; } - RTEMS_STUB(struct passwd *, getpwnam(const char *name)) { return 0; } - RTEMS_STUB(struct passwd *, getpwuid(uid_t uid)) { return 0; } - RTEMS_STUB(uid_t, getuid(void)) { return 0; } -@@ -65,6 +67,7 @@ - RTEMS_STUB(int, open(const char *pathname, int flags, int mode)) { return -1; } - RTEMS_STUB(int, pipe(int pipefd[2])) { return -1; } - RTEMS_STUB(_ssize_t, read(int fd, void *buf, size_t count)) { return -1; } -+RTEMS_STUB(int, sched_yield(void)) { return -1; } - RTEMS_STUB(int, sigfillset(sigset_t *set)) { return -1; } - RTEMS_STUB(int, sigprocmask(int how, const sigset_t *set, sigset_t *oldset)) { return -1; } - RTEMS_STUB(int, stat(const char *path, struct stat *buf)) { return -1; } -@@ -95,7 +98,7 @@ - RTEMS_STUB(int, _kill_r (struct _reent *r, int pid, int sig )) { return -1; } - #if !defined(REENTRANT_SYSCALLS_PROVIDED) - /* cf. newlib/libc/reent/linkr.c */ --RTEMS_STUB(int, _link_r (struct _reent *, const char *, const char *)) { return -1; } -+RTEMS_STUB(int, _link_r (struct _reent *r, const char *oldpath, const char *newpath)) { return -1; } - #endif - RTEMS_STUB(_off_t, _lseek_r ( struct _reent *ptr, int fd, _off_t offset, int whence )) { return -1; } - RTEMS_STUB(int, _open_r (struct _reent *r, const char *buf, int flags, int mode)) { return -1; } -@@ -103,14 +106,14 @@ - RTEMS_STUB(int, _rename_r (struct _reent *r, const char *a, const char *b)){ return -1; } - #if !(defined (REENTRANT_SYSCALLS_PROVIDED) || defined (MALLOC_PROVIDED)) - /* cf. newlib/libc/reent/sbrkr.c */ --RTEMS_STUB(void *,_sbrk_r (struct _reent *r, ptrdiff_t)) { return -1; } -+RTEMS_STUB(void *,_sbrk_r (struct _reent *r, ptrdiff_t addr)) { return 0; } - #endif - RTEMS_STUB(int, _stat_r (struct _reent *r, const char *path, struct stat *buf)) { return -1; } - RTEMS_STUB(_CLOCK_T_, _times_r (struct _reent *r, struct tms *ptms)) { return -1; } - RTEMS_STUB(int, _unlink_r (struct _reent *r, const char *path)) { return -1; } - #if !(defined (REENTRANT_SYSCALLS_PROVIDED) || defined (NO_EXEC)) - /* cf. newlib/libc/reent/execr.c */ --RTEMS_STUB(int, _wait_r (struct _reent *r, int *)) { return -1; } -+RTEMS_STUB(int, _wait_r (struct _reent *r, int *status)) { return -1; } - #endif - RTEMS_STUB(_ssize_t, _write_r (struct _reent *r, int fd, const void *buf, size_t nbytes)) { return -1; } - -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/rtems/include/limits.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/rtems/include/limits.h ---- newlib-1.19.0.orig/newlib/libc/sys/rtems/include/limits.h 2008-11-17 23:05:12.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/rtems/include/limits.h 2011-05-17 07:25:06.795153792 +0200 -@@ -78,7 +78,13 @@ - * Invariant values - */ - -+#ifdef __SIZE_MAX__ -+#define SSIZE_MAX (__SIZE_MAX__ >> 1) -+#elif defined(__SIZEOF_SIZE_T__) && defined(__CHAR_BIT__) -+#define SSIZE_MAX ((1UL << (__SIZEOF_SIZE_T__ * __CHAR_BIT__ - 1)) - 1) -+#else /* historic fallback, wrong in most cases */ - #define SSIZE_MAX 32767 -+#endif - - /* - * Maximum Values -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/rtems/sys/dirent.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/rtems/sys/dirent.h ---- newlib-1.19.0.orig/newlib/libc/sys/rtems/sys/dirent.h 2010-07-06 17:23:27.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/rtems/sys/dirent.h 2011-05-17 07:25:06.795153792 +0200 -@@ -50,7 +50,7 @@ - - int scandir ( const char *dirname, - struct dirent *** namelist, -- int (*select)(struct dirent *), -+ int (*select)(const struct dirent *), - int (*dcomp)(const struct dirent **, const struct dirent **) - ); - -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/fstat.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/sysnecv850/fstat.c ---- newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/fstat.c 2000-02-17 20:39:50.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/sysnecv850/fstat.c 2011-05-17 07:25:06.795153792 +0200 -@@ -13,6 +13,5 @@ - _fstat (int file, - struct stat *st) - { -- st->st_mode = S_IFCHR; -- return 0; -+ return TRAP0 (SYS_fstat, file, st, 0); - } -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/Makefile.am newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/sysnecv850/Makefile.am ---- newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/Makefile.am 2010-09-09 16:54:24.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/sysnecv850/Makefile.am 2011-05-17 07:25:06.795153792 +0200 -@@ -16,7 +16,7 @@ - $(lpfx)open.o $(lpfx)pipe.o $(lpfx)read.o $(lpfx)link.o \ - $(lpfx)sbrk.o $(lpfx)stat.o $(lpfx)time.o $(lpfx)trap.o \ - $(lpfx)unlink.o $(lpfx)utime.o $(lpfx)wait.o $(lpfx)write.o \ -- $(lpfx)times.o $(lpfx)gettime.o -+ $(lpfx)times.o $(lpfx)gettime.o $(lpfx)rename.o - else - extra_objs = - endif -@@ -27,7 +27,7 @@ - execv.c execve.c fork.c fstat.c getpid.c isatty.c \ - kill.c lseek.c open.c pipe.c read.c link.c \ - sbrk.c stat.c time.c trap.S unlink.c utime.c wait.c write.c \ -- times.c gettime.c -+ times.c gettime.c rename.c - lib_a_SOURCES = - lib_a_DEPENDENCIES = $(extra_objs) - lib_a_CCASFLAGS = $(AM_CCASFLAGS) -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/Makefile.in newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/sysnecv850/Makefile.in ---- newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/Makefile.in 2010-09-09 16:54:24.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/sysnecv850/Makefile.in 2011-05-17 07:25:06.795153792 +0200 -@@ -65,7 +65,8 @@ - @MAY_SUPPLY_SYSCALLS_TRUE@ $(lpfx)time.o $(lpfx)trap.o \ - @MAY_SUPPLY_SYSCALLS_TRUE@ $(lpfx)unlink.o $(lpfx)utime.o \ - @MAY_SUPPLY_SYSCALLS_TRUE@ $(lpfx)wait.o $(lpfx)write.o \ --@MAY_SUPPLY_SYSCALLS_TRUE@ $(lpfx)times.o $(lpfx)gettime.o -+@MAY_SUPPLY_SYSCALLS_TRUE@ $(lpfx)times.o $(lpfx)gettime.o \ -+@MAY_SUPPLY_SYSCALLS_TRUE@ $(lpfx)rename.o - am_lib_a_OBJECTS = - lib_a_OBJECTS = $(am_lib_a_OBJECTS) - DEFAULT_INCLUDES = -I.@am__isrc@ -@@ -111,6 +112,7 @@ - MAKEINFO = @MAKEINFO@ - MKDIR_P = @MKDIR_P@ - NEWLIB_CFLAGS = @NEWLIB_CFLAGS@ -+NO_INCLUDE_LIST = @NO_INCLUDE_LIST@ - OBJEXT = @OBJEXT@ - PACKAGE = @PACKAGE@ - PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -@@ -194,7 +196,7 @@ - @MAY_SUPPLY_SYSCALLS_TRUE@ $(lpfx)open.o $(lpfx)pipe.o $(lpfx)read.o $(lpfx)link.o \ - @MAY_SUPPLY_SYSCALLS_TRUE@ $(lpfx)sbrk.o $(lpfx)stat.o $(lpfx)time.o $(lpfx)trap.o \ - @MAY_SUPPLY_SYSCALLS_TRUE@ $(lpfx)unlink.o $(lpfx)utime.o $(lpfx)wait.o $(lpfx)write.o \ --@MAY_SUPPLY_SYSCALLS_TRUE@ $(lpfx)times.o $(lpfx)gettime.o -+@MAY_SUPPLY_SYSCALLS_TRUE@ $(lpfx)times.o $(lpfx)gettime.o $(lpfx)rename.o - - lib_a_LIBADD = $(extra_objs) - EXTRA_lib_a_SOURCES = \ -@@ -202,7 +204,7 @@ - execv.c execve.c fork.c fstat.c getpid.c isatty.c \ - kill.c lseek.c open.c pipe.c read.c link.c \ - sbrk.c stat.c time.c trap.S unlink.c utime.c wait.c write.c \ -- times.c gettime.c -+ times.c gettime.c rename.c - - lib_a_SOURCES = - lib_a_DEPENDENCIES = $(extra_objs) -@@ -448,6 +450,12 @@ - lib_a-gettime.obj: gettime.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-gettime.obj `if test -f 'gettime.c'; then $(CYGPATH_W) 'gettime.c'; else $(CYGPATH_W) '$(srcdir)/gettime.c'; fi` - -+lib_a-rename.o: rename.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-rename.o `test -f 'rename.c' || echo '$(srcdir)/'`rename.c -+ -+lib_a-rename.obj: rename.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-rename.obj `if test -f 'rename.c'; then $(CYGPATH_W) 'rename.c'; else $(CYGPATH_W) '$(srcdir)/rename.c'; fi` -+ - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/rename.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/sysnecv850/rename.c ---- newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/rename.c 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/sysnecv850/rename.c 2011-05-17 07:25:06.795153792 +0200 -@@ -0,0 +1,17 @@ -+#include <_ansi.h> -+#include -+#include -+#include "sys/syscall.h" -+ -+int errno; -+ -+int __trap0 (int function, int p1, int p2, int p3); -+ -+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3)) -+ -+int -+rename (const char *oldpath, -+ const char *newpath) -+{ -+ return TRAP0 (SYS_rename, oldpath, newpath, 0); -+} -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/sys/syscall.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/sysnecv850/sys/syscall.h ---- newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/sys/syscall.h 2000-02-17 20:39:50.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/sysnecv850/sys/syscall.h 2011-05-17 07:25:06.796153807 +0200 -@@ -29,6 +29,7 @@ - #define SYS_execve 59 - #define SYS_times 43 - #define SYS_gettimeofday 116 -+#define SYS_rename 134 - - #define SYS_utime 201 /* not really a system call */ - #define SYS_wait 202 /* nor is this */ -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/trap.S newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/sysnecv850/trap.S ---- newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/trap.S 2000-02-17 20:39:50.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/sysnecv850/trap.S 2011-05-17 07:25:06.796153807 +0200 -@@ -2,9 +2,9 @@ - .global ___trap0 - ___trap0: - trap 31 -- tst r10,r10 -+ tst r11,r11 - bz .L0 - movhi hi(_errno),r0,r6 -- st.w r10,lo(_errno)[r6] -+ st.w r11,lo(_errno)[r6] - .L0: - jmp [r31] -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/unlink.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/sysnecv850/unlink.c ---- newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/unlink.c 2000-02-17 20:39:50.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/sys/sysnecv850/unlink.c 2011-05-17 07:25:06.796153807 +0200 -@@ -10,7 +10,7 @@ - #define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3)) - - int --_unlink () -+_unlink (const char *path) - { -- return -1; -+ return TRAP0 (SYS_unlink, path, 0, 0); - } -diff -Naur newlib-1.19.0.orig/newlib/libc/time/strptime.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/time/strptime.c ---- newlib-1.19.0.orig/newlib/libc/time/strptime.c 2010-01-22 14:03:42.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/time/strptime.c 2011-05-17 07:25:06.796153807 +0200 -@@ -40,6 +40,16 @@ - - #define _ctloc(x) (_CurrentTimeLocale->x) - -+static _CONST int _DAYS_BEFORE_MONTH[12] = -+{0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334}; -+ -+#define SET_MDAY 1 -+#define SET_MON 2 -+#define SET_YEAR 4 -+#define SET_WDAY 8 -+#define SET_YDAY 16 -+#define SET_YMD (SET_YEAR | SET_MON | SET_MDAY) -+ - /* - * tm_year is relative this year - */ -@@ -78,8 +88,8 @@ - { - int ret = 4; - -- for (; year > 1970; --year) -- ret = (ret + 365 + is_leap_year (year) ? 1 : 0) % 7; -+ while (--year >= 1970) -+ ret = (ret + 365 + is_leap_year (year)) % 7; - return ret; - } - -@@ -147,6 +157,7 @@ - struct tm *timeptr) - { - char c; -+ int ymd = 0; - - struct lc_time_T *_CurrentTimeLocale = __get_current_time_locale (); - for (; (c = *format) != '\0'; ++format) { -@@ -166,18 +177,21 @@ - if (ret < 0) - return NULL; - timeptr->tm_wday = ret; -+ ymd |= SET_WDAY; - break; - case 'a' : - ret = match_string (&buf, _ctloc (wday)); - if (ret < 0) - return NULL; - timeptr->tm_wday = ret; -+ ymd |= SET_WDAY; - break; - case 'B' : - ret = match_string (&buf, _ctloc (month)); - if (ret < 0) - return NULL; - timeptr->tm_mon = ret; -+ ymd |= SET_MON; - break; - case 'b' : - case 'h' : -@@ -185,6 +199,7 @@ - if (ret < 0) - return NULL; - timeptr->tm_mon = ret; -+ ymd |= SET_MON; - break; - case 'C' : - ret = strtol (buf, &s, 10); -@@ -192,18 +207,21 @@ - return NULL; - timeptr->tm_year = (ret * 100) - tm_year_base; - buf = s; -+ ymd |= SET_YEAR; - break; - case 'c' : /* %a %b %e %H:%M:%S %Y */ - s = strptime (buf, _ctloc (c_fmt), timeptr); - if (s == NULL) - return NULL; - buf = s; -+ ymd |= SET_WDAY | SET_YMD; - break; - case 'D' : /* %m/%d/%y */ - s = strptime (buf, "%m/%d/%y", timeptr); - if (s == NULL) - return NULL; - buf = s; -+ ymd |= SET_YMD; - break; - case 'd' : - case 'e' : -@@ -212,6 +230,7 @@ - return NULL; - timeptr->tm_mday = ret; - buf = s; -+ ymd |= SET_MDAY; - break; - case 'H' : - case 'k' : -@@ -238,6 +257,7 @@ - return NULL; - timeptr->tm_yday = ret - 1; - buf = s; -+ ymd |= SET_YDAY; - break; - case 'm' : - ret = strtol (buf, &s, 10); -@@ -245,6 +265,7 @@ - return NULL; - timeptr->tm_mon = ret - 1; - buf = s; -+ ymd |= SET_MON; - break; - case 'M' : - ret = strtol (buf, &s, 10); -@@ -306,6 +327,7 @@ - return NULL; - timeptr->tm_wday = ret - 1; - buf = s; -+ ymd |= SET_WDAY; - break; - case 'w' : - ret = strtol (buf, &s, 10); -@@ -313,6 +335,7 @@ - return NULL; - timeptr->tm_wday = ret; - buf = s; -+ ymd |= SET_WDAY; - break; - case 'U' : - ret = strtol (buf, &s, 10); -@@ -320,6 +343,7 @@ - return NULL; - set_week_number_sun (timeptr, ret); - buf = s; -+ ymd |= SET_YDAY; - break; - case 'V' : - ret = strtol (buf, &s, 10); -@@ -327,6 +351,7 @@ - return NULL; - set_week_number_mon4 (timeptr, ret); - buf = s; -+ ymd |= SET_YDAY; - break; - case 'W' : - ret = strtol (buf, &s, 10); -@@ -334,12 +359,14 @@ - return NULL; - set_week_number_mon (timeptr, ret); - buf = s; -+ ymd |= SET_YDAY; - break; - case 'x' : - s = strptime (buf, _ctloc (x_fmt), timeptr); - if (s == NULL) - return NULL; - buf = s; -+ ymd |= SET_YMD; - break; - case 'X' : - s = strptime (buf, _ctloc (X_fmt), timeptr); -@@ -356,6 +383,7 @@ - else - timeptr->tm_year = ret; - buf = s; -+ ymd |= SET_YEAR; - break; - case 'Y' : - ret = strtol (buf, &s, 10); -@@ -363,6 +391,7 @@ - return NULL; - timeptr->tm_year = ret - tm_year_base; - buf = s; -+ ymd |= SET_YEAR; - break; - case 'Z' : - /* Unsupported. Just ignore. */ -@@ -390,6 +419,58 @@ - return NULL; - } - } -+ -+ if ((ymd & SET_YMD) == SET_YMD) { -+ /* all of tm_year, tm_mon and tm_mday, but... */ -+ -+ if (!(ymd & SET_YDAY)) { -+ /* ...not tm_yday, so fill it in */ -+ timeptr->tm_yday = _DAYS_BEFORE_MONTH[timeptr->tm_mon] -+ + timeptr->tm_mday; -+ if (!is_leap_year (timeptr->tm_year + tm_year_base) -+ || timeptr->tm_mon < 2) -+ { -+ timeptr->tm_yday--; -+ } -+ ymd |= SET_YDAY; -+ } -+ } -+ else if ((ymd & (SET_YEAR | SET_YDAY)) == (SET_YEAR | SET_YDAY)) { -+ /* both of tm_year and tm_yday, but... */ -+ -+ if (!(ymd & SET_MON)) { -+ /* ...not tm_mon, so fill it in, and/or... */ -+ if (timeptr->tm_yday < _DAYS_BEFORE_MONTH[1]) -+ timeptr->tm_mon = 0; -+ else { -+ int leap = is_leap_year (timeptr->tm_year + tm_year_base); -+ int i; -+ for (i = 2; i < 12; ++i) { -+ if (timeptr->tm_yday < _DAYS_BEFORE_MONTH[i] + leap) -+ break; -+ } -+ timeptr->tm_mon = i - 1; -+ } -+ } -+ -+ if (!(ymd & SET_MDAY)) { -+ /* ...not tm_mday, so fill it in */ -+ timeptr->tm_mday = timeptr->tm_yday -+ - _DAYS_BEFORE_MONTH[timeptr->tm_mon]; -+ if (!is_leap_year (timeptr->tm_year + tm_year_base) -+ || timeptr->tm_mon < 2) -+ { -+ timeptr->tm_mday++; -+ } -+ } -+ } -+ -+ if ((ymd & (SET_YEAR | SET_YDAY | SET_WDAY)) == (SET_YEAR | SET_YDAY)) { -+ /* fill in tm_wday */ -+ int fday = first_day (timeptr->tm_year + tm_year_base); -+ timeptr->tm_wday = (fday + timeptr->tm_yday) % 7; -+ } -+ - return (char *)buf; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/xdr/xdr.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/xdr/xdr.c ---- newlib-1.19.0.orig/newlib/libc/xdr/xdr.c 2010-03-02 13:05:18.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/xdr/xdr.c 2011-05-17 07:25:06.796153807 +0200 -@@ -113,7 +113,7 @@ - #elif INT_MAX == LONG_MAX - return xdr_long (xdrs, (long *) ip); - #else --# error Unexpeced integer sizes in xdr_int() -+# error Unexpected integer sizes in xdr_int() - #endif - } - -@@ -148,7 +148,7 @@ - #elif UINT_MAX == ULONG_MAX - return xdr_u_long (xdrs, (u_long *) up); - #else --# error Unexpeced integer sizes in xdr_int() -+# error Unexpected integer sizes in xdr_int() - #endif - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/xdr/xdr_private.h newlib-1.19.0-rtems4.11-20110517/newlib/libc/xdr/xdr_private.h ---- newlib-1.19.0.orig/newlib/libc/xdr/xdr_private.h 2010-03-02 13:05:18.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/xdr/xdr_private.h 2011-05-17 07:25:06.797153822 +0200 -@@ -25,6 +25,7 @@ - - #include <_ansi.h> - #include -+#include - #include - - /* avoid including stdio header here */ -diff -Naur newlib-1.19.0.orig/newlib/libc/xdr/xdr_rec.c newlib-1.19.0-rtems4.11-20110517/newlib/libc/xdr/xdr_rec.c ---- newlib-1.19.0.orig/newlib/libc/xdr/xdr_rec.c 2010-03-02 13:05:18.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libc/xdr/xdr_rec.c 2011-05-17 07:25:06.797153822 +0200 -@@ -51,6 +51,7 @@ - #include - #include - #include -+#include - - #include - #include -diff -Naur newlib-1.19.0.orig/newlib/libm/common/modfl.c newlib-1.19.0-rtems4.11-20110517/newlib/libm/common/modfl.c ---- newlib-1.19.0.orig/newlib/libm/common/modfl.c 2009-04-18 00:15:43.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libm/common/modfl.c 2011-05-17 07:25:06.797153822 +0200 -@@ -36,7 +36,7 @@ - long double - modfl (long double x, long double *iptr) - { -- return modf(x, iptr); -+ return modf(x, (double*) iptr); - } - #endif - -diff -Naur newlib-1.19.0.orig/newlib/libm/common/s_round.c newlib-1.19.0-rtems4.11-20110517/newlib/libm/common/s_round.c ---- newlib-1.19.0.orig/newlib/libm/common/s_round.c 2009-03-25 20:13:01.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libm/common/s_round.c 2011-05-17 07:25:06.797153822 +0200 -@@ -68,7 +68,7 @@ - msw &= 0x80000000; - if (exponent_less_1023 == -1) - /* Result is +1.0 or -1.0. */ -- msw |= (1023 << 20); -+ msw |= ((__int32_t)1023 << 20); - lsw = 0; - } - else -diff -Naur newlib-1.19.0.orig/newlib/libm/complex/cproj.c newlib-1.19.0-rtems4.11-20110517/newlib/libm/complex/cproj.c ---- newlib-1.19.0.orig/newlib/libm/complex/cproj.c 2010-10-19 00:40:24.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libm/complex/cproj.c 2011-05-17 07:25:06.797153822 +0200 -@@ -93,7 +93,7 @@ - { - double_complex w = { .z = z }; - -- if (isinf(creal(z) || isinf(cimag(z)))) { -+ if (isinf(creal(z)) || isinf(cimag(z))) { - #ifdef __INFINITY - REAL_PART(w) = __INFINITY; - #else -diff -Naur newlib-1.19.0.orig/newlib/libm/complex/cprojf.c newlib-1.19.0-rtems4.11-20110517/newlib/libm/complex/cprojf.c ---- newlib-1.19.0.orig/newlib/libm/complex/cprojf.c 2010-10-08 12:35:14.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libm/complex/cprojf.c 2011-05-17 07:25:06.798153837 +0200 -@@ -55,7 +55,7 @@ - { - float_complex w = { .z = z }; - -- if (isinf(crealf(z) || isinf(cimagf(z)))) { -+ if (isinf(crealf(z)) || isinf(cimagf(z))) { - #ifdef __INFINITY - REAL_PART(w) = __INFINITY; - #else -diff -Naur newlib-1.19.0.orig/newlib/libm/math/e_scalb.c newlib-1.19.0-rtems4.11-20110517/newlib/libm/math/e_scalb.c ---- newlib-1.19.0.orig/newlib/libm/math/e_scalb.c 2000-02-17 20:39:51.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libm/math/e_scalb.c 2011-05-17 07:25:06.798153837 +0200 -@@ -17,6 +17,7 @@ - * should use scalbn() instead. - */ - -+#include - #include "fdlibm.h" - - #ifndef _DOUBLE_IS_32BITS -@@ -46,8 +47,17 @@ - else return x/(-fn); - } - if (rint(fn)!=fn) return (fn-fn)/(fn-fn); -+#if (INT_MAX < 65000) -+ if ( fn > (double) INT_MAX) return scalbn(x, INT_MAX); -+#else - if ( fn > 65000.0) return scalbn(x, 65000); -- if (-fn > 65000.0) return scalbn(x,-65000); -+#endif -+ -+#if (INT_MIN > -65000) -+ if (fn < (double) INT_MIN) return scalbn(x,INT_MIN); -+#else -+ if (fn < -65000.0) return scalbn(x,-65000); -+#endif - return scalbn(x,(int)fn); - #endif - } -diff -Naur newlib-1.19.0.orig/newlib/libm/math/wf_tgamma.c newlib-1.19.0-rtems4.11-20110517/newlib/libm/math/wf_tgamma.c ---- newlib-1.19.0.orig/newlib/libm/math/wf_tgamma.c 2007-09-04 19:33:10.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libm/math/wf_tgamma.c 2011-05-17 07:25:06.798153837 +0200 -@@ -43,3 +43,17 @@ - return y; - #endif - } -+ -+#ifdef _DOUBLE_IS_32BITS -+ -+#ifdef __STDC__ -+ double tgamma(double x) -+#else -+ double tgamma(x) -+ double x; -+#endif -+{ -+ return (double) tgammaf((float) x); -+} -+ -+#endif /* defined(_DOUBLE_IS_32BITS) */ -diff -Naur newlib-1.19.0.orig/newlib/libm/math/w_tgamma.c newlib-1.19.0-rtems4.11-20110517/newlib/libm/math/w_tgamma.c ---- newlib-1.19.0.orig/newlib/libm/math/w_tgamma.c 2002-06-07 23:59:56.000000000 +0200 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/libm/math/w_tgamma.c 2011-05-17 07:25:06.798153837 +0200 -@@ -17,6 +17,8 @@ - - #include "fdlibm.h" - -+#ifndef _DOUBLE_IS_32BITS -+ - #ifdef __STDC__ - double tgamma(double x) - #else -@@ -42,3 +44,5 @@ - return y; - #endif - } -+ -+#endif /* defined(_DOUBLE_IS_32BITS) */ -diff -Naur newlib-1.19.0.orig/newlib/MAINTAINERS newlib-1.19.0-rtems4.11-20110517/newlib/MAINTAINERS ---- newlib-1.19.0.orig/newlib/MAINTAINERS 2010-12-16 22:58:38.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/MAINTAINERS 2011-05-17 07:25:06.765153334 +0200 -@@ -6,7 +6,7 @@ - The official maintainers of newlib: - - Jeff Johnston jjohnstn@redhat.com --Corinna Vinschen corinna@vinchen.de -+Corinna Vinschen corinna@vinschen.de - - - Various Domain Maintainers -diff -Naur newlib-1.19.0.orig/newlib/Makefile.am newlib-1.19.0-rtems4.11-20110517/newlib/Makefile.am ---- newlib-1.19.0.orig/newlib/Makefile.am 2010-12-16 22:58:38.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/Makefile.am 2011-05-17 07:25:06.765153334 +0200 -@@ -81,7 +81,7 @@ - libc.a - endif - --noinst_DATA = stmp-targ-include -+BUILT_SOURCES = stmp-targ-include - - toollib_DATA = $(CRT0) $(CRT1) - -@@ -255,7 +255,7 @@ - done - touch $@ - --CLEANFILES = targ-include stmp-targ-include -+CLEANFILES = stmp-targ-include - - install-data-local: install-toollibLIBRARIES - if USE_LIBTOOL -@@ -279,10 +279,6 @@ - $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/machine/`basename $$i`; \ - else true; fi ; \ - done; \ -- $(mkinstalldirs) $(DESTDIR)$(tooldir)/include/rpc; \ -- for i in $(srcdir)/libc/include/rpc/*.h; do \ -- $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/rpc/`basename $$i`; \ -- done; \ - $(mkinstalldirs) $(DESTDIR)$(tooldir)/include/sys; \ - for i in $(srcdir)/libc/include/sys/*.h; do \ - $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/sys/`basename $$i`; \ -@@ -430,3 +426,6 @@ - else \ - echo "WARNING: could not find \`runtest'" 1>&2 ; \ - fi -+ -+clean-local: -+ -rm -rf targ-include -diff -Naur newlib-1.19.0.orig/newlib/Makefile.in newlib-1.19.0-rtems4.11-20110517/newlib/Makefile.in ---- newlib-1.19.0.orig/newlib/Makefile.in 2010-12-16 22:58:38.000000000 +0100 -+++ newlib-1.19.0-rtems4.11-20110517/newlib/Makefile.in 2011-05-17 07:25:06.766153351 +0200 -@@ -122,7 +122,7 @@ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive --DATA = $(noinst_DATA) $(toollib_DATA) -+DATA = $(toollib_DATA) - RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive - AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ -@@ -351,7 +351,7 @@ - @USE_LIBTOOL_FALSE@toollib_LIBRARIES = libm.a \ - @USE_LIBTOOL_FALSE@ libc.a - --noinst_DATA = stmp-targ-include -+BUILT_SOURCES = stmp-targ-include - toollib_DATA = $(CRT0) $(CRT1) - - # The functions ldexp, frexp and modf are traditionally supplied in -@@ -405,13 +405,13 @@ - @USE_LIBTOOL_TRUE@libm_la_DEPENDENCIES = libm-libtool-objectlist - @USE_LIBTOOL_TRUE@libc_la_SOURCES = - @USE_LIBTOOL_TRUE@libc_la_DEPENDENCIES = libc-libtool-objectlist --CLEANFILES = targ-include stmp-targ-include -+CLEANFILES = stmp-targ-include - CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host - MAKEOVERRIDES = - - # dejagnu support - RUNTESTFLAGS = --all: newlib.h -+all: $(BUILT_SOURCES) newlib.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - - .SUFFIXES: -@@ -725,14 +725,16 @@ - done - check-am: - $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU --check: check-recursive -+check: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) check-recursive - all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA) newlib.h - installdirs: installdirs-recursive - installdirs-am: - for dir in "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done --install: install-recursive -+install: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) install-recursive - install-exec: install-exec-recursive - install-data: install-data-recursive - uninstall: uninstall-recursive -@@ -758,10 +760,11 @@ - 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 \ -- clean-toollibLTLIBRARIES mostlyclean-am -+clean-am: clean-generic clean-libtool clean-local \ -+ clean-toollibLIBRARIES clean-toollibLTLIBRARIES mostlyclean-am - - distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) -@@ -833,12 +836,13 @@ - uninstall-am: uninstall-toollibDATA uninstall-toollibLIBRARIES \ - uninstall-toollibLTLIBRARIES - --.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check-am \ -- ctags-recursive install-am install-strip tags-recursive -+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ -+ check-am ctags-recursive install install-am install-strip \ -+ tags-recursive - - .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am am--refresh check check-DEJAGNU check-am clean \ -- clean-generic clean-libtool clean-toollibLIBRARIES \ -+ clean-generic clean-libtool clean-local clean-toollibLIBRARIES \ - clean-toollibLTLIBRARIES ctags ctags-recursive distclean \ - distclean-DEJAGNU distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags dvi dvi-am html \ -@@ -985,10 +989,6 @@ - $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/machine/`basename $$i`; \ - else true; fi ; \ - done; \ -- $(mkinstalldirs) $(DESTDIR)$(tooldir)/include/rpc; \ -- for i in $(srcdir)/libc/include/rpc/*.h; do \ -- $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/rpc/`basename $$i`; \ -- done; \ - $(mkinstalldirs) $(DESTDIR)$(tooldir)/include/sys; \ - for i in $(srcdir)/libc/include/sys/*.h; do \ - $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/sys/`basename $$i`; \ -@@ -1129,6 +1129,9 @@ - echo "WARNING: could not find \`runtest'" 1>&2 ; \ - fi - -+clean-local: -+ -rm -rf targ-include -+ - # Tell versions [3.59,3.63) of GNU make to not export all variables. - # Otherwise a system limit (for SysV at least) may be exceeded. - .NOEXPORT: diff --git a/contrib/crossrpms/patches/newlib-1.19.0-rtems4.11-20110720.diff b/contrib/crossrpms/patches/newlib-1.19.0-rtems4.11-20110720.diff deleted file mode 100644 index 8e1ee6c13c..0000000000 --- a/contrib/crossrpms/patches/newlib-1.19.0-rtems4.11-20110720.diff +++ /dev/null @@ -1,5923 +0,0 @@ -diff -Naur newlib-1.19.0.orig/newlib/ChangeLog newlib-1.19.0/newlib/ChangeLog ---- newlib-1.19.0.orig/newlib/ChangeLog 2010-12-16 22:58:38.000000000 +0100 -+++ newlib-1.19.0/newlib/ChangeLog 2011-07-20 05:54:59.229258797 +0200 -@@ -1,3 +1,381 @@ -+2011-07-19 Yaakov Selkowitz -+ -+ * libc/include/sys/unistd.h (_CS_XBS5_WIDTH_RESTRICTED_ENVS): Define. -+ (_CS_V6_ENV): Fix definition. -+ -+2011-07-19 Ralf Corsépius -+ -+ * libc/locale/lmessages.c (_C_messages_locale): -+ Move __HAVE_LOCALE_INFO_EXTENDED__ before codeset. -+ -+2011-07-19 Matt Johnson -+ -+ * libc/reent/sbrkr.c: Define _sbrk_r independently of the definition -+ of MALLOC_PROVIDED. -+ -+2011-07-15 Yufeng Zhang -+ -+ * libc/stdio/vfwprintf.c (wcvt): Add a new parameter len of type -+ int. *length is set to the value of (rev - digits) regardless -+ of whether _MB_CAPABLE is defined or not. Replace BUF with len -+ in calling _mbsnrtowcs_r and also in the loop where _MB_CAPABLE -+ is not defined. -+ (_VFWPRINTF_R): Call wcvt with an extra argument. Call wcvt -+ again with allocated new buffer if buf is not large enough for -+ the conversion. -+ * testsuite/newlib.stdio/stdio.exp: New. -+ * testsuite/newlib.stdio/swprintf.c: Likewise. -+ -+2011-07-15 Matt Johnson -+ -+ * libc/stdio/fscanf.c (fscanf): Call _vfscanf_r instead of __svfscanf_r -+ to make sure CHECK_INIT is called. -+ (_fscanf_r): Ditto. -+ * /libc/stdio/scanf.c (scanf): Ditto. -+ (_scanf_r): Ditto. -+ * libc/stdio/fwscanf.c (fwscanf): Call _vfwscanf_r instead of -+ __svfwscanf_r to make sure CHECK_INIT is called. -+ (_fwscanf_r): Ditto. -+ * libc/stdio/wscanf.c (wscanf): Ditto. -+ (_wscanf_r): Ditto. -+ -+2011-07-13 Hans-Peter Nilsson -+ -+ * libm/complex/cacos.c: Use temporaries and correct sequencing -+ error in previous reordering change. -+ -+2011-06-25 Andreas Becker -+ -+ * libc/time/mktime.c (mktime): Lock global timezone info while -+ accessing it. -+ -+2011-06-14 Philip Munts -+ -+ * libc/time/asctime_r.c (asctime_r): Replace call to sprintf with call -+ to siprintf. -+ * libc/time/strftime.c: Define snprintf to sniprintf in multibyte case. -+ * libc/time/tzset_r.c: Define sscanf to siscanf. -+ -+2011-06-14 Joseph Myers -+ -+ * configure.host: Don't handle ep9312, strongarm, xscale and thumb -+ target names. -+ * libc/machine/configure.in: Don't handle xscale target names. -+ * libc/machine/configure: Regenerate. -+ -+2011-06-14 Craig Howland -+ -+ * libc/time/tzset_r.c (tzset_r): Correct behavior for changing from -+ non-GMT to GMT, when un-setting TZ. Set _timezone and _daylight even -+ if no DST is given in TZ. -+ -+2011-06-13 Eric Blake -+ -+ * libc/stdio/wsetup.c (__swsetup_r): Set errno on failure. -+ * libc/stdio/fvwrite.c (__sfvwrite_r): Simplify. -+ * libc/stdio/wbuf.c (__swbuf_r): Likewise. -+ * libc/stdio/local.h (cantwrite): Adjust comment. -+ -+2011-06-09 Yaakov Selkowitz -+ -+ * libc/include/string.h (strdupa): New macro function. -+ (strndupa): New macro function. -+ -+2011-05-27 Nick Clifton -+ -+ * libc/sys/sysnecv850/sbrk.c (_sbrk): Tidy code. -+ Base start of heap on the "heap_start" symbol. -+ -+2011-05-25 Eric Blake -+ -+ * libc/string/strerror.c (_strerror_r): Report "Success" for 0. -+ -+2011-05-25 Eric Blake -+ -+ * libc/string/strerror.c (strerror): Split body into... -+ (_strerror_r): ...new reentrant function. -+ * libc/string/u_strerr.c (_user_strerror): Update signature. -+ * libc/include/string.h (_strerror_r): New prototype. -+ * libc/posix/collate.c (__collate_err): Adjust callers. -+ * libc/stdio/perror.c (_perror_r): Likewise. -+ * libc/string/strerror_r.c (strerror_r): Likewise. -+ * libc/string/xpg_strerror_r.c (__xpg_strerror_r): Likewise. -+ -+2011-05-19 Yaakov Selkowitz -+ -+ * libc/include/stdio_ext.h: New header. -+ * libc/stdio/fpurge.c [!__rtems__] (__fpurge): New function. -+ -+2011-05-19 Matthew Gretton-Dann -+ -+ * Makefile.am (install-data-local): Fix condition and rm call. -+ * Makefile.in: Regenerate. -+ -+2011-05-16 Yaakov Selkowitz -+ -+ * libc/include/time.h (CLOCK_PROCESS_CPUTIME_ID): Rename from -+ CLOCK_PROCESS_CPUTIME. -+ (CLOCK_THREAD_CPUTIME_ID): Rename from CLOCK_THREAD_CPUTIME. -+ * libc/include/sys/features.h [__CYGWIN__] (_POSIX_CPUTIME): Define. -+ (_POSIX_THREAD_CPUTIME): Define. -+ -+2011-05-16 Christian Bruel -+ -+ * libc/stdlib/strtod.c (_strtod_r): Fix nf/nd counts to not exceed -+ DBL_DIG. -+ -+2011-05-15 Corinna Vinschen -+ -+ * libc/include/sys/features.h (_POSIX_THREAD_ATTR_STACKADDR): Define -+ to 200112L for Cygwin. -+ -+2011-05-12 Peter Rosin -+ -+ * libc/time/strptime.c (strptime): Fill in tm_yday when all of tm_year, -+ tm_mon and tm_mday are updated. Fill in tm_mon, tm_mday and tm_wday -+ when both of tm_year and tm_yday are updated. -+ -+2011-05-12 Peter Rosin -+ -+ * libc/time/strptime.c (first_day): Actually return the wday -+ of the first day of the year. -+ -+2011-05-10 Corinna Vinschen -+ -+ * libc/locale/lmessages.c (_C_messages_locale): Add missing comma. -+ -+2011-05-04 Yaakov Selkowitz -+ -+ * libc/include/signal.h (psignal): Declare. -+ * libc/sys/linux/psignal.c: Move from here... -+ * libc/signal/psignal.c: ... to here. Document. -+ * libc/sys/linux/Makefile.am (GENERAL_SOURCES): Move psignal.c from here... -+ * libc/signal/Makefile.am (LIB_SOURCES): ... to here. -+ (CHEWOUT_FILES): Add psignal.def. -+ * libc/sys/linux/Makefile.in: Regenerate. -+ * libc/signal/Makefile.in: Ditto. -+ * libc/signal/signal.tex: Add references to psignal. -+ -+2011-05-04 Corinna Vinschen -+ -+ * libc/locale/lmessages.h (__messages_load_locale): Declare. Remove -+ accidental declaration of __numeric_load_locale. -+ * libc/locale/locale.c: Include timelocal.h to get declaration of -+ __time_load_locale. -+ (__set_locale_from_locale_alias): Fix return type. -+ (__locale_msgcharset): Avoid compiler warnings. -+ (_localeconv_r): Ditto. -+ -+2011-05-04 Andy Koppe -+ -+ * libc/locale/locale.c (current_categories): On Cygwin, set LC_CTYPE -+ to C.UTF-8 to match initial __wctomb and __mbtowc settings. -+ (lc_ctype_charset): On Cygwin, initialize to "UTF-8". -+ (loadlocale): Remove unused Cygwin-specifc code. -+ -+2011-05-02 Yaakov Selkowitz -+ -+ * libc/include/sys/features.h [__CYGWIN__] (_POSIX_SPIN_LOCKS): Define. -+ * libc/include/sys/types.h: Cygwin provides its own pthread_spinlock_t -+ typedef. -+ -+2011-04-20 Ralf Corsépius -+ -+ * libc/sys/rtems/include/limits.h: Compute SSIZE_MAX on __SIZE_MAX__. -+ -+2011-04-19 Ralf Corsépius -+ -+ * libc/include/stdint.h: Rework SIZE_MAX. -+ * libc/sys/rtems/include/limits.h: Rework SSIZE_MAX. -+ -+2011-04-19 Corinna Vinschen -+ -+ * libc/include/sys/signal.h (_sig_func_ptr): Define with int parameter -+ per POSIX. Explain in comment. -+ -+2011-04-15 Eric Blake -+ -+ * libc/string/strchrnul.c (strchrnul): Fix strchrnul. -+ -+2011-03-27 Yaakov Selkowitz -+ -+ * libc/include/string.h (strchrnul): Declare. -+ * libc/string/strchrnul.c: New file. -+ * libc/string/Makefile.am (ELIX_2_SOURCES): Add strchrnul.c. -+ * libc/string/Makefile.in: Regenerate. -+ -+2011-03-23 Ralf Corsépius -+ -+ * libc/sys/rtems/sys/dirent.h: Add const to "select" parameter. -+ -+2011-03-23 Nick Clifton -+ -+ * libc/machine/frv/setjmp.S: Fix typo in .size directive. -+ -+2011-03-21 Kevin Buettner -+ -+ * libc/sys/sysnecv850/trap.S (___trap0): Fix errno handling. -+ * libc/sys/sysnecv850/rename.c: New file. -+ * libc/sys/sysnecv850/Makefile.am (lib_a_SOURCES): Add rename.c -+ * libc/sys/sysnecv850/Makefile.in: Regenerate. -+ * libc/sys/sysnecv850/fstat.c (_fstat): Invoke trap for SYS_fstat. -+ * libc/sys/sysnecv850/unlink.c (_unlink): Invoke trap for SYS_unlink. -+ -+2011-03-03 Corinna Vinschen -+ -+ * libc/include/string.h: Include sys/cdefs.h. -+ -+2011-03-03 Corinna Vinschen -+ -+ * libc/include/sys/cdefs.h (__CONCAT1): Define. -+ (__CONCAT): Define. -+ (__STRING): Define. -+ (__XSTRING): Define. -+ (__ASMNAME): Define. -+ * libc/include/string.h (strerror_r): Use __ASMNAME to take target -+ specific label prefixes into account. -+ -+2011-03-01 Aaron Landwehr -+ -+ * libm/complex/cproj.c: Fix typo. -+ * libm/complex/cprojf.c: Ditto. -+ -+2011-02-22 Corinna Vinschen -+ -+ * libc/stdio/fmemopen.c (fmemopen): Fix EINVAL condition. Avoid SEGV -+ if incoming buffer is NULL. -+ -+2011-02-09 Eric Blake -+ -+ * libc/include/string.h (strerror_r): Update declaration. -+ * libc/string/strerror.c (strerror): Update documentation. -+ * libc/string/strerror_r.c (strerror_r): Always return -+ NUL-terminated string; don't overwrite too-short buf. -+ * libc/string/xpg_strerror_r.c (__xpg_strerror_r): Implement POSIX -+ variant. -+ * libc/string/Makefile.am (GENERAL_SOURCES): Build new file. -+ * libc/string/Makefile.in: Regenerate. -+ -+2011-02-07 Ralf Corsépius -+ -+ * libc/include/stdlib.h: More ansi-compliance. -+ -+2011-02-01 Ralf Corsépius -+ -+ * libc/include/stdio.h: More ansi-compliance. -+ -+ * libc/include/stdlib.h: Remove atoff. -+ * libc/stdlib/atoff.c: Remove. -+ * libc/stdlib/atof.c: Remove atoff. -+ * libc/stdlib/Makefile.am: Remove atoff. -+ * libc/stdlib/Makefile.in: Regenerate. -+ -+ * libc/include/stdio.h: Make fdopen accessible to c99. -+ -+2011-01-31 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Add clock_gettime, gettimeofday, -+ sched_yield. -+ -+2011-01-28 Corinna Vinschen -+ -+ * libc/stdio/fclose.c: Only use sfp lock to guard non-atomic -+ changes of flags and fp lock. -+ * libc/stdio/freopen.c: Ditto. -+ * libc/stdio64/freopen64.c: Ditto. -+ * libc/stdio/fgetc.c: Revert change from 2009-04-24, remove sfp locks -+ which guard entire function to avoid potential deadlocks when using -+ stdio functions in multiple thraeds. -+ * libc/stdio/fgets.c: Ditto. -+ * libc/stdio/fgetwc.c: Ditto. -+ * libc/stdio/fgetws.c: Ditto. -+ * libc/stdio/fread.c: Ditto. -+ * libc/stdio/fseek.c: Ditto. -+ * libc/stdio/getc.c: Ditto. -+ * libc/stdio/getdelim.c: Ditto. -+ * libc/stdio/gets.c: Ditto. -+ * libc/stdio/vfscanf.c: Ditto. -+ * libc/stdio/vfwscanf.c: Ditto. -+ -+ * libc/stdio/fflush.c (_fflush_r): Split out core functionality into -+ new function __sflush_r. Just lock file and call __sflush_r from here. -+ * libc/stdio/fwalk.c (_fwalk): Remove static helper function and move -+ functionality back into main function. Don't walk a file with flags -+ value of 1. Add comment. -+ (_fwalk_reent): Ditto. -+ * libc/stdio/local.h (__sflush_r): Declare. -+ * libc/stdio/refill.c (__srefill): Before calling fwalk, set flags -+ value to 1 so this file pointer isn't walked. Revert flags afterwards -+ and call __sflush_r for this fp if necessary. Add comments. -+ -+2011-01-27 Corinna Vinschen -+ -+ * libc/include/sys/features.h: Define __STDC_ISO_10646__ for Cygwin. -+ * libc/include/wchar.h: Include features.h. -+ -+2011-01-15 Yaakov Selkowitz -+ -+ * libc/include/sys/types.h (ulong): Add typedef. -+ -+2011-01-12 Ralf Corsépius -+ -+ * libm/math/w_tgamma.c: Only build ifndef _DOUBLE_IS_32BITS. -+ * libm/math/wf_tgamma.c: Map tgamma to tgammaf, ifdef _DOUBLE_IS_32BITS. -+ -+2011-01-11 Ralf Corsépius -+ -+ * libc/include/string.h: Remove Cygwin DEFS_H kludge. -+ -+2011-01-10 Corinna Vinschen -+ -+ * libc/machine/mips/strlen.c (strlen): Add delay slot for R3000. -+ -+2011-01-10 Joel Sherrill -+ -+ * libc/include/string.h: Make strsignal() available unconditionally. -+ -+2011-01-07 Ralf Corsépius -+ -+ * libc/sys/rtems/crt0.c: Adjust free() and calloc() to match their -+ public decls. -+ -+2011-01-05 Ralf Corsépius -+ -+ * Makefile.am: Move cleaning targ-include to clean-local. -+ * Makefile.in: Regenerate. -+ -+2011-01-05 Ralf Corsépius -+ -+ * libc/stdio/open_memstream.c (internal_open_memstream_r): -+ Don't limit c->max to 64*1024 on targets with SIZE_MAX < 64*1024. -+ -+2011-01-05 Ralf Corsépius -+ -+ * libc/xdr/xdr.c: Fix typos in #errors. -+ -+2011-01-05 Ralf Corsépius -+ -+ * libc/xdr/xdr_private.h: Include -+ * libc/xdr/xdr_rec.c: Include limits.h -+ -+2011-01-05 Ralf Corsépius -+ -+ * libc/Makefile.am (SUBDEFS): Remove redundant posix/stmp-def. -+ * libc/Makefile.in: Regenerate. -+ -+2011-01-05 Ralf Corsépius -+ -+ * libc/configure.in: Remove redundant posix_dir processing. -+ * libc/configure: Regenerate. -+ -+2011-01-04 Ralf Corsépius -+ -+ * doc/makedoc.c: Add cludge to make makedoc 64bit compliant. -+ -+2010-12-31 Ralf Corsépius -+ -+ * MAINTAINERS: Change corinna@vinchen.de to corinna@vinschen.de. -+ - 2010-12-16 Jeff Johnston - - * NEWS: Update with 1.19.0 info. -@@ -28,12 +406,12 @@ - - * libm/mathfp/sf_logarithm.c: Change isfinitef reference to isfinite. - --2010-12-08 Ralf Corsepius -+2010-12-08 Ralf Corsépius - - * include/sys/types.h: Add #if defined(__rtems__) around - pthread_attr_t.guardsize. - --2010-12-08 Joel Sherrill -+2010-12-08 Joel Sherrill - - * include/pthread.h: Add pthread_attr_setstack, pthread_attr_getstack, - pthread_attr_getguardsize, pthread_attr_setguardsize. -@@ -847,7 +1225,7 @@ - (__cp_index): Map invalid Windows codepage number 101 to - GEORGIAN-PS conversion array, 102 to PT154 conversion array. - --2010-02-06 Ralf Corsepius -+2010-02-06 Ralf Corsépius - - * libc/posix/telldir.c: Remove bogus nested prototype of lseek(). - -@@ -1005,6 +1383,18 @@ - * libc/include/sys/unistd.h (suboptarg, getsubopt): Move... - * libc/include/stdlib.h: ...here, to match POSIX for getsubopt. - -+2009-12-18 Ralf Corsépius -+ -+ * libc/search/db_local.h: -+ Use __uint32_t instead of u_int (prototype mismatches). -+ * libc/search/extern.h (__buf_init): -+ Use __uint32_t instead of int (16 bit target portability). -+ * libc/search/hash_buf.c: Use ptrdiff_t instead of __uint32_t, -+ use __uint32_t instead of int (16 bit target portability). -+ * libc/search/hash.h: Use __uint32_it instead of int -+ (16 bit target portability). -+ * libm/common/modfl.c: Add cast to (double*) to avoid GCC warning. -+ - 2009-12-17 Jeff Johnston - - * NEWS: Update with 1.18.0 info. -@@ -1048,17 +1438,17 @@ - * libc/stdlib/atexit.c: Ditto. - * libc/stdlib/on_exit.c: Ditto. - --2009-12-17 Ralf Corsépius -+2009-12-17 Ralf Corsépius - - * libc/include/machine/ieeefp.h: Rework __IEEE_*_ENDIAN handling. - * libc/machine/arm/machine/endian.h: Remove (Conflicts with - libc/include/machine/endian.h) - --2009-12-17 Ralf Corsépius -+2009-12-17 Ralf Corsépius - - * libc/include/machine/setjmp.h: Set up _JBLEN #ifdef __m68k__. - --2009-12-17 Ralf Corsepius -+2009-12-17 Ralf Corsépius - - * libc/include/pthread.h: Add pthread_atfork, pthread_rwlock_unlock - * libc/include/sys/stat.h: Use struct timespec st_*tim, -@@ -1076,11 +1466,11 @@ - and ETOOMANYREFS into general list as they are referenced - by OpenGroup and needed by RTEMS. - --2009-12-16 Ralf Corsépius -+2009-12-16 Ralf Corsépius - - * libc/search/hcreate.c: Don't include (Unused). - --2009-12-16 Ralf Corsépius -+2009-12-16 Ralf Corsépius - - * libc/sys/rtems/machine/_types.h: New (Derived from - machine/_default_types.h). -@@ -1204,6 +1594,18 @@ - rather check for return value of -1 and errno. Handle EINVAL - just like ESPIPE. Only set fp->_offset if errno is 0. - -+2009-10-29 Ralf Corsépius -+ -+ * libc/include/inttypes.h: -+ Rework logic to determine PRI*PTR. -+ Prefer long64 over longlong64. -+ * libc/include/machine/_default_types.h: -+ Sync logic for __int32 with stdint.h (Prefer long over int). -+ * libc/include/stdint.h: -+ Remove __SPU__ hack. -+ Prefer int for int16_t (sync with _default_types.h). -+ Rework intptr_t determination. -+ - 2009-10-27 Nick Clifton - - * MAINTAINERS (ARM): Add myself as an ARM maintainer. -@@ -1368,16 +1770,16 @@ - * libc/locale/locale.c: Drop Cygwin-specific windows.h include. - (loadlocale): Call __set_charset_from_codepage with 0 codepage. - --2009-09-22 Ralf Corsépius -+2009-09-22 Ralf Corsépius - - * libc/include/stdlib.h: Add posix_memalign. - --2009-09-22 Ralf Corsépius -+2009-09-22 Ralf Corsépius - - * configure.host (*-rtems*): Remove -DMISSING_SYSCALL_NAMES. - Add -DHAVE_BLKSIZE, -D_NO_WORDEXP -D_NO_POPEN. - --2009-09-22 Ralf Corsépius -+2009-09-22 Ralf Corsépius - - * configure.host (m32c): Move setting -DABORT_PROVIDED to second - "case $host". -@@ -2576,6 +2978,12 @@ - * libc/stdio/vfprintf.c: Ditto. - * libc/stdio/vswprintf.c: Ditto. - -+2009-03-09 Ralf Corsépius -+ -+ * libc/machine/powerpc/times.c: Remove. -+ * libc/machine/powerpc/Makefile.am: Remove times.c. -+ * libc/machine/powerpc/Makefile.in: Regenerate. -+ - 2009-03-09 Brooks Moses - - * libc/machine/arm/arm_asm.h: Fix typo. -@@ -2673,7 +3081,7 @@ - - * libc/machine/arm/strcpy.c: Add missing comma. - --2009-02-26 Ralf Corsepius -+2009-02-26 Ralf Corsépius - - * libc/machine/lm32/configure.in: Let - AC_CONFIG_SRCDIR point to setjmp.S instead of setjmp.s -@@ -2859,24 +3267,24 @@ - * libc/string/wcstrings.tex: Ditto. - * libc/string/Makefile.in: Regenerated. - --2008-12-12 Ralf Corsepius -+2008-12-12 Ralf Corsépius - - * libc/stdio/fputws.c: Fix documentation. - * libc/stdio/getwchar.c: Ditto. - * libc/stdio/putwchar.c: Ditto. - --2008-12-12 Ralf Corsepius -+2008-12-12 Ralf Corsépius - - * libc/include/sys/features.h: Set RTEMS's _POSIX_MONOTONIC_CLOCK to - 200112L (SUSv3 compliance). - Comment out RTEMS's _POSIX_SHARED_MEMORY_OBJECTS (Unsupported). - --2008-12-12 Ralf Corsepius -+2008-12-12 Ralf Corsépius - - * libc/sys/rtems/crt0.c: Add stubs for getdents(), nanosleep(), - _execve(), _exit(). - --2008-12-12 Ralf Corsepius -+2008-12-12 Ralf Corsépius - - * configure.host: Let *rtems* default to c99-formats. - -@@ -3026,7 +3434,7 @@ - . - * libc/sys/linux/io64.c: Add weak alias for _stat64. - --2008-11-27 Ralf Corsepius -+2008-11-27 Ralf Corsépius - - * libc/posix/telldir.c: Use #if !defined() instead of #ifndef - to fix GCC warning. -@@ -3198,17 +3606,17 @@ - * libc/unix/collate.c (__collate_err): simplify to remove unnecessary - strdup() and strlen() calls, also getting rid of a compiler warning. - --2008-11-19 Ralf Corsepius -+2008-11-19 Ralf Corsépius - - * libc/include/sys/config.h: Don't put - __ATTRIBUTE_IMPURE_PTR__ into .sdata section for mips-rtems. - --2008-11-19 Ralf Corsepius -+2008-11-19 Ralf Corsépius - - * libc/posix/runetype.h: Add include of stddef.h and remove - defining standard types: size_t and wchar_t. - --2008-11-19 Ralf Corsepius -+2008-11-19 Ralf Corsépius - - * libc/include/pthread.h: Remove prototypes for - pthread_attr_getcputime and pthread_attr_setcputime which -@@ -5263,7 +5671,7 @@ - * libc/machine/spu/sprintf.c: Ditto. - * libc/machine/spu/sscanf.c: Ditto. - --2007-08-03 Ralf Corsepius -+2007-08-03 Ralf Corsépius - - * libc/include/tar.h: New. - -@@ -6455,7 +6863,7 @@ - * libc/include/sys/unistd.h: Define all _SC_xxx values as - required by SUSv3. Unify formatting. - --2007-02-02 Ralf Corsépius -+2007-02-02 Ralf Corsépius - - * libc/include/sys/errno.h: Add ECANCELED. - -@@ -7248,7 +7656,7 @@ - * libc/include/sys/signal.h (sigdelset, sigfillset, sigismember): New macros. - (sigaddset, sigemptyset): Add return code. - --2006-04-13 Ralf Corsepius -+2006-04-13 Ralf Corsépius - - * acinclude.m4: New _NEWLIB_VERSION. - * acinclude.m4(NEWLIB_CONFIGURE): AC_REQUIRE(_NEWLIB_VERSION). -@@ -7737,7 +8145,7 @@ - * libc/sys/linux/sys/stat.h: Change *stat64 prototypes to - take a pointer to struct stat64 rather than struct stat. - --2005-12-16 Ralf Corsepius -+2005-12-16 Ralf Corsépius - - * libc/include/stdint.h: Prefer long over int for int32_t. - Use __have_long32 to set up int32_t. -@@ -7766,7 +8174,7 @@ - * libc/include/sys/types.h: Remove the ifdef armour around - standard POSIX types. - --2005-12-06 Ralf Corsepius -+2005-12-06 Ralf Corsépius - - * libc/sys/rtems/crt0.c: Add rtems_gxx_key_create, - rtems_gxx_key_delete, rtems_gxx_getspecific, -@@ -7845,7 +8253,7 @@ - * libc/sys/linux/sys/unistd.h (readlink, symlink): New - prototypes. - --2005-11-01 Ralf Corsepius -+2005-11-01 Ralf Corsépius - - * libc/include/stdint.h: Cleanup #if vs. #ifdef. - -@@ -8069,11 +8477,11 @@ - * libc/stdlib/mallocr.c (mALLOc, rEALLOCc, mEMALIGn): Set errno - to ENOMEM on failure. - --2005-10-06 Ralf Corsepius -+2005-10-06 Ralf Corsépius - - * libc/include/stdint.h: Add [u]int_fast_t types. - --2005-10-04 Ralf Corsepius -+2005-10-04 Ralf Corsépius - - * libc/include/stdint.h: Move magic to set __have_long* to the - beginning. Use #if __have* instead of #if defined(__have*). -@@ -8089,14 +8497,14 @@ - * libc/sys/linux/include/stdint.h: Include and - incorporate Ralf's change below. - --2005-10-03 Ralf Corsepius -+2005-10-03 Ralf Corsépius - - * libc/include/stdint.h: - Use __INTMAX_TYPE__ to derive intmax_t. - Use __UINTMAX_TYPE__ to derive uintmax_t. - Fix minor typo. - --2005-09-27 Ralf Corsepius -+2005-09-27 Ralf Corsépius - - * libc/include/stdint.h: Correct __STDINT_EXP macro incorrectly - handling GCC >= 4. -@@ -8432,16 +8840,16 @@ - * configure.host (newlib_cflags) : Add - -DCOMPACT_CTYPE. - --2005-03-06 Ralf Corsepious -+2005-03-06 Ralf Corsépius - - * libc/sys/rtems/include/inttypes.h: New file. - * libc/sys/rtems/include/stdint.h: Ditto. - --2005-03-06 Ralf Corsepious -+2005-03-06 Ralf Corsépius - - * libc/string/memcmp.c: Fix to avoid pointer signedness warning. - --2005-03-06 Ralf Corsepious -+2005-03-06 Ralf Corsépius - - * libc/include/machine/_types.h: New file. - * libc/include/sys/types.h: Do not check for __rtems__ -@@ -8450,7 +8858,7 @@ - * libc/sys/rtems/machine/_types.h: Removed. Replaced with - shared header file. - --2005-02-25 Ralf Corsepious -+2005-02-25 Ralf Corsépius - - * libm/common/fdlibm.h (FLT_UWORD_MAX, FLT_UWORD_HALF_MAX): Add - L qualifier for these long constants. -@@ -8466,13 +8874,13 @@ - * libc/time/strftime.c (strftime): Fix '%x' to deal with negative - years. Fix '%z' to use long, not int. - --2005-02-24 Ralf Corsepious -+2005-02-24 Ralf Corsépius - - * libm/common/s_fpclassify.c: Use __uint32_t instead of int to - manipulate float values in integer form. - * libm/common/sf_round.c: Ditto. - --2005-02-24 Ralf Corsepious -+2005-02-24 Ralf Corsépius - - * libc/include/sys/types.h [__rtems__]: Include new - header file machine/_types.h. -@@ -8836,7 +9244,7 @@ - * libc/stdio/fread.c (fread): Fix return value for unbuffered - fread. - --2004-10-25 Ralf Corsepius -+2004-10-25 Ralf Corsépius - - * libc/include/machine/setjmp.h: Add AVR support. - * libc/sys/rtems/crt0.S [__AVR__]: Add __stack. -@@ -15068,7 +15476,7 @@ - - * libc/include/sys/unistd.h: Prototype chroot() for RTEMS. - --2001-08-29 Ralf Corsepius -+2001-08-29 Ralf Corsépius - - * libc/machine/i386/f_atan2.S, libc/machine/i386/f_atan2f.S, - libc/machine/i386/f_exp.c, libc/machine/i386/f_expf.c, -@@ -15745,7 +16153,7 @@ - * libc/sys/linux/sys/utsname.h: Ditto. - * libc/sys/linux/sys/wait.h: Ditto. - --2000-12-08 Ralf Corsepius -+2000-12-08 Ralf Corsépius - - * Makefile.am: $(INSTALL), $(INSTALL_DATA), and $(INSTALL_PROGRAM) - can be a relative path to $(top_srcdir)/install.sh so ensure the -@@ -16650,7 +17058,7 @@ - * libc/include/stdlib.h: add ptsname, grantpt, unlockpt to cygwin - section - --Sat Oct 2 02:02:00 MEST 1999 Ralf Corsepius -+Sat Oct 2 02:02:00 MEST 1999 Ralf Corsépius - - * libc/machine/sh/asm.h: Added __SH4_SINGLE__ to DELAYED_BRANCHES - * libc/machine/sh/memcpy.S: Fix line wrapping in SL macro -diff -Naur newlib-1.19.0.orig/newlib/ChangeLog.rtems newlib-1.19.0/newlib/ChangeLog.rtems ---- newlib-1.19.0.orig/newlib/ChangeLog.rtems 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.19.0/newlib/ChangeLog.rtems 2011-07-20 05:54:59.230258806 +0200 -@@ -0,0 +1,83 @@ -+2011-01-07 Ralf Corsépius -+ -+ * libc/stdio/open_memstream.c: Replace 64 * 1024 with 0x10000 to -+ avoid integer overflow on h8300. -+ -+2011-01-05 Ralf Corsépius -+ -+ * libc/stdio/tmpnam.c: Include . -+ Use intptr_t instead of _POINTER_INT for improved portability. -+ * libc/misc/__dprintf.c: Include -+ Use intptr_t instead of _POINTER_INT for improved portability. -+ -+2011-01-05 Ralf Corsépius -+ -+ * libm/common/s_round.c: Cast const int to __int32_t. -+ -+2011-01-04 Ralf Corsépius -+ -+ * libm/math/e_scalb.c: Include . -+ Don't rely on 65000 being a valid int. -+ -+2011-01-04 Ralf Corsépius -+ -+ * libc/posix/readdir.c: Include . -+ Cast to intptr_t instead of int. -+ -+2011-01-04 Ralf Corsépius -+ -+ * libc/string/memccpy.c, libc/string/memchr.c, -+ libc/string/memcmp.c, libc/string/memcpy.c, -+ libc/string/memmove.c, libc/string/mempcpy.c, -+ libc/string/memset.c, libc/string/stpcpy.c, -+ libc/string/stpncpy.c, libc/string/strcpy.c, -+ libc/string/strlen.c, libc/string/strncat.c, -+ libc/string/strncpy.c (UNALIGNED): -+ Include . -+ Cast to intptr_t instead of long. -+ -+2011-01-04 Ralf Corsépius -+ -+ * Makefile.am: Don't install include/rpc/*.h. -+ * Makefile.in: Regenerate. -+ * libc/Makefile.am: Install include/rpc/xdr.h include/rpc/types.h. -+ * libc/Makefile.in: Regenerate. -+ -+2010-12-30 Ralf Corsépius -+ -+ * libc/include/signal.h: Don't provide sighandler_t. -+ -+2010-12-29 Ralf Corsépius -+ -+ * libc/include/sys/dir.h: Remove. -+ -+2010-08-10 Ralf Corsépius -+ -+ PR 1475/newlib: -+ * libc/include/stdint.h: Fall back to compute SIZE_MAX based on -+ __SIZEOF_SIZE_T__ and __CHAR_BIT__ if available. -+ -+2010-08-04 Ralf Corsépius -+ -+ * libc/string/strcat.c: -+ Include . Use uintptr_t instead of long in ALIGNED. -+ * libc/string/strchr.c, libc/string/strcmp.c, libc/string/strncmp.c: -+ Include . Use uintptr_t instead of long in UNALIGNED. -+ -+2010-07-08 Ralf Corsépius -+ -+ * libc/string/index.c, libc/string/rindex.c: Include . -+ * libc/stdlib/putenv_r.c: Include -+ -+2010-03-25 Ralf Corsépius -+ -+ * libc/include/string.h: Remove bcmp, bcopy, bzero, ffs, index, rindex, -+ strcasecmp, strncasecmp (Moved to strings.h). -+ Remove strcmpi, stricmp, strncmpi, strnicmp. -+ * libc/misc/ffs.c: Use instead of . -+ * libc/string/bcmp.c: Use instead of . -+ * libc/string/bzero.c: Use instead of . -+ * libc/string/rindex.c: Use instead of . -+ * libc/string/strcasecmp.c: Use instead of . -+ * libc/string/strncasecmp.c: Use instead of . -+ -diff -Naur newlib-1.19.0.orig/newlib/configure.host newlib-1.19.0/newlib/configure.host ---- newlib-1.19.0.orig/newlib/configure.host 2010-12-02 20:30:46.000000000 +0100 -+++ newlib-1.19.0/newlib/configure.host 2011-07-20 05:54:59.231258817 +0200 -@@ -120,9 +120,6 @@ - d30v*) - machine_dir=d30v - ;; -- ep9312) -- machine_dir=arm -- ;; - fido) - machine_dir=m68k - newlib_cflags="${newlib_cflags} -DCOMPACT_CTYPE" -@@ -240,15 +237,6 @@ - # FIXME: Might wish to make MALLOC_ALIGNMENT more generic. - newlib_cflags="${newlib_cflags} -DMALLOC_ALIGNMENT=8" - ;; -- strongarm) -- machine_dir=arm -- ;; -- xscale) -- machine_dir=xscale -- ;; -- thumb) -- machine_dir=arm -- ;; - tic4x|c4x) - machine_dir=tic4x - ;; -@@ -391,12 +379,6 @@ - d30v*) - sys_dir= - ;; -- ep9312-*-*) -- sys_dir=arm -- if [ "x${newlib_may_supply_syscalls}" = "xno" ] ; then -- have_crt0="no" -- fi -- ;; - frv*) - sys_dir= - ;; -@@ -493,18 +475,6 @@ - default_newlib_io_long_long="yes" - default_newlib_atexit_dynamic_alloc="no" - ;; -- strongarm-*-*) -- sys_dir=arm -- if [ "x${newlib_may_supply_syscalls}" = "xno" ] ; then -- have_crt0="no" -- fi -- ;; -- thumb-*-*) -- sys_dir=arm -- if [ "x${newlib_may_supply_syscalls}" = "xno" ] ; then -- have_crt0="no" -- fi -- ;; - tic6x*) - newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES" - have_crt0="no" -@@ -527,12 +497,6 @@ - w65-*-*) - sys_dir=w65 - ;; -- xscale-*-*) -- sys_dir=arm -- if [ "x${newlib_may_supply_syscalls}" = "xno" ] ; then -- have_crt0="no" -- fi -- ;; - z8k-*-coff) - sys_dir=z8ksim - ;; -@@ -594,7 +558,6 @@ - # to create the program's environment. - # If --disable-newlib-supplied-syscalls is specified, then the end-user - # may specify the protocol via gcc spec files supplied by libgloss. --# See also thumb below. - if [ "x${newlib_may_supply_syscalls}" = "xyes" ] ; then - # newlib_cflags="${newlib_cflags} -DARM_RDP_MONITOR" - newlib_cflags="${newlib_cflags} -DARM_RDI_MONITOR" -@@ -629,12 +592,6 @@ - newlib_cflags="${newlib_cflags} -DABORT_MESSAGE -DSMALL_MEMORY -DMISSING_SYSCALL_NAMES" - syscall_dir= - ;; -- ep9312-*-*) -- syscall_dir=syscalls -- if [ "x${newlib_may_supply_syscalls}" = "xyes" ] ; then -- newlib_cflags="${newlib_cflags} -DARM_RDI_MONITOR" -- fi -- ;; - fido-*-elf) - newlib_cflags="${newlib_cflags} -DHAVE_RENAME -DHAVE_SYSTEM -DMISSING_SYSCALL_NAMES" - syscall_dir= -@@ -758,27 +715,6 @@ - newlib_cflags="${newlib_cflags} -DTARGET_PTR_SIZE=64" ;; - esac - ;; -- strongarm-*-*) -- syscall_dir=syscalls -- ;; -- thumb-*-pe) -- syscall_dir=syscalls --# Don't use the debugging protocols just yet. -- ;; -- thumb-*-*) -- syscall_dir=syscalls --# If newlib is supplying syscalls, select which debug protocol is being used. --# ARM_RDP_MONITOR selects the Demon monitor. --# ARM_RDI_MONITOR selects the Angel monitor. --# If neither are defined, then hard coded defaults will be used --# to create the program's environment. --# If --disable-newlib-supplied-syscalls is specified, then the end-user --# may specify the protocol via gcc spec files supplied by libgloss. -- if [ "x${newlib_may_supply_syscalls}" = "xyes" ] ; then --# newlib_cflags="${newlib_cflags} -DARM_RDP_MONITOR" -- newlib_cflags="${newlib_cflags} -DARM_RDI_MONITOR" -- fi -- ;; - tic6x*) - syscall_dir= - newlib_cflags="${newlib_cflags} -DCLOCK_PROVIDED" -@@ -796,13 +732,6 @@ - xc16x-*) - syscall_dir=syscalls - ;; -- xscale-*-*) -- syscall_dir=syscalls -- newlib_cflags="${newlib_cflags} -DHAVE_SYSTEM -DHAVE_RENAME" -- if [ "x${newlib_may_supply_syscalls}" = "xyes" ] ; then -- newlib_cflags="${newlib_cflags} -DARM_RDI_MONITOR" -- fi -- ;; - xstormy16-*-*) - syscall_dir=syscalls - ;; -diff -Naur newlib-1.19.0.orig/newlib/doc/makedoc.c newlib-1.19.0/newlib/doc/makedoc.c ---- newlib-1.19.0.orig/newlib/doc/makedoc.c 2009-03-25 22:16:04.000000000 +0100 -+++ newlib-1.19.0/newlib/doc/makedoc.c 2011-07-20 05:54:59.232258828 +0200 -@@ -57,7 +57,7 @@ - { - char *ptr; - unsigned int write_idx; -- unsigned int size; -+ size_t size; - } string_type; - - -@@ -68,7 +68,7 @@ - - static void DEFUN(init_string_with_size,(buffer, size), - string_type *buffer AND -- unsigned int size ) -+ size_t size ) - { - buffer->write_idx = 0; - buffer->size = size; -@@ -219,8 +219,8 @@ - stinst_type *pc; - stinst_type sstack[STACK]; - stinst_type *ssp = &sstack[0]; --int istack[STACK]; --int *isp = &istack[0]; -+long istack[STACK]; -+long *isp = &istack[0]; - - typedef int *word_type; - -@@ -270,7 +270,7 @@ - { - isp++; - pc++; -- *isp = (int)(*pc); -+ *isp = (long)(*pc); - pc++; - - } -diff -Naur newlib-1.19.0.orig/newlib/libc/configure newlib-1.19.0/newlib/libc/configure ---- newlib-1.19.0.orig/newlib/libc/configure 2010-12-16 22:58:39.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/configure 2011-07-20 05:54:59.237258907 +0200 -@@ -625,7 +625,10 @@ - HAVE_XDR_DIR_TRUE - LIBC_XDR_DEF - LIBC_XDR_LIB -+HAVE_POSIX_DIR_FALSE -+HAVE_POSIX_DIR_TRUE - LIBC_POSIX_DEF -+LIBC_POSIX_LIB - HAVE_STDIO64_DIR_FALSE - HAVE_STDIO64_DIR_TRUE - LIBC_STDIO64_DEF -@@ -638,9 +641,6 @@ - HAVE_SIGNAL_DIR_TRUE - LIBC_SIGNAL_DEF - LIBC_SIGNAL_LIB --HAVE_POSIX_DIR_FALSE --HAVE_POSIX_DIR_TRUE --LIBC_POSIX_LIB - CRT0 - subdirs - CPP -@@ -11805,24 +11805,6 @@ - - - --LIBC_POSIX_LIB= --if test -n "${posix_dir}"; then -- if test "${use_libtool}" = "yes"; then -- LIBC_POSIX_LIB=${posix_dir}/lib${posix_dir}.${aext} -- else -- LIBC_POSIX_LIB=${posix_dir}/lib.${aext} -- fi --fi -- -- if test x${posix_dir} != x; then -- HAVE_POSIX_DIR_TRUE= -- HAVE_POSIX_DIR_FALSE='#' --else -- HAVE_POSIX_DIR_TRUE='#' -- HAVE_POSIX_DIR_FALSE= --fi -- -- - LIBC_SIGNAL_LIB= - LIBC_SIGNAL_DEF= - if test -n "${signal_dir}"; then -@@ -12225,10 +12207,6 @@ - as_fn_error "conditional \"am__fastdepCC\" was never defined. - Usually this means the macro was only invoked conditionally." "$LINENO" 5 - fi --if test -z "${HAVE_POSIX_DIR_TRUE}" && test -z "${HAVE_POSIX_DIR_FALSE}"; then -- as_fn_error "conditional \"HAVE_POSIX_DIR\" was never defined. --Usually this means the macro was only invoked conditionally." "$LINENO" 5 --fi - if test -z "${HAVE_SIGNAL_DIR_TRUE}" && test -z "${HAVE_SIGNAL_DIR_FALSE}"; then - as_fn_error "conditional \"HAVE_SIGNAL_DIR\" was never defined. - Usually this means the macro was only invoked conditionally." "$LINENO" 5 -diff -Naur newlib-1.19.0.orig/newlib/libc/configure.in newlib-1.19.0/newlib/libc/configure.in ---- newlib-1.19.0.orig/newlib/libc/configure.in 2010-04-23 01:32:40.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/configure.in 2011-07-20 05:54:59.237258907 +0200 -@@ -41,17 +41,6 @@ - dnl for the library and an automake conditional for whether we should - dnl build the library. - --LIBC_POSIX_LIB= --if test -n "${posix_dir}"; then -- if test "${use_libtool}" = "yes"; then -- LIBC_POSIX_LIB=${posix_dir}/lib${posix_dir}.${aext} -- else -- LIBC_POSIX_LIB=${posix_dir}/lib.${aext} -- fi --fi --AC_SUBST(LIBC_POSIX_LIB) --AM_CONDITIONAL(HAVE_POSIX_DIR, test x${posix_dir} != x) -- - LIBC_SIGNAL_LIB= - LIBC_SIGNAL_DEF= - if test -n "${signal_dir}"; then -diff -Naur newlib-1.19.0.orig/newlib/libc/include/inttypes.h newlib-1.19.0/newlib/libc/include/inttypes.h ---- newlib-1.19.0.orig/newlib/libc/include/inttypes.h 2009-01-19 23:02:06.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/include/inttypes.h 2011-07-20 05:54:59.237258907 +0200 -@@ -242,15 +242,17 @@ - #define SCNxMAX __SCNMAX(x) - - /* ptr types */ --#if __have_long64 --#define __PRIPTR(x) __STRINGIFY(l##x) --#define __SCNPTR(x) __STRINGIFY(l##x) --#elif __have_longlong64 --#define __PRIPTR(x) __STRINGIFY(ll##x) --#define __SCNPTR(x) __STRINGIFY(ll##x) -+#if INTPTR_MAX == INT64_MAX -+#define __PRIPTR(x) __PRI64(x) -+#define __SCNPTR(x) __SCN64(x) -+#elif INTPTR_MAX == INT32_MAX -+#define __PRIPTR(x) __PRI32(x) -+#define __SCNPTR(x) __SCN32(x) -+#elif INTPTR_MAX == INT16_MAX -+#define __PRIPTR(x) __PRI16(x) -+#define __SCNPTR(x) __SCN16(x) - #else --#define __PRIPTR(x) __STRINGIFY(x) --#define __SCNPTR(x) __STRINGIFY(x) -+#error cannot determine PRI*PTR - #endif - - #define PRIdPTR __PRIPTR(d) -diff -Naur newlib-1.19.0.orig/newlib/libc/include/machine/_default_types.h newlib-1.19.0/newlib/libc/include/machine/_default_types.h ---- newlib-1.19.0.orig/newlib/libc/include/machine/_default_types.h 2008-06-12 00:14:54.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/include/machine/_default_types.h 2011-07-20 05:54:59.237258907 +0200 -@@ -54,14 +54,14 @@ - #endif - #endif - --#if __EXP(INT_MAX) == 0x7fffffffL --typedef signed int __int32_t; --typedef unsigned int __uint32_t; --#define ___int32_t_defined 1 --#elif __EXP(LONG_MAX) == 0x7fffffffL -+#if __EXP(LONG_MAX) == 0x7fffffffL - typedef signed long __int32_t; - typedef unsigned long __uint32_t; - #define ___int32_t_defined 1 -+#elif __EXP(INT_MAX) == 0x7fffffffL -+typedef signed int __int32_t; -+typedef unsigned int __uint32_t; -+#define ___int32_t_defined 1 - #elif __EXP(SHRT_MAX) == 0x7fffffffL - typedef signed short __int32_t; - typedef unsigned short __uint32_t; -diff -Naur newlib-1.19.0.orig/newlib/libc/include/signal.h newlib-1.19.0/newlib/libc/include/signal.h ---- newlib-1.19.0.orig/newlib/libc/include/signal.h 2010-07-13 13:18:55.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/include/signal.h 2011-07-20 05:54:59.237258907 +0200 -@@ -7,9 +7,6 @@ - _BEGIN_STD_C - - typedef int sig_atomic_t; /* Atomic entity type (ANSI) */ --#ifndef _POSIX_SOURCE --typedef _sig_func_ptr sighandler_t; /* glibc naming */ --#endif /* !_POSIX_SOURCE */ - - #define SIG_DFL ((_sig_func_ptr)0) /* Default action */ - #define SIG_IGN ((_sig_func_ptr)1) /* Ignore action */ -@@ -23,6 +20,7 @@ - #ifndef _REENT_ONLY - _sig_func_ptr _EXFUN(signal, (int, _sig_func_ptr)); - int _EXFUN(raise, (int)); -+void _EXFUN(psignal, (int, const char *)); - #endif - - _END_STD_C -diff -Naur newlib-1.19.0.orig/newlib/libc/include/stdint.h newlib-1.19.0/newlib/libc/include/stdint.h ---- newlib-1.19.0.orig/newlib/libc/include/stdint.h 2009-04-24 23:55:07.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/include/stdint.h 2011-07-20 05:54:59.238258923 +0200 -@@ -33,7 +33,7 @@ - /* Check if "long" is 64bit or 32bit wide */ - #if __STDINT_EXP(LONG_MAX) > 0x7fffffff - #define __have_long64 1 --#elif __STDINT_EXP(LONG_MAX) == 0x7fffffff && !defined(__SPU__) -+#elif __STDINT_EXP(LONG_MAX) == 0x7fffffff - #define __have_long32 1 - #endif - -@@ -49,14 +49,14 @@ - #define __int_least8_t_defined 1 - #endif - --#if __STDINT_EXP(SHRT_MAX) == 0x7fff --typedef signed short int16_t; --typedef unsigned short uint16_t; --#define __int16_t_defined 1 --#elif __STDINT_EXP(INT_MAX) == 0x7fff -+#if __STDINT_EXP(INT_MAX) == 0x7fff - typedef signed int int16_t; - typedef unsigned int uint16_t; - #define __int16_t_defined 1 -+#elif __STDINT_EXP(SHRT_MAX) == 0x7fff -+typedef signed short int16_t; -+typedef unsigned short uint16_t; -+#define __int16_t_defined 1 - #elif __STDINT_EXP(SCHAR_MAX) == 0x7fff - typedef signed char int16_t; - typedef unsigned char uint16_t; -@@ -239,6 +239,29 @@ - * GCC doesn't provide an appropriate macro for [u]intptr_t - * For now, use __PTRDIFF_TYPE__ - */ -+#if defined(__SIZEOF_POINTER__) -+#if __SIZEOF_POINTER__ == 8 -+ typedef int64_t intptr_t; -+ typedef uint64_t uintptr_t; -+#define INTPTR_MAX INT64_MAX -+#define INTPTR_MIN INT64_MIN -+#define UINTPTR_MAX UINT64_MAX -+#elif __SIZEOF_POINTER__ == 4 -+ typedef int32_t intptr_t; -+ typedef uint32_t uintptr_t; -+#define INTPTR_MAX INT32_MAX -+#define INTPTR_MIN INT32_MIN -+#define UINTPTR_MAX UINT32_MAX -+#elif __SIZEOF_POINTER__ == 2 -+ typedef int16_t intptr_t; -+ typedef uint16_t uintptr_t; -+#define INTPTR_MAX INT16_MAX -+#define INTPTR_MIN INT16_MIN -+#define UINTPTR_MAX UINT16_MAX -+#else -+#error cannot determine intptr_t -+#endif -+#else - #if defined(__PTRDIFF_TYPE__) - typedef signed __PTRDIFF_TYPE__ intptr_t; - typedef unsigned __PTRDIFF_TYPE__ uintptr_t; -@@ -260,6 +283,7 @@ - #define INTPTR_MIN (-__STDINT_EXP(LONG_MAX) - 1) - #define UINTPTR_MAX (__STDINT_EXP(LONG_MAX) * 2UL + 1) - #endif -+#endif - - /* Limits of Specified-Width Integer Types */ - -@@ -408,6 +432,8 @@ - /* This must match size_t in stddef.h, currently long unsigned int */ - #ifdef __SIZE_MAX__ - #define SIZE_MAX __SIZE_MAX__ -+#elif defined(__SIZEOF_SIZE_T__) && defined(__CHAR_BIT__) -+#define SIZE_MAX (((1UL << (__SIZEOF_SIZE_T__ * __CHAR_BIT__ - 1)) - 1) * 2 + 1) - #else - #define SIZE_MAX (__STDINT_EXP(LONG_MAX) * 2UL + 1) - #endif -diff -Naur newlib-1.19.0.orig/newlib/libc/include/stdio_ext.h newlib-1.19.0/newlib/libc/include/stdio_ext.h ---- newlib-1.19.0.orig/newlib/libc/include/stdio_ext.h 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/include/stdio_ext.h 2011-07-20 05:54:59.238258923 +0200 -@@ -0,0 +1,22 @@ -+/* -+ * stdio_ext.h -+ * -+ * Definitions for I/O internal operations, originally from Solaris. -+ */ -+ -+#ifndef _STDIO_EXT_H_ -+#define _STDIO_EXT_H_ -+ -+#ifdef __rtems__ -+#error " not supported" -+#endif -+ -+#include -+ -+_BEGIN_STD_C -+ -+void _EXFUN(__fpurge,(FILE *)); -+ -+_END_STD_C -+ -+#endif /* _STDIO_EXT_H_ */ -diff -Naur newlib-1.19.0.orig/newlib/libc/include/stdio.h newlib-1.19.0/newlib/libc/include/stdio.h ---- newlib-1.19.0.orig/newlib/libc/include/stdio.h 2010-02-26 10:41:43.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/include/stdio.h 2011-07-20 05:54:59.238258923 +0200 -@@ -308,7 +308,7 @@ - * Routines in POSIX 1003.1:2001. - */ - --#ifndef __STRICT_ANSI__ -+#if (!defined(__STRICT_ANSI__) || (__STDC_VERSION__ >= 199901L)) - #ifndef _REENT_ONLY - FILE * _EXFUN(fdopen, (int, const char *)); - #endif -diff -Naur newlib-1.19.0.orig/newlib/libc/include/stdlib.h newlib-1.19.0/newlib/libc/include/stdlib.h ---- newlib-1.19.0.orig/newlib/libc/include/stdlib.h 2010-07-19 20:21:11.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/include/stdlib.h 2011-07-20 05:54:59.238258923 +0200 -@@ -38,7 +38,7 @@ - long rem; /* remainder */ - } ldiv_t; - --#ifndef __STRICT_ANSI__ -+#if !defined(__STRICT_ANSI__) || (__STDC_VERSION__ >= 199901L) - typedef struct - { - long long int quot; /* quotient */ -@@ -63,13 +63,12 @@ - int _EXFUN(abs,(int)); - int _EXFUN(atexit,(_VOID (*__func)(_VOID))); - double _EXFUN(atof,(const char *__nptr)); --#ifndef __STRICT_ANSI__ --float _EXFUN(atoff,(const char *__nptr)); --#endif - int _EXFUN(atoi,(const char *__nptr)); --int _EXFUN(_atoi_r,(struct _reent *, const char *__nptr)); - long _EXFUN(atol,(const char *__nptr)); -+#ifndef __STRICT_ANSI__ -+int _EXFUN(_atoi_r,(struct _reent *, const char *__nptr)); - long _EXFUN(_atol_r,(struct _reent *, const char *__nptr)); -+#endif /* ! __STRICT_ANSI__ */ - _PTR _EXFUN(bsearch,(const _PTR __key, - const _PTR __base, - size_t __nmemb, -@@ -80,10 +79,10 @@ - _VOID _EXFUN(exit,(int __status) _ATTRIBUTE ((noreturn))); - _VOID _EXFUN_NOTHROW(free,(_PTR)); - char * _EXFUN(getenv,(const char *__string)); -+#ifndef __STRICT_ANSI__ - char * _EXFUN(_getenv_r,(struct _reent *, const char *__string)); - char * _EXFUN(_findenv,(_CONST char *, int *)); - char * _EXFUN(_findenv_r,(struct _reent *, _CONST char *, int *)); --#ifndef __STRICT_ANSI__ - extern char *suboptarg; /* getsubopt(3) external variable */ - int _EXFUN(getsubopt,(char **, char * const *, char **)); - #endif -@@ -91,16 +90,16 @@ - ldiv_t _EXFUN(ldiv,(long __numer, long __denom)); - _PTR _EXFUN_NOTHROW(malloc,(size_t __size)); - int _EXFUN(mblen,(const char *, size_t)); --int _EXFUN(_mblen_r,(struct _reent *, const char *, size_t, _mbstate_t *)); - int _EXFUN(mbtowc,(wchar_t *, const char *, size_t)); --int _EXFUN(_mbtowc_r,(struct _reent *, wchar_t *, const char *, size_t, _mbstate_t *)); - int _EXFUN(wctomb,(char *, wchar_t)); --int _EXFUN(_wctomb_r,(struct _reent *, char *, wchar_t, _mbstate_t *)); - size_t _EXFUN(mbstowcs,(wchar_t *, const char *, size_t)); --size_t _EXFUN(_mbstowcs_r,(struct _reent *, wchar_t *, const char *, size_t, _mbstate_t *)); - size_t _EXFUN(wcstombs,(char *, const wchar_t *, size_t)); --size_t _EXFUN(_wcstombs_r,(struct _reent *, char *, const wchar_t *, size_t, _mbstate_t *)); - #ifndef __STRICT_ANSI__ -+int _EXFUN(_mblen_r,(struct _reent *, const char *, size_t, _mbstate_t *)); -+int _EXFUN(_mbtowc_r,(struct _reent *, wchar_t *, const char *, size_t, _mbstate_t *)); -+int _EXFUN(_wctomb_r,(struct _reent *, char *, wchar_t, _mbstate_t *)); -+size_t _EXFUN(_mbstowcs_r,(struct _reent *, wchar_t *, const char *, size_t, _mbstate_t *)); -+size_t _EXFUN(_wcstombs_r,(struct _reent *, char *, const wchar_t *, size_t, _mbstate_t *)); - #ifndef _REENT_ONLY - char * _EXFUN(mkdtemp,(char *)); - int _EXFUN(mkostemp,(char *, int)); -@@ -133,10 +132,11 @@ - # endif - #endif - long _EXFUN(strtol,(const char *__n, char **__end_PTR, int __base)); --long _EXFUN(_strtol_r,(struct _reent *,const char *__n, char **__end_PTR, int __base)); - unsigned long _EXFUN(strtoul,(const char *__n, char **__end_PTR, int __base)); -+#ifndef __STRICT_ANSI__ - unsigned long _EXFUN(_strtoul_r,(struct _reent *,const char *__n, char **__end_PTR, int __base)); -- -+long _EXFUN(_strtol_r,(struct _reent *,const char *__n, char **__end_PTR, int __base)); -+#endif /* !__STRICT_ANSI__ */ - int _EXFUN(system,(const char *__string)); - - #ifndef __STRICT_ANSI__ -@@ -163,33 +163,39 @@ - int _EXFUN(rand_r,(unsigned *__seed)); - - double _EXFUN(drand48,(_VOID)); --double _EXFUN(_drand48_r,(struct _reent *)); - double _EXFUN(erand48,(unsigned short [3])); --double _EXFUN(_erand48_r,(struct _reent *, unsigned short [3])); - long _EXFUN(jrand48,(unsigned short [3])); --long _EXFUN(_jrand48_r,(struct _reent *, unsigned short [3])); - _VOID _EXFUN(lcong48,(unsigned short [7])); --_VOID _EXFUN(_lcong48_r,(struct _reent *, unsigned short [7])); - long _EXFUN(lrand48,(_VOID)); --long _EXFUN(_lrand48_r,(struct _reent *)); - long _EXFUN(mrand48,(_VOID)); --long _EXFUN(_mrand48_r,(struct _reent *)); - long _EXFUN(nrand48,(unsigned short [3])); --long _EXFUN(_nrand48_r,(struct _reent *, unsigned short [3])); - unsigned short * - _EXFUN(seed48,(unsigned short [3])); -+_VOID _EXFUN(srand48,(long)); -+long long _EXFUN(atoll,(const char *__nptr)); -+#ifndef __STRICT_ANSI__ -+double _EXFUN(_drand48_r,(struct _reent *)); -+double _EXFUN(_erand48_r,(struct _reent *, unsigned short [3])); -+long _EXFUN(_jrand48_r,(struct _reent *, unsigned short [3])); -+_VOID _EXFUN(_lcong48_r,(struct _reent *, unsigned short [7])); -+long _EXFUN(_lrand48_r,(struct _reent *)); -+long _EXFUN(_mrand48_r,(struct _reent *)); -+long _EXFUN(_nrand48_r,(struct _reent *, unsigned short [3])); - unsigned short * - _EXFUN(_seed48_r,(struct _reent *, unsigned short [3])); --_VOID _EXFUN(srand48,(long)); - _VOID _EXFUN(_srand48_r,(struct _reent *, long)); --long long _EXFUN(atoll,(const char *__nptr)); - long long _EXFUN(_atoll_r,(struct _reent *, const char *__nptr)); -+#endif /* ! __STRICT_ANSI__ */ -+#if !defined(__STRICT_ANSI__) || (__STDC_VERSION__ >= 199901L) - long long _EXFUN(llabs,(long long)); - lldiv_t _EXFUN(lldiv,(long long __numer, long long __denom)); - long long _EXFUN(strtoll,(const char *__n, char **__end_PTR, int __base)); --long long _EXFUN(_strtoll_r,(struct _reent *, const char *__n, char **__end_PTR, int __base)); - unsigned long long _EXFUN(strtoull,(const char *__n, char **__end_PTR, int __base)); -+#endif -+#ifndef __STRICT_ANSI__ -+long long _EXFUN(_strtoll_r,(struct _reent *, const char *__n, char **__end_PTR, int __base)); - unsigned long long _EXFUN(_strtoull_r,(struct _reent *, const char *__n, char **__end_PTR, int __base)); -+#endif /* ! __STRICT_ANSI__ */ - - #ifndef __CYGWIN__ - _VOID _EXFUN(cfree,(_PTR)); -@@ -203,6 +209,7 @@ - - #endif /* ! __STRICT_ANSI__ */ - -+#ifndef __STRICT_ANSI__ - char * _EXFUN(_dtoa_r,(struct _reent *, double, int, int, int *, int*, char**)); - #ifndef __CYGWIN__ - _PTR _EXFUN_NOTHROW(_malloc_r,(struct _reent *, size_t)); -@@ -214,6 +221,7 @@ - int _EXFUN(_system_r,(struct _reent *, const char *)); - - _VOID _EXFUN(__eprintf,(const char *, const char *, unsigned int, const char *)); -+#endif /* ! __STRICT_ANSI__ */ - - /* On platforms where long double equals double. */ - #ifdef _LDBL_EQ_DBL -diff -Naur newlib-1.19.0.orig/newlib/libc/include/string.h newlib-1.19.0/newlib/libc/include/string.h ---- newlib-1.19.0.orig/newlib/libc/include/string.h 2008-06-18 17:27:27.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/include/string.h 2011-07-20 05:54:59.239258939 +0200 -@@ -9,6 +9,7 @@ - - #include "_ansi.h" - #include -+#include - - #define __need_size_t - #include -@@ -49,51 +50,58 @@ - #ifndef __STRICT_ANSI__ - char *_EXFUN(strtok_r,(char *, const char *, char **)); - --int _EXFUN(bcmp,(const void *, const void *, size_t)); --void _EXFUN(bcopy,(const void *, void *, size_t)); --void _EXFUN(bzero,(void *, size_t)); --int _EXFUN(ffs,(int)); --char *_EXFUN(index,(const char *, int)); - _PTR _EXFUN(memccpy,(_PTR, const _PTR, int, size_t)); - _PTR _EXFUN(mempcpy,(_PTR, const _PTR, size_t)); - _PTR _EXFUN(memmem, (const _PTR, size_t, const _PTR, size_t)); --char *_EXFUN(rindex,(const char *, int)); - char *_EXFUN(stpcpy,(char *, const char *)); - char *_EXFUN(stpncpy,(char *, const char *, size_t)); --int _EXFUN(strcasecmp,(const char *, const char *)); - char *_EXFUN(strcasestr,(const char *, const char *)); -+char *_EXFUN(strchrnul,(const char *, int)); - char *_EXFUN(strdup,(const char *)); - char *_EXFUN(_strdup_r,(struct _reent *, const char *)); - char *_EXFUN(strndup,(const char *, size_t)); - char *_EXFUN(_strndup_r,(struct _reent *, const char *, size_t)); --char *_EXFUN(strerror_r,(int, char *, size_t)); -+/* There are two common strerror_r variants. If you request -+ _GNU_SOURCE, you get the GNU version; otherwise you get the POSIX -+ version. POSIX requires that #undef strerror_r will still let you -+ invoke the underlying function, but that requires gcc support. */ -+#ifdef _GNU_SOURCE -+char *_EXFUN(strerror_r,(int, char *, size_t)); -+#else -+# ifdef __GNUC__ -+int _EXFUN(strerror_r,(int, char *, size_t)) __asm__ (__ASMNAME ("__xpg_strerror_r")); -+# else -+int _EXFUN(__xpg_strerror_r,(int, char *, size_t)); -+# define strerror_r __xpg_strerror_r -+# endif -+#endif - size_t _EXFUN(strlcat,(char *, const char *, size_t)); - size_t _EXFUN(strlcpy,(char *, const char *, size_t)); --int _EXFUN(strncasecmp,(const char *, const char *, size_t)); - size_t _EXFUN(strnlen,(const char *, size_t)); - char *_EXFUN(strsep,(char **, const char *)); - char *_EXFUN(strlwr,(char *)); - char *_EXFUN(strupr,(char *)); -+char *_EXFUN(strsignal, (int __signo)); - #ifdef __CYGWIN__ --#ifndef DEFS_H /* Kludge to work around problem compiling in gdb */ --char *_EXFUN(strsignal, (int __signo)); --#endif - int _EXFUN(strtosigno, (const char *__name)); - #endif - --/* These function names are used on Windows and perhaps other systems. */ --#ifndef strcmpi --#define strcmpi strcasecmp --#endif --#ifndef stricmp --#define stricmp strcasecmp --#endif --#ifndef strncmpi --#define strncmpi strncasecmp --#endif --#ifndef strnicmp --#define strnicmp strncasecmp --#endif -+/* Recursive version of strerror. */ -+char * _EXFUN(_strerror_r, (struct _reent *, int, int, int *)); -+ -+#if defined _GNU_SOURCE && defined __GNUC__ -+#define strdupa(__s) \ -+ (__extension__ ({const char *__in = (__s); \ -+ size_t __len = strlen (__in) + 1; \ -+ char * __out = (char *) __builtin_alloca (__len); \ -+ (char *) memcpy (__out, __in, __len);})) -+#define strndupa(__s, __n) \ -+ (__extension__ ({const char *__in = (__s); \ -+ size_t __len = strnlen (__in, (__n)) + 1; \ -+ char *__out = (char *) __builtin_alloca (__len); \ -+ __out[__len-1] = '\0'; \ -+ (char *) memcpy (__out, __in, __len-1);})) -+#endif /* _GNU_SOURCE && __GNUC__ */ - - #endif /* ! __STRICT_ANSI__ */ - -diff -Naur newlib-1.19.0.orig/newlib/libc/include/sys/cdefs.h newlib-1.19.0/newlib/libc/include/sys/cdefs.h ---- newlib-1.19.0.orig/newlib/libc/include/sys/cdefs.h 2002-06-20 21:51:24.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/include/sys/cdefs.h 2011-07-20 05:54:59.239258939 +0200 -@@ -58,6 +58,27 @@ - #define __DOTS , ... - #define __THROW - -+/* -+ * The __CONCAT macro is used to concatenate parts of symbol names, e.g. -+ * with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo. -+ * The __CONCAT macro is a bit tricky to use if it must work in non-ANSI -+ * mode -- there must be no spaces between its arguments, and for nested -+ * __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also -+ * concatenate double-quoted strings produced by the __STRING macro, but -+ * this only works with ANSI C. -+ * -+ * __XSTRING is like __STRING, but it expands any macros in its argument -+ * first. It is only available with ANSI C. -+ */ -+#define __CONCAT1(x,y) x ## y -+#define __CONCAT(x,y) __CONCAT1(x,y) -+#define __STRING(x) #x /* stringify without expanding x */ -+#define __XSTRING(x) __STRING(x) /* expand x, then stringify */ -+ -+#ifdef __GNUC__ -+# define __ASMNAME(cname) __XSTRING (__USER_LABEL_PREFIX__) cname -+#endif -+ - #define __ptr_t void * - #define __long_double_t long double - -diff -Naur newlib-1.19.0.orig/newlib/libc/include/sys/_default_fcntl.h newlib-1.19.0/newlib/libc/include/sys/_default_fcntl.h ---- newlib-1.19.0.orig/newlib/libc/include/sys/_default_fcntl.h 2010-01-14 19:49:13.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/include/sys/_default_fcntl.h 2011-07-20 05:54:59.239258939 +0200 -@@ -51,8 +51,6 @@ - #define O_BINARY _FBINARY - #define O_TEXT _FTEXT - #define O_NOINHERIT _FNOINHERIT --/* O_CLOEXEC is the Linux equivalent to O_NOINHERIT */ --#define O_CLOEXEC _FNOINHERIT - - /* The windows header files define versions with a leading underscore. */ - #define _O_RDONLY O_RDONLY -@@ -124,9 +122,6 @@ - #define F_CNVT 12 /* Convert a fhandle to an open fd */ - #define F_RSETLKW 13 /* Set or Clear remote record-lock(Blocking) */ - #endif /* !_POSIX_SOURCE */ --#ifdef __CYGWIN__ --#define F_DUPFD_CLOEXEC 14 /* As F_DUPFD, but set close-on-exec flag */ --#endif - - /* fcntl(2) flags (l_type field of flock structure) */ - #define F_RDLCK 1 /* read lock */ -diff -Naur newlib-1.19.0.orig/newlib/libc/include/sys/dir.h newlib-1.19.0/newlib/libc/include/sys/dir.h ---- newlib-1.19.0.orig/newlib/libc/include/sys/dir.h 2010-08-11 20:14:54.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/include/sys/dir.h 1970-01-01 01:00:00.000000000 +0100 -@@ -1,10 +0,0 @@ --/* BSD predecessor of POSIX.1 and struct dirent */ -- --#ifndef _SYS_DIR_H_ --#define _SYS_DIR_H_ -- --#include -- --#define direct dirent -- --#endif /*_SYS_DIR_H_*/ -diff -Naur newlib-1.19.0.orig/newlib/libc/include/sys/features.h newlib-1.19.0/newlib/libc/include/sys/features.h ---- newlib-1.19.0.orig/newlib/libc/include/sys/features.h 2010-08-09 10:29:22.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/include/sys/features.h 2011-07-20 05:54:59.243259001 +0200 -@@ -15,7 +15,7 @@ - * OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY OF THIS - * SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. - * -- * $Id$ -+ * $Id$ - */ - - #ifndef _SYS_FEATURES_H -@@ -103,7 +103,7 @@ - /* #define _POSIX_BARRIERS -1 */ - #define _POSIX_CHOWN_RESTRICTED 1 - /* #define _POSIX_CLOCK_SELECTION -1 */ --/* #define _POSIX_CPUTIME -1 */ -+#define _POSIX_CPUTIME 200112L - #define _POSIX_FSYNC 200112L - #define _POSIX_IPV6 200112L - #define _POSIX_JOB_CONTROL 1 -@@ -125,12 +125,12 @@ - #define _POSIX_SHARED_MEMORY_OBJECTS 200112L - #define _POSIX_SHELL 1 - /* #define _POSIX_SPAWN -1 */ --/* #define _POSIX_SPIN_LOCKS -1 */ -+#define _POSIX_SPIN_LOCKS 200112L - /* #define _POSIX_SPORADIC_SERVER -1 */ - #define _POSIX_SYNCHRONIZED_IO 200112L --/* #define _POSIX_THREAD_ATTR_STACKADDR -1 */ -+#define _POSIX_THREAD_ATTR_STACKADDR 200112L - #define _POSIX_THREAD_ATTR_STACKSIZE 200112L --/* #define _POSIX_THREAD_CPUTIME -1 */ -+#define _POSIX_THREAD_CPUTIME 200112L - /* #define _POSIX_THREAD_PRIO_INHERIT -1 */ - /* #define _POSIX_THREAD_PRIO_PROTECT -1 */ - #define _POSIX_THREAD_PRIORITY_SCHEDULING 200112L -@@ -178,6 +178,12 @@ - /* #define _XOPEN_UNIX -1 */ - - #endif /* !__STRICT_ANSI__ || __cplusplus || __STDC_VERSION__ >= 199901L */ -+ -+/* The value corresponds to UNICODE version 4.0, which is the version -+ supported by XP. Newlib supports 5.2 (2011) but so far Cygwin needs -+ the MS conversions for double-byte charsets. */ -+#define __STDC_ISO_10646__ 200305L -+ - #endif /* __CYGWIN__ */ - - /* Per the permission given in POSIX.1-2008 section 2.2.1, define -diff -Naur newlib-1.19.0.orig/newlib/libc/include/sys/signal.h newlib-1.19.0/newlib/libc/include/sys/signal.h ---- newlib-1.19.0.orig/newlib/libc/include/sys/signal.h 2009-10-13 19:31:49.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/include/sys/signal.h 2011-07-20 05:54:59.243259001 +0200 -@@ -76,11 +76,12 @@ - * - * (1) Routines stored in sa_handler should take a single int as - * their argument although the POSIX standard does not require this. -+ * This is not longer true since at least POSIX.1-2008 - * (2) The fields sa_handler and sa_sigaction may overlap, and a conforming - * application should not use both simultaneously. - */ - --typedef void (*_sig_func_ptr)(); -+typedef void (*_sig_func_ptr)(int); - - struct sigaction { - int sa_flags; /* Special flags to affect behavior of signal */ -diff -Naur newlib-1.19.0.orig/newlib/libc/include/sys/types.h newlib-1.19.0/newlib/libc/include/sys/types.h ---- newlib-1.19.0.orig/newlib/libc/include/sys/types.h 2010-12-08 15:44:06.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/include/sys/types.h 2011-07-20 05:54:59.243259001 +0200 -@@ -98,6 +98,7 @@ - - typedef unsigned short ushort; /* System V compatibility */ - typedef unsigned int uint; /* System V compatibility */ -+typedef unsigned long ulong; /* System V compatibility */ - # endif /*!_POSIX_SOURCE */ - - #ifndef __clock_t_defined -@@ -462,13 +463,13 @@ - - /* POSIX Spin Lock Types */ - -+#if !defined (__CYGWIN__) - #if defined(_POSIX_SPIN_LOCKS) - typedef __uint32_t pthread_spinlock_t; /* POSIX Spin Lock Object */ - #endif /* defined(_POSIX_SPIN_LOCKS) */ - - /* POSIX Reader/Writer Lock Types */ - --#if !defined (__CYGWIN__) - #if defined(_POSIX_READER_WRITER_LOCKS) - typedef __uint32_t pthread_rwlock_t; /* POSIX RWLock Object */ - typedef struct { -diff -Naur newlib-1.19.0.orig/newlib/libc/include/sys/unistd.h newlib-1.19.0/newlib/libc/include/sys/unistd.h ---- newlib-1.19.0.orig/newlib/libc/include/sys/unistd.h 2010-10-08 17:28:49.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/include/sys/unistd.h 2011-07-20 05:54:59.244259017 +0200 -@@ -487,10 +487,11 @@ - #define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS 16 - #define _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS 17 - #define _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS -+#define _CS_XBS5_WIDTH_RESTRICTED_ENVS _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS - #define _CS_POSIX_V7_THREADS_CFLAGS 18 - #define _CS_POSIX_V7_THREADS_LDFLAGS 19 - #define _CS_V7_ENV 20 --#define _CS_V6_ENV _CS_V6_ENV -+#define _CS_V6_ENV _CS_V7_ENV - #endif - - #ifndef __CYGWIN__ -diff -Naur newlib-1.19.0.orig/newlib/libc/include/time.h newlib-1.19.0/newlib/libc/include/time.h ---- newlib-1.19.0.orig/newlib/libc/include/time.h 2008-10-16 23:53:58.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/include/time.h 2011-07-20 05:54:59.244259017 +0200 -@@ -212,7 +212,7 @@ - the identifier of the CPU_time clock associated with the PROCESS - making the function call. */ - --#define CLOCK_PROCESS_CPUTIME (clockid_t)2 -+#define CLOCK_PROCESS_CPUTIME_ID (clockid_t)2 - - #endif - -@@ -222,7 +222,7 @@ - the identifier of the CPU_time clock associated with the THREAD - making the function call. */ - --#define CLOCK_THREAD_CPUTIME (clockid_t)3 -+#define CLOCK_THREAD_CPUTIME_ID (clockid_t)3 - - #endif - -diff -Naur newlib-1.19.0.orig/newlib/libc/include/wchar.h newlib-1.19.0/newlib/libc/include/wchar.h ---- newlib-1.19.0.orig/newlib/libc/include/wchar.h 2009-10-15 10:23:27.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/include/wchar.h 2011-07-20 05:54:59.244259017 +0200 -@@ -16,6 +16,9 @@ - /* For _mbstate_t definition. */ - #include - -+/* For __STDC_ISO_10646__ */ -+#include -+ - #ifndef NULL - #define NULL 0 - #endif -diff -Naur newlib-1.19.0.orig/newlib/libc/locale/lmessages.c newlib-1.19.0/newlib/libc/locale/lmessages.c ---- newlib-1.19.0.orig/newlib/libc/locale/lmessages.c 2010-04-28 11:59:37.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/locale/lmessages.c 2011-07-20 05:54:59.244259017 +0200 -@@ -42,9 +42,9 @@ - "^[nN]" , /* noexpr */ - "yes" , /* yesstr */ - "no" /* nostr */ -- "ASCII" /* codeset */ - #ifdef __HAVE_LOCALE_INFO_EXTENDED__ -- , L"^[yY]" , /* wyesexpr */ -+ , "ASCII" , /* codeset */ -+ L"^[yY]" , /* wyesexpr */ - L"^[nN]" , /* wnoexpr */ - L"yes" , /* wyesstr */ - L"no" /* wnostr */ -diff -Naur newlib-1.19.0.orig/newlib/libc/locale/lmessages.h newlib-1.19.0/newlib/libc/locale/lmessages.h ---- newlib-1.19.0.orig/newlib/libc/locale/lmessages.h 2010-04-28 11:59:37.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/locale/lmessages.h 2011-07-20 05:54:59.244259017 +0200 -@@ -50,7 +50,7 @@ - }; - - struct lc_messages_T *__get_current_messages_locale(void); --int __numeric_load_locale(const char *, void *, const char *); -+int __messages_load_locale(const char *, void *, const char *); - - __END_DECLS - -diff -Naur newlib-1.19.0.orig/newlib/libc/locale/locale.c newlib-1.19.0/newlib/libc/locale/locale.c ---- newlib-1.19.0.orig/newlib/libc/locale/locale.c 2010-11-19 11:02:36.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/locale/locale.c 2011-07-20 05:54:59.245259033 +0200 -@@ -182,6 +182,7 @@ - #include "lmonetary.h" - #include "lnumeric.h" - #include "lctype.h" -+#include "timelocal.h" - #include "../stdlib/local.h" - - #define _LC_LAST 7 -@@ -235,7 +236,11 @@ - static char current_categories[_LC_LAST][ENCODING_LEN + 1] = { - "C", - "C", -+#ifdef __CYGWIN__ /* Cygwin starts with LC_CTYPE set to "C.UTF-8". */ -+ "C.UTF-8", -+#else - "C", -+#endif - "C", - "C", - "C", -@@ -255,13 +260,12 @@ - - #endif /* _MB_CAPABLE */ - --#if 0 /*def __CYGWIN__ TODO: temporarily(?) disable C == UTF-8 */ -+#ifdef __CYGWIN__ - static char lc_ctype_charset[ENCODING_LEN + 1] = "UTF-8"; --static char lc_message_charset[ENCODING_LEN + 1] = "UTF-8"; - #else - static char lc_ctype_charset[ENCODING_LEN + 1] = "ASCII"; --static char lc_message_charset[ENCODING_LEN + 1] = "ASCII"; - #endif -+static char lc_message_charset[ENCODING_LEN + 1] = "ASCII"; - static int lc_ctype_cjk_lang = 0; - - char * -@@ -432,7 +436,7 @@ - #ifdef _MB_CAPABLE - #ifdef __CYGWIN__ - extern void __set_charset_from_locale (const char *locale, char *charset); --extern int __set_locale_from_locale_alias (const char *, char *); -+extern char *__set_locale_from_locale_alias (const char *, char *); - extern int __collate_load_locale (const char *, void *, const char *); - #endif /* __CYGWIN__ */ - -@@ -495,11 +499,7 @@ - if (!strcmp (locale, "POSIX")) - strcpy (locale, "C"); - if (!strcmp (locale, "C")) /* Default "C" locale */ --#if 0 /*def __CYGWIN__ TODO: temporarily(?) disable C == UTF-8 */ -- strcpy (charset, "UTF-8"); --#else - strcpy (charset, "ASCII"); --#endif - else if (locale[0] == 'C' - && (locale[1] == '-' /* Old newlib style */ - || locale[1] == '.')) /* Extension for the C locale to allow -@@ -952,7 +952,7 @@ - _DEFUN_VOID(__locale_msgcharset) - { - #ifdef __HAVE_LOCALE_INFO__ -- return __get_current_messages_locale ()->codeset; -+ return (char *) __get_current_messages_locale ()->codeset; - #else - return lc_message_charset; - #endif -@@ -972,21 +972,21 @@ - if (__nlocale_changed) - { - struct lc_numeric_T *n = __get_current_numeric_locale (); -- lconv.decimal_point = n->decimal_point; -- lconv.thousands_sep = n->thousands_sep; -- lconv.grouping = n->grouping; -+ lconv.decimal_point = (char *) n->decimal_point; -+ lconv.thousands_sep = (char *) n->thousands_sep; -+ lconv.grouping = (char *) n->grouping; - __nlocale_changed = 0; - } - if (__mlocale_changed) - { - struct lc_monetary_T *m = __get_current_monetary_locale (); -- lconv.int_curr_symbol = m->int_curr_symbol; -- lconv.currency_symbol = m->currency_symbol; -- lconv.mon_decimal_point = m->mon_decimal_point; -- lconv.mon_thousands_sep = m->mon_thousands_sep; -- lconv.mon_grouping = m->mon_grouping; -- lconv.positive_sign = m->positive_sign; -- lconv.negative_sign = m->negative_sign; -+ lconv.int_curr_symbol = (char *) m->int_curr_symbol; -+ lconv.currency_symbol = (char *) m->currency_symbol; -+ lconv.mon_decimal_point = (char *) m->mon_decimal_point; -+ lconv.mon_thousands_sep = (char *) m->mon_thousands_sep; -+ lconv.mon_grouping = (char *) m->mon_grouping; -+ lconv.positive_sign = (char *) m->positive_sign; -+ lconv.negative_sign = (char *) m->negative_sign; - lconv.int_frac_digits = m->int_frac_digits[0]; - lconv.frac_digits = m->frac_digits[0]; - lconv.p_cs_precedes = m->p_cs_precedes[0]; -diff -Naur newlib-1.19.0.orig/newlib/libc/machine/configure newlib-1.19.0/newlib/libc/machine/configure ---- newlib-1.19.0.orig/newlib/libc/machine/configure 2010-12-16 22:58:42.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/machine/configure 2011-07-20 05:54:59.249259095 +0200 -@@ -651,6 +651,7 @@ - ELIX_LEVEL_0_FALSE - ELIX_LEVEL_0_TRUE - LDFLAGS -+NO_INCLUDE_LIST - NEWLIB_CFLAGS - CCASFLAGS - CCAS -@@ -816,7 +817,6 @@ - w65 - x86_64 - xc16x --xscale - xstormy16 - z8k' - -@@ -3694,6 +3694,9 @@ - NEWLIB_CFLAGS=${newlib_cflags} - - -+NO_INCLUDE_LIST=${noinclude} -+ -+ - LDFLAGS=${ldflags} - - -@@ -9660,10 +9663,6 @@ - hardcode_shlibpath_var=no - ;; - -- freebsd1*) -- ld_shlibs=no -- ;; -- - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little -@@ -10582,10 +10581,6 @@ - shlibpath_var=LD_LIBRARY_PATH - ;; - --freebsd1*) -- dynamic_linker=no -- ;; -- - freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. -@@ -11445,7 +11440,7 @@ - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 11448 "configure" -+#line 11443 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -11551,7 +11546,7 @@ - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 11554 "configure" -+#line 11549 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -11878,8 +11873,6 @@ - ;; - xc16x) subdirs="$subdirs xc16x" - ;; -- xscale) subdirs="$subdirs xscale" -- ;; - xstormy16) subdirs="$subdirs xstormy16" - ;; - z8k) subdirs="$subdirs z8k" -diff -Naur newlib-1.19.0.orig/newlib/libc/machine/configure.in newlib-1.19.0/newlib/libc/machine/configure.in ---- newlib-1.19.0.orig/newlib/libc/machine/configure.in 2010-12-02 20:30:47.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/machine/configure.in 2011-07-20 05:54:59.249259095 +0200 -@@ -65,7 +65,6 @@ - w65) AC_CONFIG_SUBDIRS(w65) ;; - x86_64) AC_CONFIG_SUBDIRS(x86_64) ;; - xc16x) AC_CONFIG_SUBDIRS(xc16x) ;; -- xscale) AC_CONFIG_SUBDIRS(xscale) ;; - xstormy16) AC_CONFIG_SUBDIRS(xstormy16) ;; - z8k) AC_CONFIG_SUBDIRS(z8k) ;; - esac; -diff -Naur newlib-1.19.0.orig/newlib/libc/machine/frv/setjmp.S newlib-1.19.0/newlib/libc/machine/frv/setjmp.S ---- newlib-1.19.0.orig/newlib/libc/machine/frv/setjmp.S 2002-06-18 23:20:28.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/machine/frv/setjmp.S 2011-07-20 05:54:59.249259095 +0200 -@@ -123,4 +123,4 @@ - cmov gr9, gr8, cc4, 1 - ret - .Lend2: -- .size EXT(longjmp),.Lend2-EXT(longjmp2) -+ .size EXT(longjmp),.Lend2-EXT(longjmp) -diff -Naur newlib-1.19.0.orig/newlib/libc/machine/m68k/memcpy.S newlib-1.19.0/newlib/libc/machine/m68k/memcpy.S ---- newlib-1.19.0.orig/newlib/libc/machine/m68k/memcpy.S 2010-02-08 18:24:22.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/machine/m68k/memcpy.S 2011-07-20 05:54:59.249259095 +0200 -@@ -15,7 +15,7 @@ - - #include "m68kasm.h" - --#if defined (__mcoldfire__) || defined (__mc68010__) || defined (__mc68020__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) -+#if defined (__mcoldfire__) || defined (__mcpu32__) || defined (__mc68010__) || defined (__mc68020__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__) - # define MISALIGNED_OK 1 - #else - # define MISALIGNED_OK 0 -diff -Naur newlib-1.19.0.orig/newlib/libc/machine/mips/strlen.c newlib-1.19.0/newlib/libc/machine/mips/strlen.c ---- newlib-1.19.0.orig/newlib/libc/machine/mips/strlen.c 2002-03-14 03:41:43.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/machine/mips/strlen.c 2011-07-20 05:54:59.249259095 +0200 -@@ -60,6 +60,9 @@ - " addiu $2,$4,1\n" - "\n" - "1: lbu $3,0($4)\n" -+#if defined(_R3000) -+ " nop \n" -+#endif - " bnez $3,1b\n" - " addiu $4,$4,1\n" - "\n" -diff -Naur newlib-1.19.0.orig/newlib/libc/machine/powerpc/Makefile.am newlib-1.19.0/newlib/libc/machine/powerpc/Makefile.am ---- newlib-1.19.0.orig/newlib/libc/machine/powerpc/Makefile.am 2007-05-24 19:33:35.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/machine/powerpc/Makefile.am 2011-07-20 05:54:59.250259111 +0200 -@@ -10,7 +10,7 @@ - - AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib - --lib_a_SOURCES = setjmp.S times.c -+lib_a_SOURCES = setjmp.S - lib_a_CCASFLAGS=$(AM_CCASFLAGS) - lib_a_CFLAGS=$(AM_CFLAGS) - lib_a_LIBADD = @extra_objs@ -diff -Naur newlib-1.19.0.orig/newlib/libc/machine/powerpc/Makefile.in newlib-1.19.0/newlib/libc/machine/powerpc/Makefile.in ---- newlib-1.19.0.orig/newlib/libc/machine/powerpc/Makefile.in 2010-12-16 22:58:53.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/machine/powerpc/Makefile.in 2011-07-20 05:54:59.250259111 +0200 -@@ -51,7 +51,7 @@ - LIBRARIES = $(noinst_LIBRARIES) - ARFLAGS = cru - lib_a_AR = $(AR) $(ARFLAGS) --am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) lib_a-times.$(OBJEXT) -+am_lib_a_OBJECTS = lib_a-setjmp.$(OBJEXT) - lib_a_OBJECTS = $(am_lib_a_OBJECTS) - DEFAULT_INCLUDES = -I.@am__isrc@ - depcomp = -@@ -174,7 +174,7 @@ - AM_CCASFLAGS = $(INCLUDES) - noinst_LIBRARIES = lib.a - AM_CFLAGS = -I $(srcdir)/../../stdio -I $(srcdir)/../../stdlib --lib_a_SOURCES = setjmp.S times.c -+lib_a_SOURCES = setjmp.S - lib_a_CCASFLAGS = $(AM_CCASFLAGS) - lib_a_CFLAGS = $(AM_CFLAGS) - lib_a_LIBADD = @extra_objs@ -@@ -185,7 +185,7 @@ - all: all-am - - .SUFFIXES: --.SUFFIXES: .S .c .o .obj -+.SUFFIXES: .S .o .obj - am--refresh: - @: - $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) -@@ -246,18 +246,6 @@ - lib_a-setjmp.obj: setjmp.S - $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CCASFLAGS) $(CCASFLAGS) -c -o lib_a-setjmp.obj `if test -f 'setjmp.S'; then $(CYGPATH_W) 'setjmp.S'; else $(CYGPATH_W) '$(srcdir)/setjmp.S'; fi` - --.c.o: -- $(COMPILE) -c $< -- --.c.obj: -- $(COMPILE) -c `$(CYGPATH_W) '$<'` -- --lib_a-times.o: times.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-times.o `test -f 'times.c' || echo '$(srcdir)/'`times.c -- --lib_a-times.obj: times.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-times.obj `if test -f 'times.c'; then $(CYGPATH_W) 'times.c'; else $(CYGPATH_W) '$(srcdir)/times.c'; fi` -- - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ -diff -Naur newlib-1.19.0.orig/newlib/libc/machine/powerpc/times.c newlib-1.19.0/newlib/libc/machine/powerpc/times.c ---- newlib-1.19.0.orig/newlib/libc/machine/powerpc/times.c 2002-07-22 22:26:51.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/machine/powerpc/times.c 1970-01-01 01:00:00.000000000 +0100 -@@ -1,36 +0,0 @@ --/* Time support routines for PowerPC. -- * -- * Written by Aldy Hernandez. -- */ -- --#include <_ansi.h> --#include --#include --#include --#include -- --clock_t --times (struct tms *tp) --{ -- struct rusage usage; -- union { -- struct rusage r; -- /* Newlib's rusage has only 2 fields. We need to make room for -- when we call the system's rusage. This should be enough. */ -- int filler[32]; -- } host_ru; -- -- getrusage (RUSAGE_SELF, (void *)&host_ru); -- -- if (tp) -- { -- tp->tms_utime = host_ru.r.ru_utime.tv_sec * 1000 -- + host_ru.r.ru_utime.tv_usec; -- tp->tms_stime = host_ru.r.ru_stime.tv_sec * 1000 -- + host_ru.r.ru_stime.tv_usec; -- tp->tms_cutime = 0; /* user time, children */ -- tp->tms_cstime = 0; /* system time, children */ -- } -- -- return tp->tms_utime; --} -diff -Naur newlib-1.19.0.orig/newlib/libc/Makefile.am newlib-1.19.0/newlib/libc/Makefile.am ---- newlib-1.19.0.orig/newlib/libc/Makefile.am 2010-05-07 01:25:16.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/Makefile.am 2011-07-20 05:54:59.232258828 +0200 -@@ -36,6 +36,8 @@ - - if HAVE_XDR_DIR - XDR_SUBDIR = xdr -+rpcincludedir = $(tooldir) -+nobase_rpcinclude_HEADERS = include/rpc/xdr.h include/rpc/types.h - endif - - # The order of SUBDIRS is important for the integrated documentation. -@@ -140,8 +142,7 @@ - locale/stmp-def \ - reent/stmp-def \ - $(LIBC_EXTRA_DEF) \ -- misc/stmp-def \ -- posix/stmp-def -+ misc/stmp-def - - libc.info: sigset.texi extra.texi stdio64.texi posix.texi iconvset.texi \ - targetdep.tex $(SUBDEFS) -diff -Naur newlib-1.19.0.orig/newlib/libc/Makefile.in newlib-1.19.0/newlib/libc/Makefile.in ---- newlib-1.19.0.orig/newlib/libc/Makefile.in 2010-12-16 22:58:39.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/Makefile.in 2011-07-20 05:54:59.233258842 +0200 -@@ -17,6 +17,7 @@ - - - -+ - VPATH = @srcdir@ - pkgdatadir = $(datadir)/@PACKAGE@ - pkgincludedir = $(includedir)/@PACKAGE@ -@@ -39,7 +40,8 @@ - subdir = . - DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/configure $(am__configure_deps) \ -- $(srcdir)/../../mkinstalldirs $(libc_TEXINFOS) -+ $(srcdir)/../../mkinstalldirs $(libc_TEXINFOS) \ -+ $(am__nobase_rpcinclude_HEADERS_DIST) - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/../../libtool.m4 \ - $(top_srcdir)/../../ltoptions.m4 \ -@@ -155,6 +157,10 @@ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' - DATA = $(noinst_DATA) -+am__nobase_rpcinclude_HEADERS_DIST = include/rpc/xdr.h \ -+ include/rpc/types.h -+am__installdirs = "$(DESTDIR)$(rpcincludedir)" -+HEADERS = $(nobase_rpcinclude_HEADERS) - RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive - AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ -@@ -319,6 +325,8 @@ - @ENABLE_NEWLIB_ICONV_FALSE@NEWLIB_ICONV_LIBS = - @ENABLE_NEWLIB_ICONV_TRUE@NEWLIB_ICONV_LIBS = iconv/ces/lib.$(aext) iconv/ccs/lib.$(aext) iconv/lib/lib.$(aext) - @HAVE_XDR_DIR_TRUE@XDR_SUBDIR = xdr -+@HAVE_XDR_DIR_TRUE@rpcincludedir = $(tooldir) -+@HAVE_XDR_DIR_TRUE@nobase_rpcinclude_HEADERS = include/rpc/xdr.h include/rpc/types.h - - # The order of SUBDIRS is important for the integrated documentation. - # Do not change the order without considering the doc impact. -@@ -396,8 +404,7 @@ - locale/stmp-def \ - reent/stmp-def \ - $(LIBC_EXTRA_DEF) \ -- misc/stmp-def \ -- posix/stmp-def -+ misc/stmp-def - - info_TEXINFOS = libc.texinfo - libc_TEXINFOS = sigset.texi extra.texi posix.texi stdio64.texi iconvset.texi \ -@@ -638,6 +645,29 @@ - done - - clean-info: mostlyclean-aminfo clean-aminfo -+install-nobase_rpcincludeHEADERS: $(nobase_rpcinclude_HEADERS) -+ @$(NORMAL_INSTALL) -+ test -z "$(rpcincludedir)" || $(MKDIR_P) "$(DESTDIR)$(rpcincludedir)" -+ @list='$(nobase_rpcinclude_HEADERS)'; test -n "$(rpcincludedir)" || list=; \ -+ $(am__nobase_list) | while read dir files; do \ -+ xfiles=; for file in $$files; do \ -+ if test -f "$$file"; then xfiles="$$xfiles $$file"; \ -+ else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ -+ test -z "$$xfiles" || { \ -+ test "x$$dir" = x. || { \ -+ echo "$(MKDIR_P) '$(DESTDIR)$(rpcincludedir)/$$dir'"; \ -+ $(MKDIR_P) "$(DESTDIR)$(rpcincludedir)/$$dir"; }; \ -+ echo " $(INSTALL_HEADER) $$xfiles '$(DESTDIR)$(rpcincludedir)/$$dir'"; \ -+ $(INSTALL_HEADER) $$xfiles "$(DESTDIR)$(rpcincludedir)/$$dir" || exit $$?; }; \ -+ done -+ -+uninstall-nobase_rpcincludeHEADERS: -+ @$(NORMAL_UNINSTALL) -+ @list='$(nobase_rpcinclude_HEADERS)'; test -n "$(rpcincludedir)" || list=; \ -+ $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ -+ test -n "$$files" || exit 0; \ -+ echo " ( cd '$(DESTDIR)$(rpcincludedir)' && rm -f" $$files ")"; \ -+ cd "$(DESTDIR)$(rpcincludedir)" && rm -f $$files - - # This directory's subdirectories are mostly independent; you can cd - # into them and run `make' without going through this Makefile. -@@ -775,9 +805,12 @@ - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - check-am: - check: check-recursive --all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA) -+all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA) $(HEADERS) - installdirs: installdirs-recursive - installdirs-am: -+ for dir in "$(DESTDIR)$(rpcincludedir)"; do \ -+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ -+ done - install: install-recursive - install-exec: install-exec-recursive - install-data: install-data-recursive -@@ -827,7 +860,7 @@ - - info-am: $(INFO_DEPS) - --install-data-am: -+install-data-am: install-nobase_rpcincludeHEADERS - - install-dvi: install-dvi-recursive - -@@ -952,7 +985,8 @@ - ps-am: $(PSS) - - uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \ -- uninstall-pdf-am uninstall-ps-am -+ uninstall-nobase_rpcincludeHEADERS uninstall-pdf-am \ -+ uninstall-ps-am - - .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ - install-am install-strip tags-recursive -@@ -966,14 +1000,16 @@ - info-am install install-am install-data install-data-am \ - install-dvi install-dvi-am install-exec install-exec-am \ - install-html install-html-am install-info install-info-am \ -- install-man install-pdf install-pdf-am install-ps \ -- install-ps-am install-strip installcheck installcheck-am \ -- installdirs installdirs-am maintainer-clean \ -- maintainer-clean-aminfo maintainer-clean-generic mostlyclean \ -- mostlyclean-aminfo mostlyclean-compile mostlyclean-generic \ -- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ -- uninstall uninstall-am uninstall-dvi-am uninstall-html-am \ -- uninstall-info-am uninstall-pdf-am uninstall-ps-am -+ install-man install-nobase_rpcincludeHEADERS install-pdf \ -+ install-pdf-am install-ps install-ps-am install-strip \ -+ installcheck installcheck-am installdirs installdirs-am \ -+ maintainer-clean maintainer-clean-aminfo \ -+ maintainer-clean-generic mostlyclean mostlyclean-aminfo \ -+ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ -+ pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ -+ uninstall-dvi-am uninstall-html-am uninstall-info-am \ -+ uninstall-nobase_rpcincludeHEADERS uninstall-pdf-am \ -+ uninstall-ps-am - - @USE_LIBTOOL_FALSE@libc.a: $(SUBLIBS) - @USE_LIBTOOL_FALSE@ rm -f $@ -diff -Naur newlib-1.19.0.orig/newlib/libc/misc/__dprintf.c newlib-1.19.0/newlib/libc/misc/__dprintf.c ---- newlib-1.19.0.orig/newlib/libc/misc/__dprintf.c 2008-12-11 18:27:55.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/misc/__dprintf.c 2011-07-20 05:54:59.250259111 +0200 -@@ -5,6 +5,7 @@ - */ - - #include <_ansi.h> -+#include - #include "ctype.h" - #include "reent.h" - #include "string.h" -@@ -131,7 +132,7 @@ - write_string (unctrl (c)); - break; - case 'p' : -- l = (_POINTER_INT) va_arg (args, char *); -+ l = (intptr_t) va_arg (args, char *); - print_number (16, 1, l); - break; - case 'd' : -diff -Naur newlib-1.19.0.orig/newlib/libc/misc/ffs.c newlib-1.19.0/newlib/libc/misc/ffs.c ---- newlib-1.19.0.orig/newlib/libc/misc/ffs.c 2003-06-06 21:57:51.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/misc/ffs.c 2011-07-20 05:54:59.250259111 +0200 -@@ -6,9 +6,11 @@ - ffs - - ANSI_SYNOPSIS -+ #include - int ffs(int <[word]>); - - TRAD_SYNOPSIS -+ #include - int ffs(<[word]>); - - DESCRIPTION -@@ -24,7 +26,7 @@ - - No supporting OS subroutines are required. */ - --#include <_ansi.h> -+#include - - int - _DEFUN(ffs, (word), -diff -Naur newlib-1.19.0.orig/newlib/libc/posix/collate.c newlib-1.19.0/newlib/libc/posix/collate.c ---- newlib-1.19.0.orig/newlib/libc/posix/collate.c 2008-11-19 21:04:09.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/posix/collate.c 2011-07-20 05:54:59.251259127 +0200 -@@ -177,12 +177,13 @@ - { - const char *s; - int serrno = errno; -+ int dummy; - - /* Be careful to change write counts if you change the strings */ - write(STDERR_FILENO, "collate_error: ", 15); - write(STDERR_FILENO, f, strlen(f)); - write(STDERR_FILENO, ": ", 2); -- s = strerror(serrno); -+ s = _strerror_r(_REENT, serrno, 1, &dummy); - write(STDERR_FILENO, s, strlen(s)); - write(STDERR_FILENO, "\n", 1); - exit(ex); -diff -Naur newlib-1.19.0.orig/newlib/libc/posix/readdir.c newlib-1.19.0/newlib/libc/posix/readdir.c ---- newlib-1.19.0.orig/newlib/libc/posix/readdir.c 2003-06-06 21:57:51.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/posix/readdir.c 2011-07-20 05:54:59.251259127 +0200 -@@ -37,6 +37,7 @@ - static char sccsid[] = "@(#)readdir.c 5.7 (Berkeley) 6/1/90"; - #endif /* LIBC_SCCS and not lint */ - -+#include - #include - - extern int getdents (int fd, void *dp, int count); -@@ -75,7 +76,7 @@ - continue; - } - dp = (struct dirent *)(dirp->dd_buf + dirp->dd_loc); -- if ((int)dp & 03) { /* bogus pointer check */ -+ if ((intptr_t)dp & 03) { /* bogus pointer check */ - #ifdef HAVE_DD_LOCK - __lock_release_recursive(dirp->dd_lock); - #endif -diff -Naur newlib-1.19.0.orig/newlib/libc/reent/sbrkr.c newlib-1.19.0/newlib/libc/reent/sbrkr.c ---- newlib-1.19.0.orig/newlib/libc/reent/sbrkr.c 2003-06-03 21:48:07.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/reent/sbrkr.c 2011-07-20 05:54:59.251259127 +0200 -@@ -13,9 +13,7 @@ - #endif - #endif - --/* If MALLOC_PROVIDED is defined, we don't need this function. */ -- --#if defined (REENTRANT_SYSCALLS_PROVIDED) || defined (MALLOC_PROVIDED) -+#if defined (REENTRANT_SYSCALLS_PROVIDED) - - int _dummy_sbrk_syscalls = 1; - -diff -Naur newlib-1.19.0.orig/newlib/libc/search/db_local.h newlib-1.19.0/newlib/libc/search/db_local.h ---- newlib-1.19.0.orig/newlib/libc/search/db_local.h 2010-03-05 09:55:15.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/search/db_local.h 2011-07-20 05:54:59.251259127 +0200 -@@ -102,11 +102,11 @@ - typedef struct __db { - DBTYPE type; /* Underlying db type. */ - int (*close)(struct __db *); -- int (*del)(const struct __db *, const DBT *, u_int); -- int (*get)(const struct __db *, const DBT *, DBT *, u_int); -- int (*put)(const struct __db *, DBT *, const DBT *, u_int); -- int (*seq)(const struct __db *, DBT *, DBT *, u_int); -- int (*sync)(const struct __db *, u_int); -+ int (*del)(const struct __db *, const DBT *, __uint32_t); -+ int (*get)(const struct __db *, const DBT *, DBT *, __uint32_t); -+ int (*put)(const struct __db *, DBT *, const DBT *, __uint32_t); -+ int (*seq)(const struct __db *, DBT *, DBT *, __uint32_t); -+ int (*sync)(const struct __db *, __uint32_t); - void *internal; /* Access method private. */ - int (*fd)(const struct __db *); - } DB; -diff -Naur newlib-1.19.0.orig/newlib/libc/search/extern.h newlib-1.19.0/newlib/libc/search/extern.h ---- newlib-1.19.0.orig/newlib/libc/search/extern.h 2002-06-20 21:51:31.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/search/extern.h 2011-07-20 05:54:59.251259127 +0200 -@@ -43,7 +43,7 @@ - int __big_split(HTAB *, BUFHEAD *, BUFHEAD *, BUFHEAD *, - int, __uint32_t, SPLIT_RETURN *); - int __buf_free(HTAB *, int, int); --void __buf_init(HTAB *, int); -+void __buf_init(HTAB *, __uint32_t); - __uint32_t __call_hash(HTAB *, char *, int); - int __delpair(HTAB *, BUFHEAD *, int); - int __expand_table(HTAB *); -diff -Naur newlib-1.19.0.orig/newlib/libc/search/hash_buf.c newlib-1.19.0/newlib/libc/search/hash_buf.c ---- newlib-1.19.0.orig/newlib/libc/search/hash_buf.c 2004-05-26 19:57:10.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/search/hash_buf.c 2011-07-20 05:54:59.252259143 +0200 -@@ -118,7 +118,7 @@ - int newpage; /* If prev_bp set, indicates a new overflow page. */ - { - BUFHEAD *bp; -- __uint32_t is_disk_mask; -+ ptrdiff_t is_disk_mask; - int is_disk, segment_ndx; - SEGMENT segp; - -@@ -298,7 +298,7 @@ - extern void - __buf_init(hashp, nbytes) - HTAB *hashp; -- int nbytes; -+ __uint32_t nbytes; - { - BUFHEAD *bfp; - int npages; -diff -Naur newlib-1.19.0.orig/newlib/libc/search/hash.h newlib-1.19.0/newlib/libc/search/hash.h ---- newlib-1.19.0.orig/newlib/libc/search/hash.h 2008-07-02 20:38:45.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/search/hash.h 2011-07-20 05:54:59.251259127 +0200 -@@ -82,7 +82,7 @@ - - /* Hash Table Information */ - typedef struct hashhdr { /* Disk resident portion */ -- int magic; /* Magic NO for hash tables */ -+ __uint32_t magic; /* Magic NO for hash tables */ - int version; /* Version ID */ - __uint32_t lorder; /* Byte Order */ - int bsize; /* Bucket/Page Size */ -@@ -97,7 +97,7 @@ - int high_mask; /* Mask to modulo into entire table */ - int low_mask; /* Mask to modulo into lower half of - * table */ -- int ffactor; /* Fill factor */ -+ __uint32_t ffactor; /* Fill factor */ - int nkeys; /* Number of keys in hash table */ - int hdrpages; /* Size of table header */ - int h_charkey; /* value of hash(CHARKEY) */ -diff -Naur newlib-1.19.0.orig/newlib/libc/signal/Makefile.am newlib-1.19.0/newlib/libc/signal/Makefile.am ---- newlib-1.19.0.orig/newlib/libc/signal/Makefile.am 2006-04-11 21:02:09.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/signal/Makefile.am 2011-07-20 05:54:59.252259143 +0200 -@@ -4,7 +4,7 @@ - - INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) - --LIB_SOURCES = raise.c signal.c -+LIB_SOURCES = psignal.c raise.c signal.c - - libsignal_la_LDFLAGS = -Xcompiler -nostdlib - -@@ -21,7 +21,7 @@ - - include $(srcdir)/../../Makefile.shared - --CHEWOUT_FILES = raise.def signal.def -+CHEWOUT_FILES = psignal.def raise.def signal.def - - SUFFIXES = .def - -diff -Naur newlib-1.19.0.orig/newlib/libc/signal/Makefile.in newlib-1.19.0/newlib/libc/signal/Makefile.in ---- newlib-1.19.0.orig/newlib/libc/signal/Makefile.in 2010-12-16 22:59:02.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/signal/Makefile.in 2011-07-20 05:54:59.252259143 +0200 -@@ -55,12 +55,13 @@ - ARFLAGS = cru - lib_a_AR = $(AR) $(ARFLAGS) - lib_a_LIBADD = --am__objects_1 = lib_a-raise.$(OBJEXT) lib_a-signal.$(OBJEXT) -+am__objects_1 = lib_a-psignal.$(OBJEXT) lib_a-raise.$(OBJEXT) \ -+ lib_a-signal.$(OBJEXT) - @USE_LIBTOOL_FALSE@am_lib_a_OBJECTS = $(am__objects_1) - lib_a_OBJECTS = $(am_lib_a_OBJECTS) - LTLIBRARIES = $(noinst_LTLIBRARIES) - libsignal_la_LIBADD = --am__objects_2 = raise.lo signal.lo -+am__objects_2 = psignal.lo raise.lo signal.lo - @USE_LIBTOOL_TRUE@am_libsignal_la_OBJECTS = $(am__objects_2) - libsignal_la_OBJECTS = $(am_libsignal_la_OBJECTS) - libsignal_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ -@@ -228,7 +229,7 @@ - top_srcdir = @top_srcdir@ - AUTOMAKE_OPTIONS = cygnus - INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) --LIB_SOURCES = raise.c signal.c -+LIB_SOURCES = psignal.c raise.c signal.c - libsignal_la_LDFLAGS = -Xcompiler -nostdlib - @USE_LIBTOOL_TRUE@noinst_LTLIBRARIES = libsignal.la - @USE_LIBTOOL_TRUE@libsignal_la_SOURCES = $(LIB_SOURCES) -@@ -237,7 +238,7 @@ - @USE_LIBTOOL_FALSE@noinst_LIBRARIES = lib.a - @USE_LIBTOOL_FALSE@lib_a_SOURCES = $(LIB_SOURCES) - @USE_LIBTOOL_FALSE@lib_a_CFLAGS = $(AM_CFLAGS) --CHEWOUT_FILES = raise.def signal.def -+CHEWOUT_FILES = psignal.def raise.def signal.def - SUFFIXES = .def - CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str - TARGETDOC = ../tmp.texi -@@ -310,6 +311,12 @@ - .c.lo: - $(LTCOMPILE) -c -o $@ $< - -+lib_a-psignal.o: psignal.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-psignal.o `test -f 'psignal.c' || echo '$(srcdir)/'`psignal.c -+ -+lib_a-psignal.obj: psignal.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-psignal.obj `if test -f 'psignal.c'; then $(CYGPATH_W) 'psignal.c'; else $(CYGPATH_W) '$(srcdir)/psignal.c'; fi` -+ - lib_a-raise.o: raise.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-raise.o `test -f 'raise.c' || echo '$(srcdir)/'`raise.c - -diff -Naur newlib-1.19.0.orig/newlib/libc/signal/psignal.c newlib-1.19.0/newlib/libc/signal/psignal.c ---- newlib-1.19.0.orig/newlib/libc/signal/psignal.c 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/signal/psignal.c 2011-07-20 05:54:59.252259143 +0200 -@@ -0,0 +1,51 @@ -+/* Copyright 2002, 2011 Red Hat Inc. */ -+/* -+FUNCTION -+<>---print a signal message on standard error -+ -+INDEX -+ psignal -+ -+ANSI_SYNOPSIS -+ #include -+ void psignal(int <[signal]>, const char *<[prefix]>); -+ -+TRAD_SYNOPSIS -+ #include -+ void psignal(<[signal]>, <[prefix]>) -+ int <[signal]>; -+ const char *<[prefix]>; -+ -+DESCRIPTION -+Use <> to print (on standard error) a signal message -+corresponding to the value of the signal number <[signal]>. -+Unless you use <> as the value of the argument <[prefix]>, the -+signal message will begin with the string at <[prefix]>, followed by a -+colon and a space (<<: >>). The remainder of the signal message is one -+of the strings described for <>. -+ -+RETURNS -+<> returns no result. -+ -+PORTABILITY -+POSIX.1-2008 requires <>, but the strings issued vary from one -+implementation to another. -+ -+Supporting OS subroutines required: <>, <>, <>, -+<>, <>, <>, <>. -+*/ -+ -+#include <_ansi.h> -+#include -+#include -+ -+_VOID -+_DEFUN(psignal, (sig, s), -+ int sig _AND -+ _CONST char *s) -+{ -+ if (s != NULL && *s != '\0') -+ fprintf (stderr, "%s: %s\n", s, strsignal (sig)); -+ else -+ fprintf (stderr, "%s\n", strsignal (sig)); -+} -diff -Naur newlib-1.19.0.orig/newlib/libc/signal/signal.tex newlib-1.19.0/newlib/libc/signal/signal.tex ---- newlib-1.19.0.orig/newlib/libc/signal/signal.tex 2000-02-17 20:39:47.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/signal/signal.tex 2011-07-20 05:54:59.252259143 +0200 -@@ -59,11 +59,15 @@ - reliable from signal handlers.) - - @menu -+* psignal:: Print a signal message to standard error - * raise:: Send a signal - * signal:: Specify handler subroutine for a signal - @end menu - - @page -+@include signal/psignal.def -+ -+@page - @include signal/raise.def - - @page -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fclose.c newlib-1.19.0/newlib/libc/stdio/fclose.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fclose.c 2007-07-13 22:37:53.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/stdio/fclose.c 2011-07-20 05:54:59.252259143 +0200 -@@ -74,8 +74,6 @@ - if (fp == NULL) - return (0); /* on NULL */ - -- __sfp_lock_acquire (); -- - CHECK_INIT (rptr, fp); - - _flockfile (fp); -@@ -83,7 +81,6 @@ - if (fp->_flags == 0) /* not open! */ - { - _funlockfile (fp); -- __sfp_lock_release (); - return (0); - } - /* Unconditionally flush to allow special handling for seekable read -@@ -98,6 +95,7 @@ - FREEUB (rptr, fp); - if (HASLB (fp)) - FREELB (rptr, fp); -+ __sfp_lock_acquire (); - fp->_flags = 0; /* release this FILE for reuse */ - _funlockfile (fp); - #ifndef __SINGLE_THREAD__ -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fflush.c newlib-1.19.0/newlib/libc/stdio/fflush.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fflush.c 2009-10-30 09:26:41.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/stdio/fflush.c 2011-07-20 05:54:59.253259158 +0200 -@@ -67,37 +67,16 @@ - - /* Flush a single file, or (if fp is NULL) all files. */ - -+/* Core function which does not lock file pointer. This gets called -+ directly from __srefill. */ - int --_DEFUN(_fflush_r, (ptr, fp), -+_DEFUN(__sflush_r, (ptr, fp), - struct _reent *ptr _AND - register FILE * fp) - { - register unsigned char *p; - register int n, t; - --#ifdef _REENT_SMALL -- /* For REENT_SMALL platforms, it is possible we are being -- called for the first time on a std stream. This std -- stream can belong to a reentrant struct that is not -- _REENT. If CHECK_INIT gets called below based on _REENT, -- we will end up changing said file pointers to the equivalent -- std stream off of _REENT. This causes unexpected behavior if -- there is any data to flush on the _REENT std stream. There -- are two alternatives to fix this: 1) make a reentrant fflush -- or 2) simply recognize that this file has nothing to flush -- and return immediately before performing a CHECK_INIT. Choice -- 2 is implemented here due to its simplicity. */ -- if (fp->_bf._base == NULL) -- return 0; --#endif /* _REENT_SMALL */ -- -- CHECK_INIT (ptr, fp); -- -- if (!fp->_flags) -- return 0; -- -- _flockfile (fp); -- - t = fp->_flags; - if ((t & __SWR) == 0) - { -@@ -150,7 +129,6 @@ - } - else - fp->_flags |= __SERR; -- _funlockfile (fp); - return result; - } - } -@@ -186,17 +164,14 @@ - else - { - fp->_flags |= __SERR; -- _funlockfile (fp); - return EOF; - } - } -- _funlockfile (fp); - return 0; - } - if ((p = fp->_bf._base) == NULL) - { - /* Nothing to flush. */ -- _funlockfile (fp); - return 0; - } - n = fp->_p - p; /* write this much */ -@@ -215,16 +190,48 @@ - if (t <= 0) - { - fp->_flags |= __SERR; -- _funlockfile (fp); - return EOF; - } - p += t; - n -= t; - } -- _funlockfile (fp); - return 0; - } - -+int -+_DEFUN(_fflush_r, (ptr, fp), -+ struct _reent *ptr _AND -+ register FILE * fp) -+{ -+ int ret; -+ -+#ifdef _REENT_SMALL -+ /* For REENT_SMALL platforms, it is possible we are being -+ called for the first time on a std stream. This std -+ stream can belong to a reentrant struct that is not -+ _REENT. If CHECK_INIT gets called below based on _REENT, -+ we will end up changing said file pointers to the equivalent -+ std stream off of _REENT. This causes unexpected behavior if -+ there is any data to flush on the _REENT std stream. There -+ are two alternatives to fix this: 1) make a reentrant fflush -+ or 2) simply recognize that this file has nothing to flush -+ and return immediately before performing a CHECK_INIT. Choice -+ 2 is implemented here due to its simplicity. */ -+ if (fp->_bf._base == NULL) -+ return 0; -+#endif /* _REENT_SMALL */ -+ -+ CHECK_INIT (ptr, fp); -+ -+ if (!fp->_flags) -+ return 0; -+ -+ _flockfile (fp); -+ ret = __sflush_r (ptr, fp); -+ _funlockfile (fp); -+ return ret; -+} -+ - #ifndef _REENT_ONLY - - int -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fgetc.c newlib-1.19.0/newlib/libc/stdio/fgetc.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fgetc.c 2009-04-25 00:52:51.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/stdio/fgetc.c 2011-07-20 05:54:59.253259158 +0200 -@@ -93,11 +93,9 @@ - #if !defined(PREFER_SIZE_OVER_SPEED) && !defined(__OPTIMIZE_SIZE__) - int result; - CHECK_INIT(_REENT, fp); -- __sfp_lock_acquire (); - _flockfile (fp); - result = __sgetc_r (_REENT, fp); - _funlockfile (fp); -- __sfp_lock_release (); - return result; - #else - return _fgetc_r (_REENT, fp); -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fgets.c newlib-1.19.0/newlib/libc/stdio/fgets.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fgets.c 2009-04-25 00:52:51.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/stdio/fgets.c 2011-07-20 05:54:59.253259158 +0200 -@@ -98,7 +98,6 @@ - - CHECK_INIT(ptr, fp); - -- __sfp_lock_acquire (); - _flockfile (fp); - #ifdef __SCLE - if (fp->_flags & __SCLE) -@@ -114,12 +113,10 @@ - if (c == EOF && s == buf) - { - _funlockfile (fp); -- __sfp_lock_release (); - return NULL; - } - *s = 0; - _funlockfile (fp); -- __sfp_lock_release (); - return buf; - } - #endif -@@ -138,7 +135,6 @@ - if (s == buf) - { - _funlockfile (fp); -- __sfp_lock_release (); - return 0; - } - break; -@@ -164,7 +160,6 @@ - _CAST_VOID memcpy ((_PTR) s, (_PTR) p, len); - s[len] = 0; - _funlockfile (fp); -- __sfp_lock_release (); - return (buf); - } - fp->_r -= len; -@@ -175,7 +170,6 @@ - while ((n -= len) != 0); - *s = 0; - _funlockfile (fp); -- __sfp_lock_release (); - return buf; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fgetwc.c newlib-1.19.0/newlib/libc/stdio/fgetwc.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fgetwc.c 2009-04-25 00:52:52.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/stdio/fgetwc.c 2011-07-20 05:54:59.253259158 +0200 -@@ -164,12 +164,10 @@ - { - wint_t r; - -- __sfp_lock_acquire (); - _flockfile (fp); - ORIENT(fp, 1); - r = __fgetwc (ptr, fp); - _funlockfile (fp); -- __sfp_lock_release (); - return r; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fgetws.c newlib-1.19.0/newlib/libc/stdio/fgetws.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fgetws.c 2009-04-25 00:52:52.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/stdio/fgetws.c 2011-07-20 05:54:59.253259158 +0200 -@@ -93,7 +93,6 @@ - const char *src; - unsigned char *nl; - -- __sfp_lock_acquire (); - _flockfile (fp); - ORIENT (fp, 1); - -@@ -144,12 +143,10 @@ - goto error; - *wsp++ = L'\0'; - _funlockfile (fp); -- __sfp_lock_release (); - return ws; - - error: - _funlockfile (fp); -- __sfp_lock_release (); - return NULL; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fmemopen.c newlib-1.19.0/newlib/libc/stdio/fmemopen.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fmemopen.c 2007-08-02 22:23:06.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/stdio/fmemopen.c 2011-07-20 05:54:59.254259173 +0200 -@@ -281,7 +281,7 @@ - - if ((flags = __sflags (ptr, mode, &dummy)) == 0) - return NULL; -- if (!size || !(buf || flags & __SAPP)) -+ if (!size || !(buf || flags & __SRW)) - { - ptr->_errno = EINVAL; - return NULL; -@@ -310,7 +310,7 @@ - { - /* r+/w+/a+, and no buf: file starts empty. */ - c->buf = (char *) (c + 1); -- *(char *) buf = '\0'; -+ c->buf[0] = '\0'; - c->pos = c->eof = 0; - c->append = (flags & __SAPP) != 0; - } -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fpurge.c newlib-1.19.0/newlib/libc/stdio/fpurge.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fpurge.c 2009-07-03 13:58:04.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/stdio/fpurge.c 2011-07-20 05:54:59.254259173 +0200 -@@ -11,6 +11,8 @@ - fpurge - INDEX - _fpurge_r -+INDEX -+ __fpurge - - ANSI_SYNOPSIS - #include -@@ -18,6 +20,11 @@ - - int _fpurge_r(struct _reent *<[reent]>, FILE *<[fp]>); - -+ #include -+ #include -+ void __fpurge(FILE *<[fp]>); -+ -+ - DESCRIPTION - Use <> to clear all buffers of the given stream. For output - streams, this discards data not yet written to disk. For input streams, -@@ -26,6 +33,8 @@ - and generally is only needed when manually altering the underlying file - descriptor of a stream. - -+<<__fpurge>> behaves exactly like <> but does not return a value. -+ - The alternate function <<_fpurge_r>> is a reentrant version, where the - extra argument <[reent]> is a pointer to a reentrancy structure, and - <[fp]> must not be NULL. -@@ -42,6 +51,9 @@ - - #include <_ansi.h> - #include -+#ifndef __rtems__ -+#include -+#endif - #include - #include "local.h" - -@@ -87,4 +99,15 @@ - return _fpurge_r (_REENT, fp); - } - -+#ifndef __rtems__ -+ -+void -+_DEFUN(__fpurge, (fp), -+ register FILE * fp) -+{ -+ _fpurge_r (_REENT, fp); -+} -+ -+#endif -+ - #endif /* _REENT_ONLY */ -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fread.c newlib-1.19.0/newlib/libc/stdio/fread.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fread.c 2009-04-25 00:52:52.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/stdio/fread.c 2011-07-20 05:54:59.254259173 +0200 -@@ -146,7 +146,6 @@ - - CHECK_INIT(ptr, fp); - -- __sfp_lock_acquire (); - _flockfile (fp); - ORIENT (fp, -1); - if (fp->_r < 0) -@@ -197,12 +196,10 @@ - if (fp->_flags & __SCLE) - { - _funlockfile (fp); -- __sfp_lock_release (); - return crlf_r (ptr, fp, buf, total-resid, 1) / size; - } - #endif - _funlockfile (fp); -- __sfp_lock_release (); - return (total - resid) / size; - } - } -@@ -224,12 +221,10 @@ - if (fp->_flags & __SCLE) - { - _funlockfile (fp); -- __sfp_lock_release (); - return crlf_r (ptr, fp, buf, total-resid, 1) / size; - } - #endif - _funlockfile (fp); -- __sfp_lock_release (); - return (total - resid) / size; - } - } -@@ -243,12 +238,10 @@ - if (fp->_flags & __SCLE) - { - _funlockfile (fp); -- __sfp_lock_release (); - return crlf_r(ptr, fp, buf, total, 0) / size; - } - #endif - _funlockfile (fp); -- __sfp_lock_release (); - return count; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/freopen.c newlib-1.19.0/newlib/libc/stdio/freopen.c ---- newlib-1.19.0.orig/newlib/libc/stdio/freopen.c 2008-12-12 16:45:19.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/stdio/freopen.c 2011-07-20 05:54:59.254259173 +0200 -@@ -98,8 +98,6 @@ - int flags, oflags; - int e = 0; - -- __sfp_lock_acquire (); -- - CHECK_INIT (ptr, fp); - - _flockfile (fp); -@@ -108,7 +106,6 @@ - { - _funlockfile (fp); - _fclose_r (ptr, fp); -- __sfp_lock_release (); - return NULL; - } - -@@ -208,6 +205,7 @@ - - if (f < 0) - { /* did not get it after all */ -+ __sfp_lock_acquire (); - fp->_flags = 0; /* set it free */ - ptr->_errno = e; /* restore in case _close clobbered */ - _funlockfile (fp); -@@ -232,7 +230,6 @@ - #endif - - _funlockfile (fp); -- __sfp_lock_release (); - return fp; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fscanf.c newlib-1.19.0/newlib/libc/stdio/fscanf.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fscanf.c 2004-04-23 22:01:55.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/stdio/fscanf.c 2011-07-20 05:54:59.254259173 +0200 -@@ -45,7 +45,7 @@ - #else - va_start (ap); - #endif -- ret = __svfscanf_r (_REENT, fp, fmt, ap); -+ ret = _vfscanf_r (_REENT, fp, fmt, ap); - va_end (ap); - return ret; - } -@@ -71,7 +71,7 @@ - #else - va_start (ap); - #endif -- ret = __svfscanf_r (ptr, fp, fmt, ap); -+ ret = _vfscanf_r (ptr, fp, fmt, ap); - va_end (ap); - return (ret); - } -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fseek.c newlib-1.19.0/newlib/libc/stdio/fseek.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fseek.c 2009-12-17 20:43:43.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/stdio/fseek.c 2011-07-20 05:54:59.255259189 +0200 -@@ -138,7 +138,6 @@ - - CHECK_INIT (ptr, fp); - -- __sfp_lock_acquire (); - _flockfile (fp); - - /* If we've been doing some writing, and we're in append mode -@@ -156,7 +155,6 @@ - { - ptr->_errno = ESPIPE; /* ??? */ - _funlockfile (fp); -- __sfp_lock_release (); - return EOF; - } - -@@ -182,7 +180,6 @@ - if (curoff == -1L) - { - _funlockfile (fp); -- __sfp_lock_release (); - return EOF; - } - } -@@ -208,7 +205,6 @@ - default: - ptr->_errno = EINVAL; - _funlockfile (fp); -- __sfp_lock_release (); - return (EOF); - } - -@@ -268,7 +264,6 @@ - { - ptr->_errno = EOVERFLOW; - _funlockfile (fp); -- __sfp_lock_release (); - return EOF; - } - -@@ -325,7 +320,6 @@ - fp->_flags &= ~__SEOF; - memset (&fp->_mbstate, 0, sizeof (_mbstate_t)); - _funlockfile (fp); -- __sfp_lock_release (); - return 0; - } - -@@ -356,7 +350,6 @@ - } - memset (&fp->_mbstate, 0, sizeof (_mbstate_t)); - _funlockfile (fp); -- __sfp_lock_release (); - return 0; - - /* -@@ -369,7 +362,6 @@ - || seekfn (ptr, fp->_cookie, offset, whence) == POS_ERR) - { - _funlockfile (fp); -- __sfp_lock_release (); - return EOF; - } - /* success: clear EOF indicator and discard ungetc() data */ -@@ -388,7 +380,6 @@ - fp->_flags &= ~__SNPT; - memset (&fp->_mbstate, 0, sizeof (_mbstate_t)); - _funlockfile (fp); -- __sfp_lock_release (); - return 0; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fvwrite.c newlib-1.19.0/newlib/libc/stdio/fvwrite.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fvwrite.c 2007-07-13 22:37:53.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/stdio/fvwrite.c 2011-07-20 05:54:59.255259189 +0200 -@@ -61,11 +61,7 @@ - - /* make sure we can write */ - if (cantwrite (ptr, fp)) -- { -- fp->_flags |= __SERR; -- ptr->_errno = EBADF; -- return EOF; -- } -+ return EOF; - - iov = uio->uio_iov; - len = 0; -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fwalk.c newlib-1.19.0/newlib/libc/stdio/fwalk.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fwalk.c 2009-01-12 23:19:11.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/stdio/fwalk.c 2011-07-20 05:54:59.255259189 +0200 -@@ -27,8 +27,8 @@ - #include - #include "local.h" - --static int --_DEFUN(__fwalk, (ptr, function), -+int -+_DEFUN(_fwalk, (ptr, function), - struct _reent *ptr _AND - register int (*function) (FILE *)) - { -@@ -36,11 +36,19 @@ - register int n, ret = 0; - register struct _glue *g; - -+ /* -+ * It should be safe to walk the list without locking it; -+ * new nodes are only added to the end and none are ever -+ * removed. -+ * -+ * Avoid locking this list while walking it or else you will -+ * introduce a potential deadlock in [at least] refill.c. -+ */ - for (g = &ptr->__sglue; g != NULL; g = g->_next) - for (fp = g->_iobs, n = g->_niobs; --n >= 0; fp++) - if (fp->_flags != 0) - { -- if (fp->_flags != 0 && fp->_file != -1) -+ if (fp->_flags != 0 && fp->_flags != 1 && fp->_file != -1) - ret |= (*function) (fp); - } - -@@ -49,8 +57,8 @@ - - /* Special version of __fwalk where the function pointer is a reentrant - I/O function (e.g. _fclose_r). */ --static int --_DEFUN(__fwalk_reent, (ptr, reent_function), -+int -+_DEFUN(_fwalk_reent, (ptr, reent_function), - struct _reent *ptr _AND - register int (*reent_function) (struct _reent *, FILE *)) - { -@@ -58,51 +66,21 @@ - register int n, ret = 0; - register struct _glue *g; - -+ /* -+ * It should be safe to walk the list without locking it; -+ * new nodes are only added to the end and none are ever -+ * removed. -+ * -+ * Avoid locking this list while walking it or else you will -+ * introduce a potential deadlock in [at least] refill.c. -+ */ - for (g = &ptr->__sglue; g != NULL; g = g->_next) - for (fp = g->_iobs, n = g->_niobs; --n >= 0; fp++) - if (fp->_flags != 0) - { -- if (fp->_flags != 0 && fp->_file != -1) -+ if (fp->_flags != 0 && fp->_flags != 1 && fp->_file != -1) - ret |= (*reent_function) (ptr, fp); - } - - return ret; - } -- --int --_DEFUN(_fwalk, (ptr, function), -- struct _reent *ptr _AND -- register int (*function)(FILE *)) --{ -- register int ret = 0; -- -- __sfp_lock_acquire (); -- -- /* Must traverse given list for streams. Note that _GLOBAL_REENT -- only walked once in exit(). */ -- ret |= __fwalk (ptr, function); -- -- __sfp_lock_release (); -- -- return ret; --} -- --/* Special version of _fwalk which handles a function pointer to a -- reentrant I/O function (e.g. _fclose_r). */ --int --_DEFUN(_fwalk_reent, (ptr, reent_function), -- struct _reent *ptr _AND -- register int (*reent_function) (struct _reent *, FILE *)) --{ -- register int ret = 0; -- -- __sfp_lock_acquire (); -- -- /* Must traverse given list for streams. Note that _GLOBAL_REENT -- only walked once in exit(). */ -- ret |= __fwalk_reent (ptr, reent_function); -- -- __sfp_lock_release (); -- -- return ret; --} -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/fwscanf.c newlib-1.19.0/newlib/libc/stdio/fwscanf.c ---- newlib-1.19.0.orig/newlib/libc/stdio/fwscanf.c 2009-03-11 12:53:22.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/stdio/fwscanf.c 2011-07-20 05:54:59.255259189 +0200 -@@ -31,7 +31,7 @@ - va_list ap; - - va_start (ap, fmt); -- ret = __svfwscanf_r (_REENT, fp, fmt, ap); -+ ret = _vfwscanf_r (_REENT, fp, fmt, ap); - va_end (ap); - return ret; - } -@@ -45,7 +45,7 @@ - va_list ap; - - va_start (ap, fmt); -- ret = __svfwscanf_r (ptr, fp, fmt, ap); -+ ret = _vfwscanf_r (ptr, fp, fmt, ap); - va_end (ap); - return (ret); - } -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/getc.c newlib-1.19.0/newlib/libc/stdio/getc.c ---- newlib-1.19.0.orig/newlib/libc/stdio/getc.c 2009-04-25 00:52:52.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/stdio/getc.c 2011-07-20 05:54:59.255259189 +0200 -@@ -92,11 +92,9 @@ - { - int result; - CHECK_INIT (ptr, fp); -- __sfp_lock_acquire (); - _flockfile (fp); - result = __sgetc_r (ptr, fp); - _funlockfile (fp); -- __sfp_lock_release (); - return result; - } - -@@ -108,11 +106,9 @@ - { - int result; - CHECK_INIT (_REENT, fp); -- __sfp_lock_acquire (); - _flockfile (fp); - result = __sgetc_r (_REENT, fp); - _funlockfile (fp); -- __sfp_lock_release (); - return result; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/getdelim.c newlib-1.19.0/newlib/libc/stdio/getdelim.c ---- newlib-1.19.0.orig/newlib/libc/stdio/getdelim.c 2009-04-25 00:52:52.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/stdio/getdelim.c 2011-07-20 05:54:59.256259205 +0200 -@@ -81,7 +81,6 @@ - - CHECK_INIT (_REENT, fp); - -- __sfp_lock_acquire (); - _flockfile (fp); - - numbytes = *n; -@@ -131,7 +130,6 @@ - } - - _funlockfile (fp); -- __sfp_lock_release (); - - /* if no input data, return failure */ - if (ptr == buf) -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/gets.c newlib-1.19.0/newlib/libc/stdio/gets.c ---- newlib-1.19.0.orig/newlib/libc/stdio/gets.c 2009-04-25 00:52:52.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/stdio/gets.c 2011-07-20 05:54:59.256259205 +0200 -@@ -79,14 +79,12 @@ - register int c; - register char *s = buf; - -- __sfp_lock_acquire (); - _flockfile (stdin); - while ((c = __sgetc_r (ptr, stdin)) != '\n') - if (c == EOF) - if (s == buf) - { - _funlockfile (stdin); -- __sfp_lock_release (); - return NULL; - } - else -@@ -95,7 +93,6 @@ - *s++ = c; - *s = 0; - _funlockfile (stdin); -- __sfp_lock_release (); - return buf; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/local.h newlib-1.19.0/newlib/libc/stdio/local.h ---- newlib-1.19.0.orig/newlib/libc/stdio/local.h 2009-04-22 10:30:03.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/stdio/local.h 2011-07-20 05:54:59.256259205 +0200 -@@ -54,6 +54,7 @@ - va_list)); - extern FILE *_EXFUN(__sfp,(struct _reent *)); - extern int _EXFUN(__sflags,(struct _reent *,_CONST char*, int*)); -+extern int _EXFUN(__sflush_r,(struct _reent *,FILE *)); - extern int _EXFUN(__srefill_r,(struct _reent *,FILE *)); - extern _READ_WRITE_RETURN_TYPE _EXFUN(__sread,(struct _reent *, void *, char *, - int)); -@@ -112,7 +113,8 @@ - } \ - while (0) - --/* Return true iff the given FILE cannot be written now. */ -+/* Return true and set errno and stream error flag iff the given FILE -+ cannot be written now. */ - - #define cantwrite(ptr, fp) \ - ((((fp)->_flags & __SWR) == 0 || (fp)->_bf._base == NULL) && \ -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/open_memstream.c newlib-1.19.0/newlib/libc/stdio/open_memstream.c ---- newlib-1.19.0.orig/newlib/libc/stdio/open_memstream.c 2009-02-25 05:00:05.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/stdio/open_memstream.c 2011-07-20 05:54:59.256259205 +0200 -@@ -330,8 +330,10 @@ - c->max *= sizeof(wchar_t); - if (c->max < 64) - c->max = 64; -- else if (c->max > 64 * 1024) -- c->max = 64 * 1024; -+#if (SIZE_MAX >= 0x10000) -+ else if (c->max > 0x10000) -+ c->max = 0x10000; -+#endif - *size = 0; - *buf = _malloc_r (ptr, c->max); - if (!*buf) -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/perror.c newlib-1.19.0/newlib/libc/stdio/perror.c ---- newlib-1.19.0.orig/newlib/libc/stdio/perror.c 2005-02-08 02:33:17.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/stdio/perror.c 2011-07-20 05:54:59.256259205 +0200 -@@ -73,6 +73,7 @@ - _CONST char *s) - { - char *error; -+ int dummy; - - _REENT_SMALL_CHECK_INIT (ptr); - if (s != NULL && *s != '\0') -@@ -81,7 +82,7 @@ - fputs (": ", _stderr_r (ptr)); - } - -- if ((error = strerror (ptr->_errno)) != NULL) -+ if ((error = _strerror_r (ptr, ptr->_errno, 1, &dummy)) != NULL) - fputs (error, _stderr_r (ptr)); - - fputc ('\n', _stderr_r (ptr)); -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/refill.c newlib-1.19.0/newlib/libc/stdio/refill.c ---- newlib-1.19.0.orig/newlib/libc/stdio/refill.c 2008-12-11 00:43:12.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/stdio/refill.c 2011-07-20 05:54:59.256259205 +0200 -@@ -102,9 +102,19 @@ - * flush all line buffered output files, per the ANSI C - * standard. - */ -- - if (fp->_flags & (__SLBF | __SNBF)) -- _CAST_VOID _fwalk (_GLOBAL_REENT, lflush); -+ { -+ /* Ignore this file in _fwalk to avoid potential deadlock. */ -+ short orig_flags = fp->_flags; -+ fp->_flags = 1; -+ _CAST_VOID _fwalk (_GLOBAL_REENT, lflush); -+ fp->_flags = orig_flags; -+ -+ /* Now flush this file without locking it. */ -+ if ((fp->_flags & (__SLBF|__SWR)) == (__SLBF|__SWR)) -+ __sflush_r (ptr, fp); -+ } -+ - fp->_p = fp->_bf._base; - fp->_r = fp->_read (ptr, fp->_cookie, (char *) fp->_p, fp->_bf._size); - #ifndef __CYGWIN__ -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/scanf.c newlib-1.19.0/newlib/libc/stdio/scanf.c ---- newlib-1.19.0.orig/newlib/libc/stdio/scanf.c 2005-02-08 02:33:17.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/stdio/scanf.c 2011-07-20 05:54:59.257259221 +0200 -@@ -45,7 +45,7 @@ - #else - va_start (ap); - #endif -- ret = __svfscanf_r (_REENT, _stdin_r (_REENT), fmt, ap); -+ ret = _vfscanf_r (_REENT, _stdin_r (_REENT), fmt, ap); - va_end (ap); - return ret; - } -@@ -71,7 +71,7 @@ - #else - va_start (ap); - #endif -- ret = __svfscanf_r (ptr, _stdin_r (ptr), fmt, ap); -+ ret = _vfscanf_r (ptr, _stdin_r (ptr), fmt, ap); - va_end (ap); - return (ret); - } -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/tmpnam.c newlib-1.19.0/newlib/libc/stdio/tmpnam.c ---- newlib-1.19.0.orig/newlib/libc/stdio/tmpnam.c 2004-04-23 22:01:55.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/stdio/tmpnam.c 2011-07-20 05:54:59.257259221 +0200 -@@ -94,6 +94,7 @@ - #include <_ansi.h> - #include - #include -+#include - #include - #include - #include -@@ -109,7 +110,7 @@ - char *result _AND - _CONST char *part1 _AND - _CONST char *part2 _AND -- int part3 _AND -+ intptr_t part3 _AND - int *part4) - { - /* Generate the filename and make sure that there isn't one called -@@ -183,7 +184,7 @@ - if (filename) - { - if (! worker (p, filename, dir, prefix, -- _getpid_r (p) ^ (int) (_POINTER_INT) p, &p->_inc)) -+ _getpid_r (p) ^ (intptr_t) p, &p->_inc)) - return NULL; - } - return filename; -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/vfscanf.c newlib-1.19.0/newlib/libc/stdio/vfscanf.c ---- newlib-1.19.0.orig/newlib/libc/stdio/vfscanf.c 2010-01-20 00:16:45.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/stdio/vfscanf.c 2011-07-20 05:54:59.257259221 +0200 -@@ -494,7 +494,6 @@ - # define GET_ARG(n, ap, type) (va_arg (ap, type)) - #endif - -- __sfp_lock_acquire (); - _flockfile (fp); - - ORIENT (fp, -1); -@@ -795,7 +794,6 @@ - */ - case '\0': /* compat */ - _funlockfile (fp); -- __sfp_lock_release (); - return EOF; - - default: /* compat */ -@@ -1596,13 +1594,11 @@ - invalid format string), return EOF if no matches yet, else number - of matches made prior to failure. */ - _funlockfile (fp); -- __sfp_lock_release (); - return nassigned && !(fp->_flags & __SERR) ? nassigned : EOF; - match_failure: - all_done: - /* Return number of matches, which can be 0 on match failure. */ - _funlockfile (fp); -- __sfp_lock_release (); - return nassigned; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/vfwprintf.c newlib-1.19.0/newlib/libc/stdio/vfwprintf.c ---- newlib-1.19.0.orig/newlib/libc/stdio/vfwprintf.c 2010-04-28 11:59:37.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/stdio/vfwprintf.c 2011-07-20 05:54:59.258259237 +0200 -@@ -240,7 +240,7 @@ - # endif /* !_NO_LONGDBL */ - - static wchar_t *wcvt(struct _reent *, _PRINTF_FLOAT_TYPE, int, int, wchar_t *, -- int *, int, int *, wchar_t *); -+ int *, int, int *, wchar_t *, int); - - static int wexponent(wchar_t *, int, int); - -@@ -996,7 +996,23 @@ - flags |= FPT; - - cp = wcvt (data, _fpvalue, prec, flags, &softsign, -- &expt, ch, &ndig, cp); -+ &expt, ch, &ndig, cp, BUF); -+ -+ /* If buf is not large enough for the converted wchar_t -+ sequence, call wcvt again with a malloced new buffer. -+ This should happen fairly rarely. -+ */ -+ if (cp == buf && ndig > BUF && malloc_buf == NULL) { -+ if ((malloc_buf = -+ (wchar_t *)_malloc_r (data, ndig * sizeof (wchar_t))) -+ == NULL) -+ { -+ fp->_flags |= __SERR; -+ goto error; -+ } -+ cp = wcvt (data, _fpvalue, prec, flags, &softsign, -+ &expt, ch, &ndig, malloc_buf, ndig); -+ } - - if (ch == L'g' || ch == L'G') { - if (expt <= -4 || expt > prec) -@@ -1450,11 +1466,15 @@ - to whether trailing zeros must be included. Set *SIGN to nonzero - if VALUE was negative. Set *DECPT to the exponent plus one. Set - *LENGTH to the length of the returned string. CH must be one of -- [aAeEfFgG]; if it is [aA], then the return string lives in BUF, -- otherwise the return value shares the mprec reentrant storage. */ -+ [aAeEfFgG]; different from vfprintf.c:cvt(), the return string -+ lives in BUF regardless of CH. LEN is the length of BUF, except -+ when CH is [aA], in which case LEN is not in use. If BUF is not -+ large enough for the converted string, only the first LEN number -+ of characters will be returned in BUF, but *LENGTH will be set to -+ the full length of the string before the truncation. */ - static wchar_t * - wcvt(struct _reent *data, _PRINTF_FLOAT_TYPE value, int ndigits, int flags, -- wchar_t *sign, int *decpt, int ch, int *length, wchar_t *buf) -+ wchar_t *sign, int *decpt, int ch, int *length, wchar_t *buf, int len) - { - int mode, dsgn; - # ifdef _NO_LONGDBL -@@ -1548,12 +1568,13 @@ - while (rve < bp) - *rve++ = '0'; - } -+ -+ *length = rve - digits; /* full length of the string */ - #ifdef _MB_CAPABLE -- *length = _mbsnrtowcs_r (data, buf, (const char **) &digits, -- rve - digits, BUF, NULL); -+ _mbsnrtowcs_r (data, buf, (const char **) &digits, *length, -+ len, NULL); - #else -- *length = rve - digits; -- for (i = 0; i < *length && i < BUF; ++i) -+ for (i = 0; i < *length && i < len; ++i) - buf[i] = (wchar_t) digits[i]; - #endif - return buf; -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/vfwscanf.c newlib-1.19.0/newlib/libc/stdio/vfwscanf.c ---- newlib-1.19.0.orig/newlib/libc/stdio/vfwscanf.c 2009-03-11 12:53:22.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/stdio/vfwscanf.c 2011-07-20 05:54:59.258259237 +0200 -@@ -434,7 +434,6 @@ - # define GET_ARG(n, ap, type) (va_arg (ap, type)) - #endif - -- __sfp_lock_acquire (); - _flockfile (fp); - - ORIENT (fp, 1); -@@ -714,7 +713,6 @@ - */ - case L'\0': /* compat */ - _funlockfile (fp); -- __sfp_lock_release (); - return EOF; - - default: /* compat */ -@@ -1443,13 +1441,11 @@ - invalid format string), return EOF if no matches yet, else number - of matches made prior to failure. */ - _funlockfile (fp); -- __sfp_lock_release (); - return nassigned && !(fp->_flags & __SERR) ? nassigned : EOF; - match_failure: - all_done: - /* Return number of matches, which can be 0 on match failure. */ - _funlockfile (fp); -- __sfp_lock_release (); - return nassigned; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/wbuf.c newlib-1.19.0/newlib/libc/stdio/wbuf.c ---- newlib-1.19.0.orig/newlib/libc/stdio/wbuf.c 2008-12-11 00:43:12.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/stdio/wbuf.c 2011-07-20 05:54:59.258259237 +0200 -@@ -54,11 +54,7 @@ - - fp->_w = fp->_lbfsize; - if (cantwrite (ptr, fp)) -- { -- fp->_flags |= __SERR; -- ptr->_errno = EBADF; -- return EOF; -- } -+ return EOF; - c = (unsigned char) c; - - ORIENT (fp, -1); -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/wscanf.c newlib-1.19.0/newlib/libc/stdio/wscanf.c ---- newlib-1.19.0.orig/newlib/libc/stdio/wscanf.c 2009-03-11 12:53:22.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/stdio/wscanf.c 2011-07-20 05:54:59.259259252 +0200 -@@ -32,7 +32,7 @@ - - _REENT_SMALL_CHECK_INIT (_REENT); - va_start (ap, fmt); -- ret = __svfwscanf_r (_REENT, _stdin_r (_REENT), fmt, ap); -+ ret = _vfwscanf_r (_REENT, _stdin_r (_REENT), fmt, ap); - va_end (ap); - return ret; - } -@@ -47,7 +47,7 @@ - - _REENT_SMALL_CHECK_INIT (ptr); - va_start (ap, fmt); -- ret = __svfwscanf_r (ptr, _stdin_r (ptr), fmt, ap); -+ ret = _vfwscanf_r (ptr, _stdin_r (ptr), fmt, ap); - va_end (ap); - return (ret); - } -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio/wsetup.c newlib-1.19.0/newlib/libc/stdio/wsetup.c ---- newlib-1.19.0.orig/newlib/libc/stdio/wsetup.c 2007-03-15 19:40:48.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/stdio/wsetup.c 2011-07-20 05:54:59.259259252 +0200 -@@ -20,12 +20,13 @@ - #include <_ansi.h> - #include - #include -+#include - #include "local.h" - - /* - * Various output routines call wsetup to be sure it is safe to write, - * because either _flags does not include __SWR, or _buf is NULL. -- * _wsetup returns 0 if OK to write, nonzero otherwise. -+ * _wsetup returns 0 if OK to write, nonzero and set errno otherwise. - */ - - int -@@ -44,7 +45,11 @@ - if ((fp->_flags & __SWR) == 0) - { - if ((fp->_flags & __SRW) == 0) -- return EOF; -+ { -+ ptr->_errno = EBADF; -+ fp->_flags |= __SERR; -+ return EOF; -+ } - if (fp->_flags & __SRD) - { - /* clobber any ungetc data */ -@@ -62,7 +67,7 @@ - * A string I/O file should not explicitly allocate a buffer - * unless asprintf is being used. - */ -- if (fp->_bf._base == NULL -+ if (fp->_bf._base == NULL - && (!(fp->_flags & __SSTR) || (fp->_flags & __SMBF))) - __smakebuf_r (ptr, fp); - -@@ -79,5 +84,11 @@ - else - fp->_w = fp->_flags & __SNBF ? 0 : fp->_bf._size; - -- return (!fp->_bf._base && (fp->_flags & __SMBF)) ? EOF : 0; -+ if (!fp->_bf._base && (fp->_flags & __SMBF)) -+ { -+ /* __smakebuf_r set errno, but not flag */ -+ fp->_flags |= __SERR; -+ return EOF; -+ } -+ return 0; - } -diff -Naur newlib-1.19.0.orig/newlib/libc/stdio64/freopen64.c newlib-1.19.0/newlib/libc/stdio64/freopen64.c ---- newlib-1.19.0.orig/newlib/libc/stdio64/freopen64.c 2007-07-13 22:37:53.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/stdio64/freopen64.c 2011-07-20 05:54:59.259259252 +0200 -@@ -97,7 +97,6 @@ - int flags, oflags; - int e = 0; - -- __sfp_lock_acquire (); - - CHECK_INIT (ptr, fp); - -@@ -107,7 +106,6 @@ - { - _funlockfile(fp); - _fclose_r (ptr, fp); -- __sfp_lock_release (); - return NULL; - } - -@@ -204,6 +202,7 @@ - - if (f < 0) - { /* did not get it after all */ -+ __sfp_lock_acquire (); - fp->_flags = 0; /* set it free */ - ptr->_errno = e; /* restore in case _close clobbered */ - _funlockfile(fp); -@@ -231,7 +230,6 @@ - fp->_flags |= __SL64; - - _funlockfile(fp); -- __sfp_lock_release (); - return fp; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdlib/atof.c newlib-1.19.0/newlib/libc/stdlib/atof.c ---- newlib-1.19.0.orig/newlib/libc/stdlib/atof.c 2003-10-20 20:46:37.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/stdlib/atof.c 2011-07-20 05:54:59.260259267 +0200 -@@ -1,6 +1,6 @@ - /* - FUNCTION -- <>, <>---string to double or float -+ <> ---string to double - - INDEX - atof -@@ -10,19 +10,14 @@ - ANSI_SYNOPSIS - #include - double atof(const char *<[s]>); -- float atoff(const char *<[s]>); - - TRAD_SYNOPSIS - #include - double atof(<[s]>) - char *<[s]>; - -- float atoff(<[s]>) -- char *<[s]>; -- - DESCRIPTION - <> converts the initial portion of a string to a <>. --<> converts the initial portion of a string to a <>. - - The functions parse the character string <[s]>, - locating a substring which can be converted to a floating-point -@@ -36,7 +31,6 @@ - something other than <<+>>, <<->>, <<.>>, or a digit. - - <)>> is implemented as <, NULL)>>. --<)>> is implemented as <, NULL)>>. - - RETURNS - <> returns the converted substring value, if any, as a -@@ -47,12 +41,9 @@ - If the correct value would cause underflow, <<0.0>> is returned - and <> is stored in <>. - --<> obeys the same rules as <>, except that it --returns a <>. -- - PORTABILITY --<> is ANSI C. <>, <>, and <> are subsumed by <> --and <>, but are used extensively in existing code. These functions are -+<> is ANSI C. <>, <>, and <> are subsumed by <> -+and <>, but are used extensively in existing code. These functions are - less reliable, but may be faster if the argument is verified to be in a valid - range. - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdlib/atoff.c newlib-1.19.0/newlib/libc/stdlib/atoff.c ---- newlib-1.19.0.orig/newlib/libc/stdlib/atoff.c 2002-12-06 19:58:51.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/stdlib/atoff.c 1970-01-01 01:00:00.000000000 +0100 -@@ -1,9 +0,0 @@ --#include --#include <_ansi.h> -- --float --_DEFUN (atoff, (s), -- _CONST char *s) --{ -- return strtof (s, NULL); --} -diff -Naur newlib-1.19.0.orig/newlib/libc/stdlib/Makefile.am newlib-1.19.0/newlib/libc/stdlib/Makefile.am ---- newlib-1.19.0.orig/newlib/libc/stdlib/Makefile.am 2009-04-16 20:24:35.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/stdlib/Makefile.am 2011-07-20 05:54:59.259259252 +0200 -@@ -16,7 +16,6 @@ - assert.c \ - atexit.c \ - atof.c \ -- atoff.c \ - atoi.c \ - atol.c \ - calloc.c \ -diff -Naur newlib-1.19.0.orig/newlib/libc/stdlib/Makefile.in newlib-1.19.0/newlib/libc/stdlib/Makefile.in ---- newlib-1.19.0.orig/newlib/libc/stdlib/Makefile.in 2010-12-16 22:59:03.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/stdlib/Makefile.in 2011-07-20 05:54:59.260259267 +0200 -@@ -69,8 +69,7 @@ - lib_a-__ten_mu.$(OBJEXT) lib_a-_Exit.$(OBJEXT) \ - lib_a-abort.$(OBJEXT) lib_a-abs.$(OBJEXT) \ - lib_a-assert.$(OBJEXT) lib_a-atexit.$(OBJEXT) \ -- lib_a-atof.$(OBJEXT) lib_a-atoff.$(OBJEXT) \ -- lib_a-atoi.$(OBJEXT) lib_a-atol.$(OBJEXT) \ -+ lib_a-atof.$(OBJEXT) lib_a-atoi.$(OBJEXT) lib_a-atol.$(OBJEXT) \ - lib_a-calloc.$(OBJEXT) lib_a-div.$(OBJEXT) \ - lib_a-dtoa.$(OBJEXT) lib_a-dtoastub.$(OBJEXT) \ - lib_a-environ.$(OBJEXT) lib_a-envlock.$(OBJEXT) \ -@@ -132,15 +131,15 @@ - @HAVE_LONG_DOUBLE_TRUE@am__objects_8 = strtold.lo wcstold.lo - am__objects_9 = __adjust.lo __atexit.lo __call_atexit.lo __exp10.lo \ - __ten_mu.lo _Exit.lo abort.lo abs.lo assert.lo atexit.lo \ -- atof.lo atoff.lo atoi.lo atol.lo calloc.lo div.lo dtoa.lo \ -- dtoastub.lo environ.lo envlock.lo eprintf.lo exit.lo \ -- gdtoa-gethex.lo gdtoa-hexnan.lo getenv.lo getenv_r.lo labs.lo \ -- ldiv.lo ldtoa.lo malloc.lo mblen.lo mblen_r.lo mbstowcs.lo \ -- mbstowcs_r.lo mbtowc.lo mbtowc_r.lo mlock.lo mprec.lo \ -- mstats.lo rand.lo rand_r.lo realloc.lo reallocf.lo \ -- sb_charsets.lo strtod.lo strtol.lo strtoul.lo wcstod.lo \ -- wcstol.lo wcstoul.lo wcstombs.lo wcstombs_r.lo wctomb.lo \ -- wctomb_r.lo $(am__objects_8) -+ atof.lo atoi.lo atol.lo calloc.lo div.lo dtoa.lo dtoastub.lo \ -+ environ.lo envlock.lo eprintf.lo exit.lo gdtoa-gethex.lo \ -+ gdtoa-hexnan.lo getenv.lo getenv_r.lo labs.lo ldiv.lo ldtoa.lo \ -+ malloc.lo mblen.lo mblen_r.lo mbstowcs.lo mbstowcs_r.lo \ -+ mbtowc.lo mbtowc_r.lo mlock.lo mprec.lo mstats.lo rand.lo \ -+ rand_r.lo realloc.lo reallocf.lo sb_charsets.lo strtod.lo \ -+ strtol.lo strtoul.lo wcstod.lo wcstol.lo wcstoul.lo \ -+ wcstombs.lo wcstombs_r.lo wctomb.lo wctomb_r.lo \ -+ $(am__objects_8) - am__objects_10 = cxa_atexit.lo cxa_finalize.lo drand48.lo ecvtbuf.lo \ - efgcvt.lo erand48.lo jrand48.lo lcong48.lo lrand48.lo \ - mrand48.lo msize.lo mtrim.lo nrand48.lo rand48.lo seed48.lo \ -@@ -330,13 +329,13 @@ - INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS) - GENERAL_SOURCES = __adjust.c __atexit.c __call_atexit.c __exp10.c \ - __ten_mu.c _Exit.c abort.c abs.c assert.c atexit.c atof.c \ -- atoff.c atoi.c atol.c calloc.c div.c dtoa.c dtoastub.c \ -- environ.c envlock.c eprintf.c exit.c gdtoa-gethex.c \ -- gdtoa-hexnan.c getenv.c getenv_r.c labs.c ldiv.c ldtoa.c \ -- malloc.c mblen.c mblen_r.c mbstowcs.c mbstowcs_r.c mbtowc.c \ -- mbtowc_r.c mlock.c mprec.c mstats.c rand.c rand_r.c realloc.c \ -- reallocf.c sb_charsets.c strtod.c strtol.c strtoul.c wcstod.c \ -- wcstol.c wcstoul.c wcstombs.c wcstombs_r.c wctomb.c wctomb_r.c \ -+ atoi.c atol.c calloc.c div.c dtoa.c dtoastub.c environ.c \ -+ envlock.c eprintf.c exit.c gdtoa-gethex.c gdtoa-hexnan.c \ -+ getenv.c getenv_r.c labs.c ldiv.c ldtoa.c malloc.c mblen.c \ -+ mblen_r.c mbstowcs.c mbstowcs_r.c mbtowc.c mbtowc_r.c mlock.c \ -+ mprec.c mstats.c rand.c rand_r.c realloc.c reallocf.c \ -+ sb_charsets.c strtod.c strtol.c strtoul.c wcstod.c wcstol.c \ -+ wcstoul.c wcstombs.c wcstombs_r.c wctomb.c wctomb_r.c \ - $(am__append_1) - EXTENDED_SOURCES = \ - cxa_atexit.c \ -@@ -616,12 +615,6 @@ - lib_a-atof.obj: atof.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-atof.obj `if test -f 'atof.c'; then $(CYGPATH_W) 'atof.c'; else $(CYGPATH_W) '$(srcdir)/atof.c'; fi` - --lib_a-atoff.o: atoff.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-atoff.o `test -f 'atoff.c' || echo '$(srcdir)/'`atoff.c -- --lib_a-atoff.obj: atoff.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-atoff.obj `if test -f 'atoff.c'; then $(CYGPATH_W) 'atoff.c'; else $(CYGPATH_W) '$(srcdir)/atoff.c'; fi` -- - lib_a-atoi.o: atoi.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-atoi.o `test -f 'atoi.c' || echo '$(srcdir)/'`atoi.c - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdlib/putenv_r.c newlib-1.19.0/newlib/libc/stdlib/putenv_r.c ---- newlib-1.19.0.orig/newlib/libc/stdlib/putenv_r.c 2004-11-24 23:34:14.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/stdlib/putenv_r.c 2011-07-20 05:54:59.260259267 +0200 -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - - #include "envlock.h" - -diff -Naur newlib-1.19.0.orig/newlib/libc/stdlib/strtod.c newlib-1.19.0/newlib/libc/stdlib/strtod.c ---- newlib-1.19.0.orig/newlib/libc/stdlib/strtod.c 2010-12-07 22:26:45.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/stdlib/strtod.c 2011-07-20 05:54:59.261259283 +0200 -@@ -309,8 +309,7 @@ - } - nd0 = nd; - if (strncmp (s, _localeconv_r (ptr)->decimal_point, -- strlen (_localeconv_r (ptr)->decimal_point)) == 0) -- { -+ strlen (_localeconv_r (ptr)->decimal_point)) == 0) { - decpt = 1; - c = *(s += strlen (_localeconv_r (ptr)->decimal_point)); - if (!nd) { -@@ -328,25 +327,28 @@ - have_dig: - nz++; - if (c -= '0') { -- nf += nz; - for(i = 1; i < nz; i++) { -- if (nd++ <= DBL_DIG + 1) { -- if (nd < 10) -+ if (nd <= DBL_DIG + 1) { -+ if (nd + i < 10) - y *= 10; - else - z *= 10; - } - } -- if (nd++ <= DBL_DIG + 1) { -- if (nd < 10) -+ if (nd <= DBL_DIG + 1) { -+ if (nd + i < 10) - y = 10*y + c; - else - z = 10*z + c; - } -- nz = 0; -+ if (nd <= DBL_DIG + 1) { -+ nf += nz; -+ nd += nz; - } -+ nz = 0; - } - } -+ } - dig_done: - e = 0; - if (c == 'e' || c == 'E') { -diff -Naur newlib-1.19.0.orig/newlib/libc/string/bcmp.c newlib-1.19.0/newlib/libc/string/bcmp.c ---- newlib-1.19.0.orig/newlib/libc/string/bcmp.c 2005-10-28 23:21:07.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/string/bcmp.c 2011-07-20 05:54:59.261259283 +0200 -@@ -6,11 +6,11 @@ - bcmp - - ANSI_SYNOPSIS -- #include -+ #include - int bcmp(const void *<[s1]>, const void *<[s2]>, size_t <[n]>); - - TRAD_SYNOPSIS -- #include -+ #include - int bcmp(<[s1]>, <[s2]>, <[n]>) - const void *<[s1]>; - const void *<[s2]>; -@@ -35,7 +35,7 @@ - bcmp ansi pure - */ - --#include -+#include - - int - _DEFUN (bcmp, (m1, m2, n), -diff -Naur newlib-1.19.0.orig/newlib/libc/string/bcopy.c newlib-1.19.0/newlib/libc/string/bcopy.c ---- newlib-1.19.0.orig/newlib/libc/string/bcopy.c 2002-05-23 20:46:04.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/string/bcopy.c 2011-07-20 05:54:59.262259299 +0200 -@@ -3,7 +3,7 @@ - <>---copy memory regions - - ANSI_SYNOPSIS -- #include -+ #include - void bcopy(const void *<[in]>, void *<[out]>, size_t <[n]>); - - TRAD_SYNOPSIS -@@ -26,7 +26,7 @@ - bcopy - pure - */ - --#include -+#include - - void - _DEFUN (bcopy, (b1, b2, length), -diff -Naur newlib-1.19.0.orig/newlib/libc/string/bzero.c newlib-1.19.0/newlib/libc/string/bzero.c ---- newlib-1.19.0.orig/newlib/libc/string/bzero.c 2002-05-23 20:46:04.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/string/bzero.c 2011-07-20 05:54:59.262259299 +0200 -@@ -6,11 +6,11 @@ - bzero - - ANSI_SYNOPSIS -- #include -+ #include - void bzero(void *<[b]>, size_t <[length]>); - - TRAD_SYNOPSIS -- #include -+ #include - void bzero(<[b]>, <[length]>) - void *<[b]>; - size_t <[length]>; -@@ -30,7 +30,7 @@ - <> requires no supporting OS subroutines. - */ - --#include -+#include - - _VOID - _DEFUN (bzero, (b, length), -diff -Naur newlib-1.19.0.orig/newlib/libc/string/index.c newlib-1.19.0/newlib/libc/string/index.c ---- newlib-1.19.0.orig/newlib/libc/string/index.c 2000-02-17 20:39:48.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/string/index.c 2011-07-20 05:54:59.262259299 +0200 -@@ -6,11 +6,11 @@ - index - - ANSI_SYNOPSIS -- #include -+ #include - char * index(const char *<[string]>, int <[c]>); - - TRAD_SYNOPSIS -- #include -+ #include - char * index(<[string]>, <[c]>); - char *<[string]>; - int *<[c]>; -@@ -33,7 +33,8 @@ - index - pure - */ - --#include -+#include -+#include /* strchr */ - - char * - _DEFUN (index, (s, c), -diff -Naur newlib-1.19.0.orig/newlib/libc/string/Makefile.am newlib-1.19.0/newlib/libc/string/Makefile.am ---- newlib-1.19.0.orig/newlib/libc/string/Makefile.am 2010-05-11 22:27:20.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/string/Makefile.am 2011-07-20 05:54:59.261259283 +0200 -@@ -71,7 +71,8 @@ - wmemcmp.c \ - wmemcpy.c \ - wmemmove.c \ -- wmemset.c -+ wmemset.c \ -+ xpg_strerror_r.c - - if ELIX_LEVEL_1 - ELIX_2_SOURCES = -@@ -84,6 +85,7 @@ - stpncpy.c \ - strndup.c \ - strcasestr.c \ -+ strchrnul.c \ - strndup_r.c \ - wcpcpy.c \ - wcpncpy.c \ -diff -Naur newlib-1.19.0.orig/newlib/libc/string/Makefile.in newlib-1.19.0/newlib/libc/string/Makefile.in ---- newlib-1.19.0.orig/newlib/libc/string/Makefile.in 2010-12-16 22:59:03.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/string/Makefile.in 2011-07-20 05:54:59.261259283 +0200 -@@ -88,7 +88,7 @@ - lib_a-wcsxfrm.$(OBJEXT) lib_a-wcwidth.$(OBJEXT) \ - lib_a-wmemchr.$(OBJEXT) lib_a-wmemcmp.$(OBJEXT) \ - lib_a-wmemcpy.$(OBJEXT) lib_a-wmemmove.$(OBJEXT) \ -- lib_a-wmemset.$(OBJEXT) -+ lib_a-wmemset.$(OBJEXT) lib_a-xpg_strerror_r.$(OBJEXT) - @ELIX_LEVEL_1_FALSE@am__objects_2 = lib_a-bcmp.$(OBJEXT) \ - @ELIX_LEVEL_1_FALSE@ lib_a-memccpy.$(OBJEXT) \ - @ELIX_LEVEL_1_FALSE@ lib_a-mempcpy.$(OBJEXT) \ -@@ -96,6 +96,7 @@ - @ELIX_LEVEL_1_FALSE@ lib_a-stpncpy.$(OBJEXT) \ - @ELIX_LEVEL_1_FALSE@ lib_a-strndup.$(OBJEXT) \ - @ELIX_LEVEL_1_FALSE@ lib_a-strcasestr.$(OBJEXT) \ -+@ELIX_LEVEL_1_FALSE@ lib_a-strchrnul.$(OBJEXT) \ - @ELIX_LEVEL_1_FALSE@ lib_a-strndup_r.$(OBJEXT) \ - @ELIX_LEVEL_1_FALSE@ lib_a-wcpcpy.$(OBJEXT) \ - @ELIX_LEVEL_1_FALSE@ lib_a-wcpncpy.$(OBJEXT) \ -@@ -120,11 +121,11 @@ - wcslcpy.lo wcslen.lo wcsncat.lo wcsncmp.lo wcsncpy.lo \ - wcsnlen.lo wcspbrk.lo wcsrchr.lo wcsspn.lo wcsstr.lo wcstok.lo \ - wcswidth.lo wcsxfrm.lo wcwidth.lo wmemchr.lo wmemcmp.lo \ -- wmemcpy.lo wmemmove.lo wmemset.lo -+ wmemcpy.lo wmemmove.lo wmemset.lo xpg_strerror_r.lo - @ELIX_LEVEL_1_FALSE@am__objects_5 = bcmp.lo memccpy.lo mempcpy.lo \ - @ELIX_LEVEL_1_FALSE@ stpcpy.lo stpncpy.lo strndup.lo \ --@ELIX_LEVEL_1_FALSE@ strcasestr.lo strndup_r.lo wcpcpy.lo \ --@ELIX_LEVEL_1_FALSE@ wcpncpy.lo wcsdup.lo -+@ELIX_LEVEL_1_FALSE@ strcasestr.lo strchrnul.lo strndup_r.lo \ -+@ELIX_LEVEL_1_FALSE@ wcpcpy.lo wcpncpy.lo wcsdup.lo - @ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@am__objects_6 = memmem.lo \ - @ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@ wcscasecmp.lo \ - @ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@@ELIX_LEVEL_3_FALSE@ wcsncasecmp.lo -@@ -363,7 +364,8 @@ - wmemcmp.c \ - wmemcpy.c \ - wmemmove.c \ -- wmemset.c -+ wmemset.c \ -+ xpg_strerror_r.c - - @ELIX_LEVEL_1_FALSE@ELIX_2_SOURCES = \ - @ELIX_LEVEL_1_FALSE@ bcmp.c \ -@@ -373,6 +375,7 @@ - @ELIX_LEVEL_1_FALSE@ stpncpy.c \ - @ELIX_LEVEL_1_FALSE@ strndup.c \ - @ELIX_LEVEL_1_FALSE@ strcasestr.c \ -+@ELIX_LEVEL_1_FALSE@ strchrnul.c \ - @ELIX_LEVEL_1_FALSE@ strndup_r.c \ - @ELIX_LEVEL_1_FALSE@ wcpcpy.c \ - @ELIX_LEVEL_1_FALSE@ wcpncpy.c \ -@@ -887,6 +890,12 @@ - lib_a-wmemset.obj: wmemset.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-wmemset.obj `if test -f 'wmemset.c'; then $(CYGPATH_W) 'wmemset.c'; else $(CYGPATH_W) '$(srcdir)/wmemset.c'; fi` - -+lib_a-xpg_strerror_r.o: xpg_strerror_r.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-xpg_strerror_r.o `test -f 'xpg_strerror_r.c' || echo '$(srcdir)/'`xpg_strerror_r.c -+ -+lib_a-xpg_strerror_r.obj: xpg_strerror_r.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-xpg_strerror_r.obj `if test -f 'xpg_strerror_r.c'; then $(CYGPATH_W) 'xpg_strerror_r.c'; else $(CYGPATH_W) '$(srcdir)/xpg_strerror_r.c'; fi` -+ - lib_a-bcmp.o: bcmp.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-bcmp.o `test -f 'bcmp.c' || echo '$(srcdir)/'`bcmp.c - -@@ -929,6 +938,12 @@ - lib_a-strcasestr.obj: strcasestr.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strcasestr.obj `if test -f 'strcasestr.c'; then $(CYGPATH_W) 'strcasestr.c'; else $(CYGPATH_W) '$(srcdir)/strcasestr.c'; fi` - -+lib_a-strchrnul.o: strchrnul.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strchrnul.o `test -f 'strchrnul.c' || echo '$(srcdir)/'`strchrnul.c -+ -+lib_a-strchrnul.obj: strchrnul.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strchrnul.obj `if test -f 'strchrnul.c'; then $(CYGPATH_W) 'strchrnul.c'; else $(CYGPATH_W) '$(srcdir)/strchrnul.c'; fi` -+ - lib_a-strndup_r.o: strndup_r.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-strndup_r.o `test -f 'strndup_r.c' || echo '$(srcdir)/'`strndup_r.c - -diff -Naur newlib-1.19.0.orig/newlib/libc/string/memccpy.c newlib-1.19.0/newlib/libc/string/memccpy.c ---- newlib-1.19.0.orig/newlib/libc/string/memccpy.c 2010-09-22 05:15:07.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/string/memccpy.c 2011-07-20 05:54:59.262259299 +0200 -@@ -35,13 +35,14 @@ - */ - - #include <_ansi.h> -+#include - #include - #include - #include - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ - #define UNALIGNED(X, Y) \ -- (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) -+ (((intptr_t)X & (sizeof (long) - 1)) | ((intptr_t)Y & (sizeof (long) - 1))) - - /* How many bytes are copied each iteration of the word copy loop. */ - #define LITTLEBLOCKSIZE (sizeof (long)) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/memchr.c newlib-1.19.0/newlib/libc/string/memchr.c ---- newlib-1.19.0.orig/newlib/libc/string/memchr.c 2008-05-27 01:31:08.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/string/memchr.c 2011-07-20 05:54:59.262259299 +0200 -@@ -38,10 +38,11 @@ - - #include <_ansi.h> - #include -+#include - #include - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ --#define UNALIGNED(X) ((long)X & (sizeof (long) - 1)) -+#define UNALIGNED(X) ((intptr_t)X & (sizeof (long) - 1)) - - /* How many bytes are loaded each iteration of the word copy loop. */ - #define LBLOCKSIZE (sizeof (long)) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/memcmp.c newlib-1.19.0/newlib/libc/string/memcmp.c ---- newlib-1.19.0.orig/newlib/libc/string/memcmp.c 2005-03-06 21:40:05.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/string/memcmp.c 2011-07-20 05:54:59.262259299 +0200 -@@ -37,11 +37,11 @@ - */ - - #include -- -+#include - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ - #define UNALIGNED(X, Y) \ -- (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) -+ (((intptr_t)X & (sizeof (long) - 1)) | ((intptr_t)Y & (sizeof (long) - 1))) - - /* How many bytes are copied each iteration of the word copy loop. */ - #define LBLOCKSIZE (sizeof (long)) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/memcpy.c newlib-1.19.0/newlib/libc/string/memcpy.c ---- newlib-1.19.0.orig/newlib/libc/string/memcpy.c 2010-09-22 05:15:07.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/string/memcpy.c 2011-07-20 05:54:59.262259299 +0200 -@@ -34,11 +34,12 @@ - */ - - #include <_ansi.h> -+#include - #include - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ - #define UNALIGNED(X, Y) \ -- (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) -+ (((intptr_t)X & (sizeof (long) - 1)) | ((intptr_t)Y & (sizeof (long) - 1))) - - /* How many bytes are copied each iteration of the 4X unrolled loop. */ - #define BIGBLOCKSIZE (sizeof (long) << 2) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/memmove.c newlib-1.19.0/newlib/libc/string/memmove.c ---- newlib-1.19.0.orig/newlib/libc/string/memmove.c 2010-09-22 05:15:07.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/string/memmove.c 2011-07-20 05:54:59.263259315 +0200 -@@ -36,13 +36,14 @@ - */ - - #include -+#include - #include <_ansi.h> - #include - #include - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ - #define UNALIGNED(X, Y) \ -- (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) -+ (((intptr_t)X & (sizeof (long) - 1)) | ((intptr_t)Y & (sizeof (long) - 1))) - - /* How many bytes are copied each iteration of the 4X unrolled loop. */ - #define BIGBLOCKSIZE (sizeof (long) << 2) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/mempcpy.c newlib-1.19.0/newlib/libc/string/mempcpy.c ---- newlib-1.19.0.orig/newlib/libc/string/mempcpy.c 2010-09-22 05:15:07.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/string/mempcpy.c 2011-07-20 05:54:59.263259315 +0200 -@@ -34,10 +34,11 @@ - #include - #include - #include -+#include - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ - #define UNALIGNED(X, Y) \ -- (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) -+ (((intptr_t)X & (sizeof (long) - 1)) | ((uintptr_t)Y & (sizeof (long) - 1))) - - /* How many bytes are copied each iteration of the 4X unrolled loop. */ - #define BIGBLOCKSIZE (sizeof (long) << 2) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/memset.c newlib-1.19.0/newlib/libc/string/memset.c ---- newlib-1.19.0.orig/newlib/libc/string/memset.c 2008-05-27 20:44:40.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/string/memset.c 2011-07-20 05:54:59.263259315 +0200 -@@ -34,9 +34,10 @@ - */ - - #include -+#include - - #define LBLOCKSIZE (sizeof(long)) --#define UNALIGNED(X) ((long)X & (LBLOCKSIZE - 1)) -+#define UNALIGNED(X) ((intptr_t)X & (LBLOCKSIZE - 1)) - #define TOO_SMALL(LEN) ((LEN) < LBLOCKSIZE) - - _PTR -diff -Naur newlib-1.19.0.orig/newlib/libc/string/rindex.c newlib-1.19.0/newlib/libc/string/rindex.c ---- newlib-1.19.0.orig/newlib/libc/string/rindex.c 2000-02-17 20:39:48.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/string/rindex.c 2011-07-20 05:54:59.263259315 +0200 -@@ -10,7 +10,7 @@ - char * rindex(const char *<[string]>, int <[c]>); - - TRAD_SYNOPSIS -- #include -+ #include - char * rindex(<[string]>, <[c]>); - char *<[string]>; - int *<[c]>; -@@ -33,7 +33,8 @@ - rindex - pure - */ - --#include -+#include -+#include /* strchr */ - - char * - _DEFUN (rindex, (s, c), -diff -Naur newlib-1.19.0.orig/newlib/libc/string/stpcpy.c newlib-1.19.0/newlib/libc/string/stpcpy.c ---- newlib-1.19.0.orig/newlib/libc/string/stpcpy.c 2007-06-28 19:07:23.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/string/stpcpy.c 2011-07-20 05:54:59.263259315 +0200 -@@ -34,6 +34,7 @@ - */ - - #include -+#include - #include - - /*SUPPRESS 560*/ -@@ -41,7 +42,7 @@ - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ - #define UNALIGNED(X, Y) \ -- (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) -+ (((intptr_t)X & (sizeof (long) - 1)) | ((intptr_t)Y & (sizeof (long) - 1))) - - #if LONG_MAX == 2147483647L - #define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/stpncpy.c newlib-1.19.0/newlib/libc/string/stpncpy.c ---- newlib-1.19.0.orig/newlib/libc/string/stpncpy.c 2007-06-28 19:07:23.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/string/stpncpy.c 2011-07-20 05:54:59.263259315 +0200 -@@ -40,6 +40,7 @@ - */ - - #include -+#include - #include - - /*SUPPRESS 560*/ -@@ -47,7 +48,7 @@ - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ - #define UNALIGNED(X, Y) \ -- (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) -+ (((intptr_t)X & (sizeof (long) - 1)) | ((intptr_t)Y & (sizeof (long) - 1))) - - #if LONG_MAX == 2147483647L - #define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strcasecmp.c newlib-1.19.0/newlib/libc/string/strcasecmp.c ---- newlib-1.19.0.orig/newlib/libc/string/strcasecmp.c 2009-04-23 20:11:22.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/string/strcasecmp.c 2011-07-20 05:54:59.264259331 +0200 -@@ -6,11 +6,11 @@ - strcasecmp - - ANSI_SYNOPSIS -- #include -+ #include - int strcasecmp(const char *<[a]>, const char *<[b]>); - - TRAD_SYNOPSIS -- #include -+ #include - int strcasecmp(<[a]>, <[b]>) - char *<[a]>; - char *<[b]>; -@@ -38,7 +38,7 @@ - strcasecmp - */ - --#include -+#include - #include - - int -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strcat.c newlib-1.19.0/newlib/libc/string/strcat.c ---- newlib-1.19.0.orig/newlib/libc/string/strcat.c 2000-02-17 20:39:48.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/string/strcat.c 2011-07-20 05:54:59.264259331 +0200 -@@ -33,12 +33,13 @@ - strcat ansi pure - */ - -+#include - #include - #include - - /* Nonzero if X is aligned on a "long" boundary. */ - #define ALIGNED(X) \ -- (((long)X & (sizeof (long) - 1)) == 0) -+ (((uintptr_t)X & (sizeof (long) - 1)) == 0) - - #if LONG_MAX == 2147483647L - #define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strchr.c newlib-1.19.0/newlib/libc/string/strchr.c ---- newlib-1.19.0.orig/newlib/libc/string/strchr.c 2008-05-22 04:31:46.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/string/strchr.c 2011-07-20 05:54:59.264259331 +0200 -@@ -33,11 +33,12 @@ - strchr ansi pure - */ - -+#include - #include - #include - - /* Nonzero if X is not aligned on a "long" boundary. */ --#define UNALIGNED(X) ((long)X & (sizeof (long) - 1)) -+#define UNALIGNED(X) ((uintptr_t)X & (sizeof (long) - 1)) - - /* How many bytes are loaded each iteration of the word copy loop. */ - #define LBLOCKSIZE (sizeof (long)) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strchrnul.c newlib-1.19.0/newlib/libc/string/strchrnul.c ---- newlib-1.19.0.orig/newlib/libc/string/strchrnul.c 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/string/strchrnul.c 2011-07-20 05:54:59.264259331 +0200 -@@ -0,0 +1,47 @@ -+/* -+FUNCTION -+ <>---search for character in string -+ -+INDEX -+ strchrnul -+ -+ANSI_SYNOPSIS -+ #include -+ char * strchrnul(const char *<[string]>, int <[c]>); -+ -+TRAD_SYNOPSIS -+ #include -+ char * strchrnul(<[string]>, <[c]>); -+ const char *<[string]>; -+ int <[c]>; -+ -+DESCRIPTION -+ This function finds the first occurence of <[c]> (converted to -+ a char) in the string pointed to by <[string]> (including the -+ terminating null character). -+ -+RETURNS -+ Returns a pointer to the located character, or a pointer -+ to the concluding null byte if <[c]> does not occur in <[string]>. -+ -+PORTABILITY -+<> is a GNU extension. -+ -+<> requires no supporting OS subroutines. It uses -+strchr() and strlen() from elsewhere in this library. -+ -+QUICKREF -+ strchrnul -+*/ -+ -+#include -+ -+char * -+_DEFUN (strchrnul, (s1, i), -+ _CONST char *s1 _AND -+ int i) -+{ -+ char *s = strchr(s1, i); -+ -+ return s ? s : (char *)s1 + strlen(s1); -+} -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strcmp.c newlib-1.19.0/newlib/libc/string/strcmp.c ---- newlib-1.19.0.orig/newlib/libc/string/strcmp.c 2000-02-17 20:39:48.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/string/strcmp.c 2011-07-20 05:54:59.264259331 +0200 -@@ -35,12 +35,13 @@ - strcmp ansi pure - */ - -+#include - #include - #include - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ - #define UNALIGNED(X, Y) \ -- (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) -+ (((uintptr_t)X & (sizeof (long) - 1)) | ((uintptr_t)Y & (sizeof (long) - 1))) - - /* DETECTNULL returns nonzero if (long)X contains a NULL byte. */ - #if LONG_MAX == 2147483647L -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strcpy.c newlib-1.19.0/newlib/libc/string/strcpy.c ---- newlib-1.19.0.orig/newlib/libc/string/strcpy.c 2007-05-29 23:26:59.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/string/strcpy.c 2011-07-20 05:54:59.264259331 +0200 -@@ -32,6 +32,7 @@ - strcpy ansi pure - */ - -+#include - #include - #include - -@@ -40,7 +41,7 @@ - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ - #define UNALIGNED(X, Y) \ -- (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) -+ (((intptr_t)X & (sizeof (long) - 1)) | ((intptr_t)Y & (sizeof (long) - 1))) - - #if LONG_MAX == 2147483647L - #define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strerror.c newlib-1.19.0/newlib/libc/string/strerror.c ---- newlib-1.19.0.orig/newlib/libc/string/strerror.c 2009-03-15 14:41:46.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/string/strerror.c 2011-07-20 05:54:59.265259346 +0200 -@@ -15,6 +15,8 @@ - ANSI_SYNOPSIS - #include - char *strerror(int <[errnum]>); -+ char *_strerror_r(struct _reent <[ptr]>, int <[errnum]>, -+ int <[internal]>, int *<[error]>); - - TRAD_SYNOPSIS - #include -@@ -31,6 +33,9 @@ - for each of the values defined in `<>': - - o+ -+o 0 -+Success -+ - o E2BIG - Arg list too long - -@@ -288,6 +293,8 @@ - - o- - -+<<_strerror_r>> is a reentrant version of the above. -+ - RETURNS - This function returns a pointer to a string. Your application must - not modify that string. -@@ -296,22 +303,45 @@ - ANSI C requires <>, but does not specify the strings used - for each error number. - --Although this implementation of <> is reentrant, ANSI C --declares that subsequent calls to <> may overwrite the --result string; therefore portable code cannot depend on the reentrancy --of this subroutine. -+Although this implementation of <> is reentrant (depending -+on <<_user_strerror>>), ANSI C declares that subsequent calls to -+<> may overwrite the result string; therefore portable -+code cannot depend on the reentrancy of this subroutine. -+ -+Although this implementation of <> guarantees a non-null -+result with a NUL-terminator, some implementations return <> -+on failure. Although POSIX allows <> to set <> -+to EINVAL on failure, this implementation does not do so (unless -+you provide <<_user_strerror>>). -+ -+POSIX recommends that unknown <[errnum]> result in a message -+including that value, however it is not a requirement and this -+implementation does not provide that information (unless you -+provide <<_user_strerror>>). - - This implementation of <> provides for user-defined - extensibility. <> defines <[__ELASTERROR]>, which can be - used as a base for user-defined error values. If the user supplies a - routine named <<_user_strerror>>, and <[errnum]> passed to - <> does not match any of the supported values, --<<_user_strerror>> is called with <[errnum]> as its argument. -- --<<_user_strerror>> takes one argument of type <[int]>, and returns a --character pointer. If <[errnum]> is unknown to <<_user_strerror>>, --<<_user_strerror>> returns <[NULL]>. The default <<_user_strerror>> --returns <[NULL]> for all input values. -+<<_user_strerror>> is called with three arguments. The first is of -+type <[int]>, and is the <[errnum]> value unknown to <>. -+The second is of type <[int]>, and matches the <[internal]> argument -+of <<_strerror_r>>; this should be zero if called from <> -+and non-zero if called from any other function; <<_user_strerror>> can -+use this information to satisfy the POSIX rule that no other -+standardized function can overwrite a static buffer reused by -+<>. The third is of type <[int *]>, and matches the -+<[error]> argument of <<_strerror_r>>; if a non-zero value is stored -+into that location (usually <[EINVAL]>), then <> will set -+<> to that value, and the XPG variant of <> will -+return that value instead of zero or <[ERANGE]>. <<_user_strerror>> -+returns a <[char *]> value; returning <[NULL]> implies that the user -+function did not choose to handle <[errnum]>. The default -+<<_user_strerror>> returns <[NULL]> for all input values. Note that -+<<_user_sterror>> must be thread-safe, and only denote errors via the -+third argument rather than modifying <>, if <> and -+<> are are to comply with POSIX. - - <> requires no supporting OS subroutines. - -@@ -323,14 +353,20 @@ - #include - - char * --_DEFUN (strerror, (errnum), -- int errnum) -+_DEFUN (_strerror_r, (ptr, errnum, internal, errptr), -+ struct _reent *ptr _AND -+ int errnum _AND -+ int internal _AND -+ int *errptr) - { - char *error; -- extern char *_user_strerror _PARAMS ((int)); -+ extern char *_user_strerror _PARAMS ((int, int, int *)); - - switch (errnum) - { -+ case 0: -+ error = "Success"; -+ break; - /* go32 defines EPERM as EACCES */ - #if defined (EPERM) && (!defined (EACCES) || (EPERM != EACCES)) - case EPERM: -@@ -784,10 +820,19 @@ - break; - #endif - default: -- if ((error = _user_strerror (errnum)) == 0) -- error = ""; -+ if (!errptr) -+ errptr = &ptr->_errno; -+ if ((error = _user_strerror (errnum, internal, errptr)) == 0) -+ error = ""; - break; - } - - return error; - } -+ -+char * -+_DEFUN(strerror, (int), -+ int errnum) -+{ -+ return _strerror_r (_REENT, errnum, 0, NULL); -+} -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strerror_r.c newlib-1.19.0/newlib/libc/string/strerror_r.c ---- newlib-1.19.0.orig/newlib/libc/string/strerror_r.c 2005-10-28 23:21:07.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/string/strerror_r.c 2011-07-20 05:54:59.265259346 +0200 -@@ -1,3 +1,4 @@ -+/* GNU variant of strerror_r. */ - /* - FUNCTION - <>---convert error number to string and copy to buffer -@@ -7,7 +8,11 @@ - - ANSI_SYNOPSIS - #include -+ #ifdef _GNU_SOURCE - char *strerror_r(int <[errnum]>, char *<[buffer]>, size_t <[n]>); -+ #else -+ int strerror_r(int <[errnum]>, char *<[buffer]>, size_t <[n]>); -+ #endif - - TRAD_SYNOPSIS - #include -@@ -19,35 +24,62 @@ - DESCRIPTION - <> converts the error number <[errnum]> into a - string and copies the result into the supplied <[buffer]> for --a length up to <[n]>, including the NUL terminator. The value of --<[errnum]> is usually a copy of <>. If <> is not a known -+a length up to <[n]>, including the NUL terminator. The value of -+<[errnum]> is usually a copy of <>. If <> is not a known - error number, the result is the empty string. - - See <> for how strings are mapped to <>. - - RETURNS --This function returns a pointer to a string. Your application must --not modify that string. -+There are two variants: the GNU version always returns a NUL-terminated -+string, which is <[buffer]> if all went well, but which is another -+pointer if <[n]> was too small (leaving <[buffer]> untouched). If the -+return is not <[buffer]>, your application must not modify that string. -+The POSIX version returns 0 on success, <[EINVAL]> if <> was not -+recognized, and <[ERANGE]> if <[n]> was too small. The variant chosen -+depends on macros that you define before inclusion of <>. - - PORTABILITY --<> is a GNU extension. -+<> with a <[char *]> result is a GNU extension. -+<> with an <[int]> result is required by POSIX 2001. -+This function is compliant only if <<_user_strerror>> is not provided, -+or if it is thread-safe and uses separate storage according to whether -+the second argument of that function is non-zero. For more details -+on <<_user_strerror>>, see the <> documentation. -+ -+POSIX states that the contents of <[buf]> are unspecified on error, -+although this implementation guarantees a NUL-terminated string for -+all except <[n]> of 0. -+ -+POSIX recommends that unknown <[errnum]> result in a message including -+that value, however it is not a requirement and this implementation -+provides only an empty string (unless you provide <<_user_strerror>>). -+POSIX also recommends that unknown <[errnum]> fail with EINVAL even -+when providing such a message, however it is not a requirement and -+this implementation will return success if <<_user_strerror>> provided -+a non-empty alternate string without assigning into its third argument. - - <> requires no supporting OS subroutines. - - */ - - #undef __STRICT_ANSI__ -+#define _GNU_SOURCE - #include - #include -+#undef strerror_r - -+/* For backwards-compatible linking, this must be the GNU signature; -+ see xpg_strerror_r.c for the POSIX version. */ - char * - _DEFUN (strerror_r, (errnum, buffer, n), - int errnum _AND - char *buffer _AND - size_t n) - { -- char *error; -- error = strerror (errnum); -+ char *error = _strerror_r (_REENT, errnum, 1, NULL); - -- return strncpy (buffer, (const char *)error, n); -+ if (strlen (error) >= n) -+ return error; -+ return strcpy (buffer, error); - } -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strlen.c newlib-1.19.0/newlib/libc/string/strlen.c ---- newlib-1.19.0.orig/newlib/libc/string/strlen.c 2008-05-27 00:56:14.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/string/strlen.c 2011-07-20 05:54:59.265259346 +0200 -@@ -32,11 +32,12 @@ - */ - - #include <_ansi.h> -+#include - #include - #include - - #define LBLOCKSIZE (sizeof (long)) --#define UNALIGNED(X) ((long)X & (LBLOCKSIZE - 1)) -+#define UNALIGNED(X) ((intptr_t)X & (LBLOCKSIZE - 1)) - - #if LONG_MAX == 2147483647L - #define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strncasecmp.c newlib-1.19.0/newlib/libc/string/strncasecmp.c ---- newlib-1.19.0.orig/newlib/libc/string/strncasecmp.c 2009-04-23 20:11:22.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/string/strncasecmp.c 2011-07-20 05:54:59.265259346 +0200 -@@ -6,11 +6,11 @@ - strncasecmp - - ANSI_SYNOPSIS -- #include -+ #include - int strncasecmp(const char *<[a]>, const char * <[b]>, size_t <[length]>); - - TRAD_SYNOPSIS -- #include -+ #include - int strncasecmp(<[a]>, <[b]>, <[length]>) - char *<[a]>; - char *<[b]>; -@@ -40,7 +40,7 @@ - strncasecmp - */ - --#include -+#include - #include - - int -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strncat.c newlib-1.19.0/newlib/libc/string/strncat.c ---- newlib-1.19.0.orig/newlib/libc/string/strncat.c 2005-10-28 23:21:07.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/string/strncat.c 2011-07-20 05:54:59.265259346 +0200 -@@ -42,11 +42,12 @@ - */ - - #include -+#include - #include - - /* Nonzero if X is aligned on a "long" boundary. */ - #define ALIGNED(X) \ -- (((long)X & (sizeof (long) - 1)) == 0) -+ (((intptr_t)X & (sizeof (long) - 1)) == 0) - - #if LONG_MAX == 2147483647L - #define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strncmp.c newlib-1.19.0/newlib/libc/string/strncmp.c ---- newlib-1.19.0.orig/newlib/libc/string/strncmp.c 2000-02-17 20:39:48.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/string/strncmp.c 2011-07-20 05:54:59.265259346 +0200 -@@ -36,12 +36,13 @@ - strncmp ansi pure - */ - -+#include - #include - #include - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ - #define UNALIGNED(X, Y) \ -- (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) -+ (((uintptr_t)X & (sizeof (long) - 1)) | ((uintptr_t)Y & (sizeof (long) - 1))) - - /* DETECTNULL returns nonzero if (long)X contains a NULL byte. */ - #if LONG_MAX == 2147483647L -diff -Naur newlib-1.19.0.orig/newlib/libc/string/strncpy.c newlib-1.19.0/newlib/libc/string/strncpy.c ---- newlib-1.19.0.orig/newlib/libc/string/strncpy.c 2000-02-17 20:39:48.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/string/strncpy.c 2011-07-20 05:54:59.266259361 +0200 -@@ -38,6 +38,7 @@ - */ - - #include -+#include - #include - - /*SUPPRESS 560*/ -@@ -45,7 +46,7 @@ - - /* Nonzero if either X or Y is not aligned on a "long" boundary. */ - #define UNALIGNED(X, Y) \ -- (((long)X & (sizeof (long) - 1)) | ((long)Y & (sizeof (long) - 1))) -+ (((intptr_t)X & (sizeof (long) - 1)) | ((intptr_t)Y & (sizeof (long) - 1))) - - #if LONG_MAX == 2147483647L - #define DETECTNULL(X) (((X) - 0x01010101) & ~(X) & 0x80808080) -diff -Naur newlib-1.19.0.orig/newlib/libc/string/u_strerr.c newlib-1.19.0/newlib/libc/string/u_strerr.c ---- newlib-1.19.0.orig/newlib/libc/string/u_strerr.c 2000-02-17 20:39:48.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/string/u_strerr.c 2011-07-20 05:54:59.266259361 +0200 -@@ -1,8 +1,10 @@ - #include <_ansi.h> - - char * --_DEFUN(_user_strerror, (errnum), -- int errnum) -+_DEFUN(_user_strerror, (errnum, internal, errptr), -+ int errnum _AND -+ int internal _AND -+ int *errptr) - { - return 0; - } -diff -Naur newlib-1.19.0.orig/newlib/libc/string/xpg_strerror_r.c newlib-1.19.0/newlib/libc/string/xpg_strerror_r.c ---- newlib-1.19.0.orig/newlib/libc/string/xpg_strerror_r.c 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/string/xpg_strerror_r.c 2011-07-20 05:54:59.266259361 +0200 -@@ -0,0 +1,26 @@ -+/* POSIX variant of strerror_r. */ -+#undef __STRICT_ANSI__ -+#include -+#include -+ -+int -+_DEFUN (__xpg_strerror_r, (errnum, buffer, n), -+ int errnum _AND -+ char *buffer _AND -+ size_t n) -+{ -+ char *error; -+ int result = 0; -+ -+ if (!n) -+ return ERANGE; -+ error = _strerror_r (_REENT, errnum, 1, &result); -+ if (strlen (error) >= n) -+ { -+ memcpy (buffer, error, n - 1); -+ buffer[n - 1] = '\0'; -+ return ERANGE; -+ } -+ strcpy (buffer, error); -+ return (result || *error) ? result : EINVAL; -+} -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/linux/Makefile.am newlib-1.19.0/newlib/libc/sys/linux/Makefile.am ---- newlib-1.19.0.orig/newlib/libc/sys/linux/Makefile.am 2009-08-19 22:04:43.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/sys/linux/Makefile.am 2011-07-20 05:54:59.266259361 +0200 -@@ -72,7 +72,6 @@ - process.c \ - prof-freq.c \ - profile.c \ -- psignal.c \ - pwrite.c \ - raise.c \ - realloc.c \ -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/linux/Makefile.in newlib-1.19.0/newlib/libc/sys/linux/Makefile.in ---- newlib-1.19.0.orig/newlib/libc/sys/linux/Makefile.in 2010-12-16 22:59:06.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/sys/linux/Makefile.in 2011-07-20 05:54:59.267259377 +0200 -@@ -82,24 +82,23 @@ - lib_a-mtrim.$(OBJEXT) lib_a-mtrimr.$(OBJEXT) \ - lib_a-ntp_gettime.$(OBJEXT) lib_a-pread.$(OBJEXT) \ - lib_a-process.$(OBJEXT) lib_a-prof-freq.$(OBJEXT) \ -- lib_a-profile.$(OBJEXT) lib_a-psignal.$(OBJEXT) \ -- lib_a-pwrite.$(OBJEXT) lib_a-raise.$(OBJEXT) \ -- lib_a-realloc.$(OBJEXT) lib_a-reallocr.$(OBJEXT) \ -- lib_a-rename.$(OBJEXT) lib_a-resource.$(OBJEXT) \ -- lib_a-sched.$(OBJEXT) lib_a-select.$(OBJEXT) \ -- lib_a-seteuid.$(OBJEXT) lib_a-sethostid.$(OBJEXT) \ -- lib_a-sethostname.$(OBJEXT) lib_a-shm_open.$(OBJEXT) \ -- lib_a-shm_unlink.$(OBJEXT) lib_a-sig.$(OBJEXT) \ -- lib_a-sigaction.$(OBJEXT) lib_a-sigqueue.$(OBJEXT) \ -- lib_a-signal.$(OBJEXT) lib_a-siglongjmp.$(OBJEXT) \ -- lib_a-sigset.$(OBJEXT) lib_a-sigwait.$(OBJEXT) \ -- lib_a-socket.$(OBJEXT) lib_a-sleep.$(OBJEXT) \ -- lib_a-strsignal.$(OBJEXT) lib_a-strverscmp.$(OBJEXT) \ -- lib_a-sysconf.$(OBJEXT) lib_a-sysctl.$(OBJEXT) \ -- lib_a-systat.$(OBJEXT) lib_a-tcdrain.$(OBJEXT) \ -- lib_a-tcsendbrk.$(OBJEXT) lib_a-termios.$(OBJEXT) \ -- lib_a-time.$(OBJEXT) lib_a-usleep.$(OBJEXT) \ -- lib_a-versionsort.$(OBJEXT) -+ lib_a-profile.$(OBJEXT) lib_a-pwrite.$(OBJEXT) \ -+ lib_a-raise.$(OBJEXT) lib_a-realloc.$(OBJEXT) \ -+ lib_a-reallocr.$(OBJEXT) lib_a-rename.$(OBJEXT) \ -+ lib_a-resource.$(OBJEXT) lib_a-sched.$(OBJEXT) \ -+ lib_a-select.$(OBJEXT) lib_a-seteuid.$(OBJEXT) \ -+ lib_a-sethostid.$(OBJEXT) lib_a-sethostname.$(OBJEXT) \ -+ lib_a-shm_open.$(OBJEXT) lib_a-shm_unlink.$(OBJEXT) \ -+ lib_a-sig.$(OBJEXT) lib_a-sigaction.$(OBJEXT) \ -+ lib_a-sigqueue.$(OBJEXT) lib_a-signal.$(OBJEXT) \ -+ lib_a-siglongjmp.$(OBJEXT) lib_a-sigset.$(OBJEXT) \ -+ lib_a-sigwait.$(OBJEXT) lib_a-socket.$(OBJEXT) \ -+ lib_a-sleep.$(OBJEXT) lib_a-strsignal.$(OBJEXT) \ -+ lib_a-strverscmp.$(OBJEXT) lib_a-sysconf.$(OBJEXT) \ -+ lib_a-sysctl.$(OBJEXT) lib_a-systat.$(OBJEXT) \ -+ lib_a-tcdrain.$(OBJEXT) lib_a-tcsendbrk.$(OBJEXT) \ -+ lib_a-termios.$(OBJEXT) lib_a-time.$(OBJEXT) \ -+ lib_a-usleep.$(OBJEXT) lib_a-versionsort.$(OBJEXT) - am__objects_2 = lib_a-aio64.$(OBJEXT) lib_a-confstr.$(OBJEXT) \ - lib_a-ctermid.$(OBJEXT) lib_a-fclean.$(OBJEXT) \ - lib_a-fpathconf.$(OBJEXT) lib_a-fstab.$(OBJEXT) \ -@@ -141,8 +140,8 @@ - mq_close.lo mq_getattr.lo mq_notify.lo mq_open.lo \ - mq_receive.lo mq_send.lo mq_setattr.lo mq_unlink.lo msize.lo \ - msizer.lo mstats.lo mtrim.lo mtrimr.lo ntp_gettime.lo pread.lo \ -- process.lo prof-freq.lo profile.lo psignal.lo pwrite.lo \ -- raise.lo realloc.lo reallocr.lo rename.lo resource.lo sched.lo \ -+ process.lo prof-freq.lo profile.lo pwrite.lo raise.lo \ -+ realloc.lo reallocr.lo rename.lo resource.lo sched.lo \ - select.lo seteuid.lo sethostid.lo sethostname.lo shm_open.lo \ - shm_unlink.lo sig.lo sigaction.lo sigqueue.lo signal.lo \ - siglongjmp.lo sigset.lo sigwait.lo socket.lo sleep.lo \ -@@ -396,7 +395,6 @@ - process.c \ - prof-freq.c \ - profile.c \ -- psignal.c \ - pwrite.c \ - raise.c \ - realloc.c \ -@@ -865,12 +863,6 @@ - lib_a-profile.obj: profile.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-profile.obj `if test -f 'profile.c'; then $(CYGPATH_W) 'profile.c'; else $(CYGPATH_W) '$(srcdir)/profile.c'; fi` - --lib_a-psignal.o: psignal.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-psignal.o `test -f 'psignal.c' || echo '$(srcdir)/'`psignal.c -- --lib_a-psignal.obj: psignal.c -- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-psignal.obj `if test -f 'psignal.c'; then $(CYGPATH_W) 'psignal.c'; else $(CYGPATH_W) '$(srcdir)/psignal.c'; fi` -- - lib_a-pwrite.o: pwrite.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-pwrite.o `test -f 'pwrite.c' || echo '$(srcdir)/'`pwrite.c - -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/linux/psignal.c newlib-1.19.0/newlib/libc/sys/linux/psignal.c ---- newlib-1.19.0.orig/newlib/libc/sys/linux/psignal.c 2002-06-05 22:58:58.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/sys/linux/psignal.c 1970-01-01 01:00:00.000000000 +0100 -@@ -1,15 +0,0 @@ --/* libc/sys/linux/psignal.c - print signal message to stderr */ -- --/* Copyright 2002, Red Hat Inc. */ -- --#include --#include -- --void --psignal (int sig, const char *s) --{ -- if (s != NULL) -- fprintf (stderr, "%s: %s\n", s, strsignal (sig)); -- else -- fprintf (stderr, "%s\n", strsignal (sig)); --} -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/linux/sys/signal.h newlib-1.19.0/newlib/libc/sys/linux/sys/signal.h ---- newlib-1.19.0.orig/newlib/libc/sys/linux/sys/signal.h 2002-07-24 20:18:07.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/sys/linux/sys/signal.h 2011-07-20 05:54:59.267259377 +0200 -@@ -37,7 +37,6 @@ - #include <_ansi.h> - - int _EXFUN(kill, (int, int)); --_VOID _EXFUN(psignal, (int, const char *)); - int _EXFUN(sigaction, (int, const struct sigaction *, struct sigaction *)); - int _EXFUN(sigaddset, (sigset_t *, const int)); - int _EXFUN(sigdelset, (sigset_t *, const int)); -@@ -50,7 +49,6 @@ - - #ifndef _POSIX_SOURCE - extern const char *const sys_siglist[]; --typedef __sighandler_t sig_t; /* BSDism */ - #endif - - #endif -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/rtems/crt0.c newlib-1.19.0/newlib/libc/sys/rtems/crt0.c ---- newlib-1.19.0.orig/newlib/libc/sys/rtems/crt0.c 2009-12-16 19:28:14.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/sys/rtems/crt0.c 2011-07-20 05:54:59.267259377 +0200 -@@ -24,8 +24,8 @@ - /* RTEMS provides some of its own routines including a Malloc family */ - RTEMS_STUB(void *,malloc(size_t s)) { return 0; } - RTEMS_STUB(void *,realloc(void* p, size_t s)) { return 0; } --RTEMS_STUB(void, free(void)) { ; } --RTEMS_STUB(_PTR, calloc(struct _reent *r, size_t s1, size_t s2)) {} -+RTEMS_STUB(void, free(void* ptr)) { ; } -+RTEMS_STUB(_PTR, calloc(size_t s1, size_t s2)) {} - - #if defined(__GNUC__) - /* -@@ -49,6 +49,7 @@ - #endif - - /* stubs for functions RTEMS provides */ -+RTEMS_STUB(int, clock_gettime(clockid_t clk_id, struct timespec *tp)) { return -1; } - RTEMS_STUB(int, close (int fd)) { return -1; } - RTEMS_STUB(int, dup2(int oldfd, int newfd)) { return -1; } - RTEMS_STUB(int, fcntl( int fd, int cmd, ... /* arg */ )) { return -1; } -@@ -56,6 +57,7 @@ - RTEMS_STUB(int, fstat(int fd, struct stat *buf)) { return -1; } - RTEMS_STUB(int, getdents(int fd, void *dp, int count)) { return -1; } - RTEMS_STUB(char *, getlogin(void)) { return 0; } -+RTEMS_STUB(int, gettimeofday(struct timeval *tv, struct timezone *tz)) { return -1; } - RTEMS_STUB(struct passwd *, getpwnam(const char *name)) { return 0; } - RTEMS_STUB(struct passwd *, getpwuid(uid_t uid)) { return 0; } - RTEMS_STUB(uid_t, getuid(void)) { return 0; } -@@ -65,6 +67,7 @@ - RTEMS_STUB(int, open(const char *pathname, int flags, int mode)) { return -1; } - RTEMS_STUB(int, pipe(int pipefd[2])) { return -1; } - RTEMS_STUB(_ssize_t, read(int fd, void *buf, size_t count)) { return -1; } -+RTEMS_STUB(int, sched_yield(void)) { return -1; } - RTEMS_STUB(int, sigfillset(sigset_t *set)) { return -1; } - RTEMS_STUB(int, sigprocmask(int how, const sigset_t *set, sigset_t *oldset)) { return -1; } - RTEMS_STUB(int, stat(const char *path, struct stat *buf)) { return -1; } -@@ -95,7 +98,7 @@ - RTEMS_STUB(int, _kill_r (struct _reent *r, int pid, int sig )) { return -1; } - #if !defined(REENTRANT_SYSCALLS_PROVIDED) - /* cf. newlib/libc/reent/linkr.c */ --RTEMS_STUB(int, _link_r (struct _reent *, const char *, const char *)) { return -1; } -+RTEMS_STUB(int, _link_r (struct _reent *r, const char *oldpath, const char *newpath)) { return -1; } - #endif - RTEMS_STUB(_off_t, _lseek_r ( struct _reent *ptr, int fd, _off_t offset, int whence )) { return -1; } - RTEMS_STUB(int, _open_r (struct _reent *r, const char *buf, int flags, int mode)) { return -1; } -@@ -103,14 +106,14 @@ - RTEMS_STUB(int, _rename_r (struct _reent *r, const char *a, const char *b)){ return -1; } - #if !(defined (REENTRANT_SYSCALLS_PROVIDED) || defined (MALLOC_PROVIDED)) - /* cf. newlib/libc/reent/sbrkr.c */ --RTEMS_STUB(void *,_sbrk_r (struct _reent *r, ptrdiff_t)) { return -1; } -+RTEMS_STUB(void *,_sbrk_r (struct _reent *r, ptrdiff_t addr)) { return 0; } - #endif - RTEMS_STUB(int, _stat_r (struct _reent *r, const char *path, struct stat *buf)) { return -1; } - RTEMS_STUB(_CLOCK_T_, _times_r (struct _reent *r, struct tms *ptms)) { return -1; } - RTEMS_STUB(int, _unlink_r (struct _reent *r, const char *path)) { return -1; } - #if !(defined (REENTRANT_SYSCALLS_PROVIDED) || defined (NO_EXEC)) - /* cf. newlib/libc/reent/execr.c */ --RTEMS_STUB(int, _wait_r (struct _reent *r, int *)) { return -1; } -+RTEMS_STUB(int, _wait_r (struct _reent *r, int *status)) { return -1; } - #endif - RTEMS_STUB(_ssize_t, _write_r (struct _reent *r, int fd, const void *buf, size_t nbytes)) { return -1; } - -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/rtems/include/limits.h newlib-1.19.0/newlib/libc/sys/rtems/include/limits.h ---- newlib-1.19.0.orig/newlib/libc/sys/rtems/include/limits.h 2008-11-17 23:05:12.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/sys/rtems/include/limits.h 2011-07-20 05:54:59.267259377 +0200 -@@ -78,7 +78,13 @@ - * Invariant values - */ - -+#ifdef __SIZE_MAX__ -+#define SSIZE_MAX (__SIZE_MAX__ >> 1) -+#elif defined(__SIZEOF_SIZE_T__) && defined(__CHAR_BIT__) -+#define SSIZE_MAX ((1UL << (__SIZEOF_SIZE_T__ * __CHAR_BIT__ - 1)) - 1) -+#else /* historic fallback, wrong in most cases */ - #define SSIZE_MAX 32767 -+#endif - - /* - * Maximum Values -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/rtems/sys/dirent.h newlib-1.19.0/newlib/libc/sys/rtems/sys/dirent.h ---- newlib-1.19.0.orig/newlib/libc/sys/rtems/sys/dirent.h 2010-07-06 17:23:27.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/sys/rtems/sys/dirent.h 2011-07-20 05:54:59.268259393 +0200 -@@ -50,7 +50,7 @@ - - int scandir ( const char *dirname, - struct dirent *** namelist, -- int (*select)(struct dirent *), -+ int (*select)(const struct dirent *), - int (*dcomp)(const struct dirent **, const struct dirent **) - ); - -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/fstat.c newlib-1.19.0/newlib/libc/sys/sysnecv850/fstat.c ---- newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/fstat.c 2000-02-17 20:39:50.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/sys/sysnecv850/fstat.c 2011-07-20 05:54:59.268259393 +0200 -@@ -13,6 +13,5 @@ - _fstat (int file, - struct stat *st) - { -- st->st_mode = S_IFCHR; -- return 0; -+ return TRAP0 (SYS_fstat, file, st, 0); - } -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/Makefile.am newlib-1.19.0/newlib/libc/sys/sysnecv850/Makefile.am ---- newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/Makefile.am 2010-09-09 16:54:24.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/sys/sysnecv850/Makefile.am 2011-07-20 05:54:59.268259393 +0200 -@@ -16,7 +16,7 @@ - $(lpfx)open.o $(lpfx)pipe.o $(lpfx)read.o $(lpfx)link.o \ - $(lpfx)sbrk.o $(lpfx)stat.o $(lpfx)time.o $(lpfx)trap.o \ - $(lpfx)unlink.o $(lpfx)utime.o $(lpfx)wait.o $(lpfx)write.o \ -- $(lpfx)times.o $(lpfx)gettime.o -+ $(lpfx)times.o $(lpfx)gettime.o $(lpfx)rename.o - else - extra_objs = - endif -@@ -27,7 +27,7 @@ - execv.c execve.c fork.c fstat.c getpid.c isatty.c \ - kill.c lseek.c open.c pipe.c read.c link.c \ - sbrk.c stat.c time.c trap.S unlink.c utime.c wait.c write.c \ -- times.c gettime.c -+ times.c gettime.c rename.c - lib_a_SOURCES = - lib_a_DEPENDENCIES = $(extra_objs) - lib_a_CCASFLAGS = $(AM_CCASFLAGS) -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/Makefile.in newlib-1.19.0/newlib/libc/sys/sysnecv850/Makefile.in ---- newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/Makefile.in 2010-09-09 16:54:24.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/sys/sysnecv850/Makefile.in 2011-07-20 05:54:59.268259393 +0200 -@@ -65,7 +65,8 @@ - @MAY_SUPPLY_SYSCALLS_TRUE@ $(lpfx)time.o $(lpfx)trap.o \ - @MAY_SUPPLY_SYSCALLS_TRUE@ $(lpfx)unlink.o $(lpfx)utime.o \ - @MAY_SUPPLY_SYSCALLS_TRUE@ $(lpfx)wait.o $(lpfx)write.o \ --@MAY_SUPPLY_SYSCALLS_TRUE@ $(lpfx)times.o $(lpfx)gettime.o -+@MAY_SUPPLY_SYSCALLS_TRUE@ $(lpfx)times.o $(lpfx)gettime.o \ -+@MAY_SUPPLY_SYSCALLS_TRUE@ $(lpfx)rename.o - am_lib_a_OBJECTS = - lib_a_OBJECTS = $(am_lib_a_OBJECTS) - DEFAULT_INCLUDES = -I.@am__isrc@ -@@ -111,6 +112,7 @@ - MAKEINFO = @MAKEINFO@ - MKDIR_P = @MKDIR_P@ - NEWLIB_CFLAGS = @NEWLIB_CFLAGS@ -+NO_INCLUDE_LIST = @NO_INCLUDE_LIST@ - OBJEXT = @OBJEXT@ - PACKAGE = @PACKAGE@ - PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -@@ -194,7 +196,7 @@ - @MAY_SUPPLY_SYSCALLS_TRUE@ $(lpfx)open.o $(lpfx)pipe.o $(lpfx)read.o $(lpfx)link.o \ - @MAY_SUPPLY_SYSCALLS_TRUE@ $(lpfx)sbrk.o $(lpfx)stat.o $(lpfx)time.o $(lpfx)trap.o \ - @MAY_SUPPLY_SYSCALLS_TRUE@ $(lpfx)unlink.o $(lpfx)utime.o $(lpfx)wait.o $(lpfx)write.o \ --@MAY_SUPPLY_SYSCALLS_TRUE@ $(lpfx)times.o $(lpfx)gettime.o -+@MAY_SUPPLY_SYSCALLS_TRUE@ $(lpfx)times.o $(lpfx)gettime.o $(lpfx)rename.o - - lib_a_LIBADD = $(extra_objs) - EXTRA_lib_a_SOURCES = \ -@@ -202,7 +204,7 @@ - execv.c execve.c fork.c fstat.c getpid.c isatty.c \ - kill.c lseek.c open.c pipe.c read.c link.c \ - sbrk.c stat.c time.c trap.S unlink.c utime.c wait.c write.c \ -- times.c gettime.c -+ times.c gettime.c rename.c - - lib_a_SOURCES = - lib_a_DEPENDENCIES = $(extra_objs) -@@ -448,6 +450,12 @@ - lib_a-gettime.obj: gettime.c - $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-gettime.obj `if test -f 'gettime.c'; then $(CYGPATH_W) 'gettime.c'; else $(CYGPATH_W) '$(srcdir)/gettime.c'; fi` - -+lib_a-rename.o: rename.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-rename.o `test -f 'rename.c' || echo '$(srcdir)/'`rename.c -+ -+lib_a-rename.obj: rename.c -+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-rename.obj `if test -f 'rename.c'; then $(CYGPATH_W) 'rename.c'; else $(CYGPATH_W) '$(srcdir)/rename.c'; fi` -+ - ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) - list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ - unique=`for i in $$list; do \ -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/rename.c newlib-1.19.0/newlib/libc/sys/sysnecv850/rename.c ---- newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/rename.c 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/sys/sysnecv850/rename.c 2011-07-20 05:54:59.268259393 +0200 -@@ -0,0 +1,17 @@ -+#include <_ansi.h> -+#include -+#include -+#include "sys/syscall.h" -+ -+int errno; -+ -+int __trap0 (int function, int p1, int p2, int p3); -+ -+#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3)) -+ -+int -+rename (const char *oldpath, -+ const char *newpath) -+{ -+ return TRAP0 (SYS_rename, oldpath, newpath, 0); -+} -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/sbrk.c newlib-1.19.0/newlib/libc/sys/sysnecv850/sbrk.c ---- newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/sbrk.c 2000-02-17 20:39:50.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/sys/sysnecv850/sbrk.c 2011-07-20 05:54:59.269259409 +0200 -@@ -3,34 +3,27 @@ - #include - #include "sys/syscall.h" - --int errno; -- --int __trap0 (int function, int p1, int p2, int p3); -- --#define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3)) -- - caddr_t - _sbrk (int incr) - { -- extern char end; /* Defined by the linker */ -- static char *heap_end; -- char *prev_heap_end; --#if 0 -- char *sp = (char *)stack_ptr; --#else -- char *sp = (char *)&sp; --#endif -+ extern char heap_start; /* Defined by the linker script. */ -+ static char * heap_end = NULL; -+ char * prev_heap_end; -+ char * sp = (char *) & sp; -+ -+ if (heap_end == NULL) -+ heap_end = & heap_start; - -- if (heap_end == 0) -- { -- heap_end = &end; -- } - prev_heap_end = heap_end; -+ - if (heap_end + incr > sp) - { -- _write (1, "Heap and stack collision\n", 25); -+#define MESSAGE "Heap and stack collision\n" -+ _write (1, MESSAGE, sizeof MESSAGE); - abort (); - } -+ - heap_end += incr; -+ - return (caddr_t) prev_heap_end; - } -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/sys/syscall.h newlib-1.19.0/newlib/libc/sys/sysnecv850/sys/syscall.h ---- newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/sys/syscall.h 2000-02-17 20:39:50.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/sys/sysnecv850/sys/syscall.h 2011-07-20 05:54:59.269259409 +0200 -@@ -29,6 +29,7 @@ - #define SYS_execve 59 - #define SYS_times 43 - #define SYS_gettimeofday 116 -+#define SYS_rename 134 - - #define SYS_utime 201 /* not really a system call */ - #define SYS_wait 202 /* nor is this */ -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/trap.S newlib-1.19.0/newlib/libc/sys/sysnecv850/trap.S ---- newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/trap.S 2000-02-17 20:39:50.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/sys/sysnecv850/trap.S 2011-07-20 05:54:59.269259409 +0200 -@@ -2,9 +2,9 @@ - .global ___trap0 - ___trap0: - trap 31 -- tst r10,r10 -+ tst r11,r11 - bz .L0 - movhi hi(_errno),r0,r6 -- st.w r10,lo(_errno)[r6] -+ st.w r11,lo(_errno)[r6] - .L0: - jmp [r31] -diff -Naur newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/unlink.c newlib-1.19.0/newlib/libc/sys/sysnecv850/unlink.c ---- newlib-1.19.0.orig/newlib/libc/sys/sysnecv850/unlink.c 2000-02-17 20:39:50.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/sys/sysnecv850/unlink.c 2011-07-20 05:54:59.269259409 +0200 -@@ -10,7 +10,7 @@ - #define TRAP0(f, p1, p2, p3) __trap0(f, (int)(p1), (int)(p2), (int)(p3)) - - int --_unlink () -+_unlink (const char *path) - { -- return -1; -+ return TRAP0 (SYS_unlink, path, 0, 0); - } -diff -Naur newlib-1.19.0.orig/newlib/libc/time/asctime_r.c newlib-1.19.0/newlib/libc/time/asctime_r.c ---- newlib-1.19.0.orig/newlib/libc/time/asctime_r.c 2000-05-10 19:58:29.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/time/asctime_r.c 2011-07-20 05:54:59.269259409 +0200 -@@ -18,10 +18,10 @@ - "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" - }; - -- sprintf (result, "%.3s %.3s%3d %.2d:%.2d:%.2d %d\n", -- day_name[tim_p->tm_wday], -- mon_name[tim_p->tm_mon], -- tim_p->tm_mday, tim_p->tm_hour, tim_p->tm_min, -- tim_p->tm_sec, 1900 + tim_p->tm_year); -+ siprintf (result, "%.3s %.3s%3d %.2d:%.2d:%.2d %d\n", -+ day_name[tim_p->tm_wday], -+ mon_name[tim_p->tm_mon], -+ tim_p->tm_mday, tim_p->tm_hour, tim_p->tm_min, -+ tim_p->tm_sec, 1900 + tim_p->tm_year); - return result; - } -diff -Naur newlib-1.19.0.orig/newlib/libc/time/mktime.c newlib-1.19.0/newlib/libc/time/mktime.c ---- newlib-1.19.0.orig/newlib/libc/time/mktime.c 2008-12-11 18:27:56.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/time/mktime.c 2011-07-20 05:54:59.269259409 +0200 -@@ -208,6 +208,8 @@ - tm_isdst = tim_p->tm_isdst > 0 ? 1 : tim_p->tm_isdst; - isdst = tm_isdst; - -+ TZ_LOCK; -+ - if (_daylight) - { - int y = tim_p->tm_year + YEAR_BASE; -@@ -257,6 +259,8 @@ - else /* otherwise assume std time */ - tim += (time_t) tz->__tzrule[0].offset; - -+ TZ_UNLOCK; -+ - /* reset isdst flag to what we have calculated */ - tim_p->tm_isdst = isdst; - -diff -Naur newlib-1.19.0.orig/newlib/libc/time/strftime.c newlib-1.19.0/newlib/libc/time/strftime.c ---- newlib-1.19.0.orig/newlib/libc/time/strftime.c 2010-04-28 11:59:37.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/time/strftime.c 2011-07-20 05:54:59.270259425 +0200 -@@ -285,6 +285,7 @@ - # define CQ(a) a /* character constant qualifier */ - # define SFLG /* %s flag (null for normal char) */ - # define _ctloc(x) (ctloclen = strlen (ctloc = _CurrentTimeLocale->x), ctloc) -+# define snprintf sniprintf /* avoid to pull in FP functions. */ - # define TOLOWER(c) tolower((int)(unsigned char)(c)) - # define STRTOUL(c,p,b) strtoul((c),(p),(b)) - # define STRCPY(a,b) strcpy((a),(b)) -diff -Naur newlib-1.19.0.orig/newlib/libc/time/strptime.c newlib-1.19.0/newlib/libc/time/strptime.c ---- newlib-1.19.0.orig/newlib/libc/time/strptime.c 2010-01-22 14:03:42.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/time/strptime.c 2011-07-20 05:54:59.270259425 +0200 -@@ -40,6 +40,16 @@ - - #define _ctloc(x) (_CurrentTimeLocale->x) - -+static _CONST int _DAYS_BEFORE_MONTH[12] = -+{0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334}; -+ -+#define SET_MDAY 1 -+#define SET_MON 2 -+#define SET_YEAR 4 -+#define SET_WDAY 8 -+#define SET_YDAY 16 -+#define SET_YMD (SET_YEAR | SET_MON | SET_MDAY) -+ - /* - * tm_year is relative this year - */ -@@ -78,8 +88,8 @@ - { - int ret = 4; - -- for (; year > 1970; --year) -- ret = (ret + 365 + is_leap_year (year) ? 1 : 0) % 7; -+ while (--year >= 1970) -+ ret = (ret + 365 + is_leap_year (year)) % 7; - return ret; - } - -@@ -147,6 +157,7 @@ - struct tm *timeptr) - { - char c; -+ int ymd = 0; - - struct lc_time_T *_CurrentTimeLocale = __get_current_time_locale (); - for (; (c = *format) != '\0'; ++format) { -@@ -166,18 +177,21 @@ - if (ret < 0) - return NULL; - timeptr->tm_wday = ret; -+ ymd |= SET_WDAY; - break; - case 'a' : - ret = match_string (&buf, _ctloc (wday)); - if (ret < 0) - return NULL; - timeptr->tm_wday = ret; -+ ymd |= SET_WDAY; - break; - case 'B' : - ret = match_string (&buf, _ctloc (month)); - if (ret < 0) - return NULL; - timeptr->tm_mon = ret; -+ ymd |= SET_MON; - break; - case 'b' : - case 'h' : -@@ -185,6 +199,7 @@ - if (ret < 0) - return NULL; - timeptr->tm_mon = ret; -+ ymd |= SET_MON; - break; - case 'C' : - ret = strtol (buf, &s, 10); -@@ -192,18 +207,21 @@ - return NULL; - timeptr->tm_year = (ret * 100) - tm_year_base; - buf = s; -+ ymd |= SET_YEAR; - break; - case 'c' : /* %a %b %e %H:%M:%S %Y */ - s = strptime (buf, _ctloc (c_fmt), timeptr); - if (s == NULL) - return NULL; - buf = s; -+ ymd |= SET_WDAY | SET_YMD; - break; - case 'D' : /* %m/%d/%y */ - s = strptime (buf, "%m/%d/%y", timeptr); - if (s == NULL) - return NULL; - buf = s; -+ ymd |= SET_YMD; - break; - case 'd' : - case 'e' : -@@ -212,6 +230,7 @@ - return NULL; - timeptr->tm_mday = ret; - buf = s; -+ ymd |= SET_MDAY; - break; - case 'H' : - case 'k' : -@@ -238,6 +257,7 @@ - return NULL; - timeptr->tm_yday = ret - 1; - buf = s; -+ ymd |= SET_YDAY; - break; - case 'm' : - ret = strtol (buf, &s, 10); -@@ -245,6 +265,7 @@ - return NULL; - timeptr->tm_mon = ret - 1; - buf = s; -+ ymd |= SET_MON; - break; - case 'M' : - ret = strtol (buf, &s, 10); -@@ -306,6 +327,7 @@ - return NULL; - timeptr->tm_wday = ret - 1; - buf = s; -+ ymd |= SET_WDAY; - break; - case 'w' : - ret = strtol (buf, &s, 10); -@@ -313,6 +335,7 @@ - return NULL; - timeptr->tm_wday = ret; - buf = s; -+ ymd |= SET_WDAY; - break; - case 'U' : - ret = strtol (buf, &s, 10); -@@ -320,6 +343,7 @@ - return NULL; - set_week_number_sun (timeptr, ret); - buf = s; -+ ymd |= SET_YDAY; - break; - case 'V' : - ret = strtol (buf, &s, 10); -@@ -327,6 +351,7 @@ - return NULL; - set_week_number_mon4 (timeptr, ret); - buf = s; -+ ymd |= SET_YDAY; - break; - case 'W' : - ret = strtol (buf, &s, 10); -@@ -334,12 +359,14 @@ - return NULL; - set_week_number_mon (timeptr, ret); - buf = s; -+ ymd |= SET_YDAY; - break; - case 'x' : - s = strptime (buf, _ctloc (x_fmt), timeptr); - if (s == NULL) - return NULL; - buf = s; -+ ymd |= SET_YMD; - break; - case 'X' : - s = strptime (buf, _ctloc (X_fmt), timeptr); -@@ -356,6 +383,7 @@ - else - timeptr->tm_year = ret; - buf = s; -+ ymd |= SET_YEAR; - break; - case 'Y' : - ret = strtol (buf, &s, 10); -@@ -363,6 +391,7 @@ - return NULL; - timeptr->tm_year = ret - tm_year_base; - buf = s; -+ ymd |= SET_YEAR; - break; - case 'Z' : - /* Unsupported. Just ignore. */ -@@ -390,6 +419,58 @@ - return NULL; - } - } -+ -+ if ((ymd & SET_YMD) == SET_YMD) { -+ /* all of tm_year, tm_mon and tm_mday, but... */ -+ -+ if (!(ymd & SET_YDAY)) { -+ /* ...not tm_yday, so fill it in */ -+ timeptr->tm_yday = _DAYS_BEFORE_MONTH[timeptr->tm_mon] -+ + timeptr->tm_mday; -+ if (!is_leap_year (timeptr->tm_year + tm_year_base) -+ || timeptr->tm_mon < 2) -+ { -+ timeptr->tm_yday--; -+ } -+ ymd |= SET_YDAY; -+ } -+ } -+ else if ((ymd & (SET_YEAR | SET_YDAY)) == (SET_YEAR | SET_YDAY)) { -+ /* both of tm_year and tm_yday, but... */ -+ -+ if (!(ymd & SET_MON)) { -+ /* ...not tm_mon, so fill it in, and/or... */ -+ if (timeptr->tm_yday < _DAYS_BEFORE_MONTH[1]) -+ timeptr->tm_mon = 0; -+ else { -+ int leap = is_leap_year (timeptr->tm_year + tm_year_base); -+ int i; -+ for (i = 2; i < 12; ++i) { -+ if (timeptr->tm_yday < _DAYS_BEFORE_MONTH[i] + leap) -+ break; -+ } -+ timeptr->tm_mon = i - 1; -+ } -+ } -+ -+ if (!(ymd & SET_MDAY)) { -+ /* ...not tm_mday, so fill it in */ -+ timeptr->tm_mday = timeptr->tm_yday -+ - _DAYS_BEFORE_MONTH[timeptr->tm_mon]; -+ if (!is_leap_year (timeptr->tm_year + tm_year_base) -+ || timeptr->tm_mon < 2) -+ { -+ timeptr->tm_mday++; -+ } -+ } -+ } -+ -+ if ((ymd & (SET_YEAR | SET_YDAY | SET_WDAY)) == (SET_YEAR | SET_YDAY)) { -+ /* fill in tm_wday */ -+ int fday = first_day (timeptr->tm_year + tm_year_base); -+ timeptr->tm_wday = (fday + timeptr->tm_yday) % 7; -+ } -+ - return (char *)buf; - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/time/tzset_r.c newlib-1.19.0/newlib/libc/time/tzset_r.c ---- newlib-1.19.0.orig/newlib/libc/time/tzset_r.c 2008-10-06 21:21:29.000000000 +0200 -+++ newlib-1.19.0/newlib/libc/time/tzset_r.c 2011-07-20 05:54:59.270259425 +0200 -@@ -7,6 +7,8 @@ - #include - #include "local.h" - -+#define sscanf siscanf /* avoid to pull in FP functions. */ -+ - static char __tzname_std[11]; - static char __tzname_dst[11]; - static char *prev_tzenv = NULL; -@@ -28,6 +30,8 @@ - _daylight = 0; - _tzname[0] = "GMT"; - _tzname[1] = "GMT"; -+ free(prev_tzenv); -+ prev_tzenv = NULL; - TZ_UNLOCK; - return; - } -@@ -80,8 +84,10 @@ - tzenv += n; - - if (sscanf (tzenv, "%10[^0-9,+-]%n", __tzname_dst, &n) <= 0) -- { -+ { /* No dst */ - _tzname[1] = _tzname[0]; -+ _timezone = tz->__tzrule[0].offset; -+ _daylight = 0; - TZ_UNLOCK; - return; - } -diff -Naur newlib-1.19.0.orig/newlib/libc/xdr/xdr.c newlib-1.19.0/newlib/libc/xdr/xdr.c ---- newlib-1.19.0.orig/newlib/libc/xdr/xdr.c 2010-03-02 13:05:18.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/xdr/xdr.c 2011-07-20 05:54:59.271259440 +0200 -@@ -113,7 +113,7 @@ - #elif INT_MAX == LONG_MAX - return xdr_long (xdrs, (long *) ip); - #else --# error Unexpeced integer sizes in xdr_int() -+# error Unexpected integer sizes in xdr_int() - #endif - } - -@@ -148,7 +148,7 @@ - #elif UINT_MAX == ULONG_MAX - return xdr_u_long (xdrs, (u_long *) up); - #else --# error Unexpeced integer sizes in xdr_int() -+# error Unexpected integer sizes in xdr_int() - #endif - } - -diff -Naur newlib-1.19.0.orig/newlib/libc/xdr/xdr_private.h newlib-1.19.0/newlib/libc/xdr/xdr_private.h ---- newlib-1.19.0.orig/newlib/libc/xdr/xdr_private.h 2010-03-02 13:05:18.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/xdr/xdr_private.h 2011-07-20 05:54:59.271259440 +0200 -@@ -25,6 +25,7 @@ - - #include <_ansi.h> - #include -+#include - #include - - /* avoid including stdio header here */ -diff -Naur newlib-1.19.0.orig/newlib/libc/xdr/xdr_rec.c newlib-1.19.0/newlib/libc/xdr/xdr_rec.c ---- newlib-1.19.0.orig/newlib/libc/xdr/xdr_rec.c 2010-03-02 13:05:18.000000000 +0100 -+++ newlib-1.19.0/newlib/libc/xdr/xdr_rec.c 2011-07-20 05:54:59.271259440 +0200 -@@ -51,6 +51,7 @@ - #include - #include - #include -+#include - - #include - #include -diff -Naur newlib-1.19.0.orig/newlib/libm/common/modfl.c newlib-1.19.0/newlib/libm/common/modfl.c ---- newlib-1.19.0.orig/newlib/libm/common/modfl.c 2009-04-18 00:15:43.000000000 +0200 -+++ newlib-1.19.0/newlib/libm/common/modfl.c 2011-07-20 05:54:59.271259440 +0200 -@@ -36,7 +36,7 @@ - long double - modfl (long double x, long double *iptr) - { -- return modf(x, iptr); -+ return modf(x, (double*) iptr); - } - #endif - -diff -Naur newlib-1.19.0.orig/newlib/libm/common/s_round.c newlib-1.19.0/newlib/libm/common/s_round.c ---- newlib-1.19.0.orig/newlib/libm/common/s_round.c 2009-03-25 20:13:01.000000000 +0100 -+++ newlib-1.19.0/newlib/libm/common/s_round.c 2011-07-20 05:54:59.271259440 +0200 -@@ -68,7 +68,7 @@ - msw &= 0x80000000; - if (exponent_less_1023 == -1) - /* Result is +1.0 or -1.0. */ -- msw |= (1023 << 20); -+ msw |= ((__int32_t)1023 << 20); - lsw = 0; - } - else -diff -Naur newlib-1.19.0.orig/newlib/libm/complex/cacos.c newlib-1.19.0/newlib/libm/complex/cacos.c ---- newlib-1.19.0.orig/newlib/libm/complex/cacos.c 2010-11-04 19:27:13.000000000 +0100 -+++ newlib-1.19.0/newlib/libm/complex/cacos.c 2011-07-20 05:54:59.272259455 +0200 -@@ -82,8 +82,18 @@ - { - double complex w; - -+ /* FIXME: The original NetBSD code results in an ICE when trying to -+ build this function on ARM/Thumb using gcc 4.5.1. For now we use -+ a hopefully temporary workaround. */ -+#if 0 - w = casin(z); -- w = M_PI_2 - creal(w); -- w -= (cimag(w) * I); -+ w = (M_PI_2 - creal(w)) - cimag(w) * I; -+#else -+ double complex tmp0, tmp1; -+ -+ tmp0 = casin(z); -+ tmp1 = M_PI_2 - creal(tmp0); -+ w = tmp1 - (cimag(tmp0) * I); -+#endif - return w; - } -diff -Naur newlib-1.19.0.orig/newlib/libm/complex/cproj.c newlib-1.19.0/newlib/libm/complex/cproj.c ---- newlib-1.19.0.orig/newlib/libm/complex/cproj.c 2010-10-19 00:40:24.000000000 +0200 -+++ newlib-1.19.0/newlib/libm/complex/cproj.c 2011-07-20 05:54:59.272259455 +0200 -@@ -93,7 +93,7 @@ - { - double_complex w = { .z = z }; - -- if (isinf(creal(z) || isinf(cimag(z)))) { -+ if (isinf(creal(z)) || isinf(cimag(z))) { - #ifdef __INFINITY - REAL_PART(w) = __INFINITY; - #else -diff -Naur newlib-1.19.0.orig/newlib/libm/complex/cprojf.c newlib-1.19.0/newlib/libm/complex/cprojf.c ---- newlib-1.19.0.orig/newlib/libm/complex/cprojf.c 2010-10-08 12:35:14.000000000 +0200 -+++ newlib-1.19.0/newlib/libm/complex/cprojf.c 2011-07-20 05:54:59.272259455 +0200 -@@ -55,7 +55,7 @@ - { - float_complex w = { .z = z }; - -- if (isinf(crealf(z) || isinf(cimagf(z)))) { -+ if (isinf(crealf(z)) || isinf(cimagf(z))) { - #ifdef __INFINITY - REAL_PART(w) = __INFINITY; - #else -diff -Naur newlib-1.19.0.orig/newlib/libm/math/e_scalb.c newlib-1.19.0/newlib/libm/math/e_scalb.c ---- newlib-1.19.0.orig/newlib/libm/math/e_scalb.c 2000-02-17 20:39:51.000000000 +0100 -+++ newlib-1.19.0/newlib/libm/math/e_scalb.c 2011-07-20 05:54:59.272259455 +0200 -@@ -17,6 +17,7 @@ - * should use scalbn() instead. - */ - -+#include - #include "fdlibm.h" - - #ifndef _DOUBLE_IS_32BITS -@@ -46,8 +47,17 @@ - else return x/(-fn); - } - if (rint(fn)!=fn) return (fn-fn)/(fn-fn); -+#if (INT_MAX < 65000) -+ if ( fn > (double) INT_MAX) return scalbn(x, INT_MAX); -+#else - if ( fn > 65000.0) return scalbn(x, 65000); -- if (-fn > 65000.0) return scalbn(x,-65000); -+#endif -+ -+#if (INT_MIN > -65000) -+ if (fn < (double) INT_MIN) return scalbn(x,INT_MIN); -+#else -+ if (fn < -65000.0) return scalbn(x,-65000); -+#endif - return scalbn(x,(int)fn); - #endif - } -diff -Naur newlib-1.19.0.orig/newlib/libm/math/wf_tgamma.c newlib-1.19.0/newlib/libm/math/wf_tgamma.c ---- newlib-1.19.0.orig/newlib/libm/math/wf_tgamma.c 2007-09-04 19:33:10.000000000 +0200 -+++ newlib-1.19.0/newlib/libm/math/wf_tgamma.c 2011-07-20 05:54:59.272259455 +0200 -@@ -43,3 +43,17 @@ - return y; - #endif - } -+ -+#ifdef _DOUBLE_IS_32BITS -+ -+#ifdef __STDC__ -+ double tgamma(double x) -+#else -+ double tgamma(x) -+ double x; -+#endif -+{ -+ return (double) tgammaf((float) x); -+} -+ -+#endif /* defined(_DOUBLE_IS_32BITS) */ -diff -Naur newlib-1.19.0.orig/newlib/libm/math/w_tgamma.c newlib-1.19.0/newlib/libm/math/w_tgamma.c ---- newlib-1.19.0.orig/newlib/libm/math/w_tgamma.c 2002-06-07 23:59:56.000000000 +0200 -+++ newlib-1.19.0/newlib/libm/math/w_tgamma.c 2011-07-20 05:54:59.272259455 +0200 -@@ -17,6 +17,8 @@ - - #include "fdlibm.h" - -+#ifndef _DOUBLE_IS_32BITS -+ - #ifdef __STDC__ - double tgamma(double x) - #else -@@ -42,3 +44,5 @@ - return y; - #endif - } -+ -+#endif /* defined(_DOUBLE_IS_32BITS) */ -diff -Naur newlib-1.19.0.orig/newlib/MAINTAINERS newlib-1.19.0/newlib/MAINTAINERS ---- newlib-1.19.0.orig/newlib/MAINTAINERS 2010-12-16 22:58:38.000000000 +0100 -+++ newlib-1.19.0/newlib/MAINTAINERS 2011-07-20 05:54:59.230258806 +0200 -@@ -6,7 +6,7 @@ - The official maintainers of newlib: - - Jeff Johnston jjohnstn@redhat.com --Corinna Vinschen corinna@vinchen.de -+Corinna Vinschen corinna@vinschen.de - - - Various Domain Maintainers -diff -Naur newlib-1.19.0.orig/newlib/Makefile.am newlib-1.19.0/newlib/Makefile.am ---- newlib-1.19.0.orig/newlib/Makefile.am 2010-12-16 22:58:38.000000000 +0100 -+++ newlib-1.19.0/newlib/Makefile.am 2011-07-20 05:54:59.230258806 +0200 -@@ -81,7 +81,7 @@ - libc.a - endif - --noinst_DATA = stmp-targ-include -+BUILT_SOURCES = stmp-targ-include - - toollib_DATA = $(CRT0) $(CRT1) - -@@ -255,7 +255,7 @@ - done - touch $@ - --CLEANFILES = targ-include stmp-targ-include -+CLEANFILES = stmp-targ-include - - install-data-local: install-toollibLIBRARIES - if USE_LIBTOOL -@@ -279,10 +279,6 @@ - $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/machine/`basename $$i`; \ - else true; fi ; \ - done; \ -- $(mkinstalldirs) $(DESTDIR)$(tooldir)/include/rpc; \ -- for i in $(srcdir)/libc/include/rpc/*.h; do \ -- $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/rpc/`basename $$i`; \ -- done; \ - $(mkinstalldirs) $(DESTDIR)$(tooldir)/include/sys; \ - for i in $(srcdir)/libc/include/sys/*.h; do \ - $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/sys/`basename $$i`; \ -@@ -430,3 +426,6 @@ - else \ - echo "WARNING: could not find \`runtest'" 1>&2 ; \ - fi -+ -+clean-local: -+ -rm -rf targ-include -diff -Naur newlib-1.19.0.orig/newlib/Makefile.in newlib-1.19.0/newlib/Makefile.in ---- newlib-1.19.0.orig/newlib/Makefile.in 2010-12-16 22:58:38.000000000 +0100 -+++ newlib-1.19.0/newlib/Makefile.in 2011-07-20 05:54:59.231258817 +0200 -@@ -122,7 +122,7 @@ - install-pdf-recursive install-ps-recursive install-recursive \ - installcheck-recursive installdirs-recursive pdf-recursive \ - ps-recursive uninstall-recursive --DATA = $(noinst_DATA) $(toollib_DATA) -+DATA = $(toollib_DATA) - RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive - AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ -@@ -351,7 +351,7 @@ - @USE_LIBTOOL_FALSE@toollib_LIBRARIES = libm.a \ - @USE_LIBTOOL_FALSE@ libc.a - --noinst_DATA = stmp-targ-include -+BUILT_SOURCES = stmp-targ-include - toollib_DATA = $(CRT0) $(CRT1) - - # The functions ldexp, frexp and modf are traditionally supplied in -@@ -405,13 +405,13 @@ - @USE_LIBTOOL_TRUE@libm_la_DEPENDENCIES = libm-libtool-objectlist - @USE_LIBTOOL_TRUE@libc_la_SOURCES = - @USE_LIBTOOL_TRUE@libc_la_DEPENDENCIES = libc-libtool-objectlist --CLEANFILES = targ-include stmp-targ-include -+CLEANFILES = stmp-targ-include - CONFIG_STATUS_DEPENDENCIES = $(newlib_basedir)/configure.host - MAKEOVERRIDES = - - # dejagnu support - RUNTESTFLAGS = --all: newlib.h -+all: $(BUILT_SOURCES) newlib.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - - .SUFFIXES: -@@ -725,14 +725,16 @@ - done - check-am: - $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU --check: check-recursive -+check: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) check-recursive - all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA) newlib.h - installdirs: installdirs-recursive - installdirs-am: - for dir in "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done --install: install-recursive -+install: $(BUILT_SOURCES) -+ $(MAKE) $(AM_MAKEFLAGS) install-recursive - install-exec: install-exec-recursive - install-data: install-data-recursive - uninstall: uninstall-recursive -@@ -758,10 +760,11 @@ - 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 \ -- clean-toollibLTLIBRARIES mostlyclean-am -+clean-am: clean-generic clean-libtool clean-local \ -+ clean-toollibLIBRARIES clean-toollibLTLIBRARIES mostlyclean-am - - distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) -@@ -833,12 +836,13 @@ - uninstall-am: uninstall-toollibDATA uninstall-toollibLIBRARIES \ - uninstall-toollibLTLIBRARIES - --.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check-am \ -- ctags-recursive install-am install-strip tags-recursive -+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ -+ check-am ctags-recursive install install-am install-strip \ -+ tags-recursive - - .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am am--refresh check check-DEJAGNU check-am clean \ -- clean-generic clean-libtool clean-toollibLIBRARIES \ -+ clean-generic clean-libtool clean-local clean-toollibLIBRARIES \ - clean-toollibLTLIBRARIES ctags ctags-recursive distclean \ - distclean-DEJAGNU distclean-compile distclean-generic \ - distclean-hdr distclean-libtool distclean-tags dvi dvi-am html \ -@@ -985,10 +989,6 @@ - $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/machine/`basename $$i`; \ - else true; fi ; \ - done; \ -- $(mkinstalldirs) $(DESTDIR)$(tooldir)/include/rpc; \ -- for i in $(srcdir)/libc/include/rpc/*.h; do \ -- $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/rpc/`basename $$i`; \ -- done; \ - $(mkinstalldirs) $(DESTDIR)$(tooldir)/include/sys; \ - for i in $(srcdir)/libc/include/sys/*.h; do \ - $(INSTALL_DATA) $$i $(DESTDIR)$(tooldir)/include/sys/`basename $$i`; \ -@@ -1129,6 +1129,9 @@ - echo "WARNING: could not find \`runtest'" 1>&2 ; \ - fi - -+clean-local: -+ -rm -rf targ-include -+ - # Tell versions [3.59,3.63) of GNU make to not export all variables. - # Otherwise a system limit (for SysV at least) may be exceeded. - .NOEXPORT: -diff -Naur newlib-1.19.0.orig/newlib/testsuite/newlib.stdio/stdio.exp newlib-1.19.0/newlib/testsuite/newlib.stdio/stdio.exp ---- newlib-1.19.0.orig/newlib/testsuite/newlib.stdio/stdio.exp 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.19.0/newlib/testsuite/newlib.stdio/stdio.exp 2011-07-20 05:54:59.273259471 +0200 -@@ -0,0 +1,12 @@ -+# Copyright (C) 2011 by ARM Ltd. All rights reserved. -+# -+# Permission to use, copy, modify, and distribute this software -+# is freely granted, provided that this notice is preserved. -+# -+ -+load_lib passfail.exp -+ -+set exclude_list { -+} -+ -+newlib_pass_fail_all -x $exclude_list -diff -Naur newlib-1.19.0.orig/newlib/testsuite/newlib.stdio/swprintf.c newlib-1.19.0/newlib/testsuite/newlib.stdio/swprintf.c ---- newlib-1.19.0.orig/newlib/testsuite/newlib.stdio/swprintf.c 1970-01-01 01:00:00.000000000 +0100 -+++ newlib-1.19.0/newlib/testsuite/newlib.stdio/swprintf.c 2011-07-20 05:54:59.273259471 +0200 -@@ -0,0 +1,30 @@ -+/* -+ * Copyright (C) 2011 by ARM Ltd. All rights reserved. -+ * -+ * Permission to use, copy, modify, and distribute this software -+ * is freely granted, provided that this notice is preserved. -+ */ -+ -+#include -+#include -+#include -+#include -+#include "check.h" -+ -+int main() -+{ -+#if defined(INTEGER_ONLY) || defined(NO_FLOATING_POINT) -+ -+#else -+ char cbuf[512]; -+ wchar_t wcbuf[512], wcbuf2[512]; -+ double val = 1E+308; -+ snprintf(cbuf, 512, "%.*f", 3, val); -+ swprintf(wcbuf, 512, L"%.*f", 3, val); -+ mbstowcs(wcbuf2, cbuf, 512); -+ -+ CHECK (wcscmp(wcbuf, wcbuf2) == 0); -+#endif -+ -+ exit (0); -+} -- cgit v1.2.3