From 849333964642ab6dd8bb4d022e88a980d2e55c25 Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Sat, 29 Nov 2008 02:59:15 +0000 Subject: Rebase patch against updated newlib-cvs. --- ...lib-1.16.0.cvs.20081128-rtems4.10-20081128.diff | 367 +++++++++++++++++++++ 1 file changed, 367 insertions(+) create mode 100644 contrib/crossrpms/patches/newlib-1.16.0.cvs.20081128-rtems4.10-20081128.diff diff --git a/contrib/crossrpms/patches/newlib-1.16.0.cvs.20081128-rtems4.10-20081128.diff b/contrib/crossrpms/patches/newlib-1.16.0.cvs.20081128-rtems4.10-20081128.diff new file mode 100644 index 0000000000..4684ad5d98 --- /dev/null +++ b/contrib/crossrpms/patches/newlib-1.16.0.cvs.20081128-rtems4.10-20081128.diff @@ -0,0 +1,367 @@ +diff -Naur --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/acinclude.m4 newlib-1.16.0/newlib/acinclude.m4 +--- newlib-1.16.0.orig/newlib/acinclude.m4 2008-03-02 10:45:19.000000000 +0100 ++++ newlib-1.16.0/newlib/acinclude.m4 2008-11-20 14:20:42.000000000 +0100 +@@ -2,7 +2,7 @@ + dnl configure.in files. + + AC_DEFUN([DEF_NEWLIB_VERSION], +-m4_define([NEWLIB_VERSION],[1.16.0])) ++m4_define([NEWLIB_VERSION],[1.17.0])) + + dnl Basic newlib configury. This calls basic introductory stuff, + dnl including AM_INIT_AUTOMAKE and AC_CANONICAL_HOST. It also runs +diff -Naur --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/configure newlib-1.16.0/newlib/configure +--- newlib-1.16.0.orig/newlib/configure 2008-11-17 07:00:12.000000000 +0100 ++++ newlib-1.16.0/newlib/configure 2008-11-20 14:21:58.000000000 +0100 +@@ -1,6 +1,6 @@ + #! /bin/sh + # Guess values for system-dependent variables and create Makefiles. +-# Generated by GNU Autoconf 2.59 for newlib 1.16.0. ++# Generated by GNU Autoconf 2.59 for newlib 1.17.0. + # + # Copyright (C) 2003 Free Software Foundation, Inc. + # This configure script is free software; the Free Software Foundation +@@ -416,8 +416,8 @@ + # Identity of this package. + PACKAGE_NAME='newlib' + PACKAGE_TARNAME='newlib' +-PACKAGE_VERSION='1.16.0' +-PACKAGE_STRING='newlib 1.16.0' ++PACKAGE_VERSION='1.17.0' ++PACKAGE_STRING='newlib 1.17.0' + PACKAGE_BUGREPORT='' + + ac_unique_file="libc" +@@ -939,7 +939,7 @@ + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +-\`configure' configures newlib 1.16.0 to adapt to many kinds of systems. ++\`configure' configures newlib 1.17.0 to adapt to many kinds of systems. + + Usage: $0 [OPTION]... [VAR=VALUE]... + +@@ -1005,7 +1005,7 @@ + + if test -n "$ac_init_help"; then + case $ac_init_help in +- short | recursive ) echo "Configuration of newlib 1.16.0:";; ++ short | recursive ) echo "Configuration of newlib 1.17.0:";; + esac + cat <<\_ACEOF + +@@ -1160,7 +1160,7 @@ + test -n "$ac_init_help" && exit 0 + if $ac_init_version; then + cat <<\_ACEOF +-newlib configure 1.16.0 ++newlib configure 1.17.0 + generated by GNU Autoconf 2.59 + + Copyright (C) 2003 Free Software Foundation, Inc. +@@ -1174,7 +1174,7 @@ + This file contains any messages produced by compilers while + running configure, to aid debugging if configure makes a mistake. + +-It was created by newlib $as_me 1.16.0, which was ++It was created by newlib $as_me 1.17.0, which was + generated by GNU Autoconf 2.59. Invocation command line was + + $ $0 $@ +@@ -2225,7 +2225,7 @@ + + # Define the identity of the package. + PACKAGE='newlib' +- VERSION='1.16.0' ++ VERSION='1.17.0' + + + # Some tools Automake needs. +@@ -11744,7 +11744,7 @@ + fi + + cat >>confdefs.h <<_ACEOF +-#define _NEWLIB_VERSION "1.16.0" ++#define _NEWLIB_VERSION "1.17.0" + _ACEOF + + +@@ -12390,7 +12390,7 @@ + } >&5 + cat >&5 <<_CSEOF + +-This file was extended by newlib $as_me 1.16.0, which was ++This file was extended by newlib $as_me 1.17.0, which was + generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES +@@ -12453,7 +12453,7 @@ + + cat >>$CONFIG_STATUS <<_ACEOF + ac_cs_version="\\ +-newlib config.status 1.16.0 ++newlib config.status 1.17.0 + configured by $0, generated by GNU Autoconf 2.59, + with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" + +diff -Naur --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/configure.host newlib-1.16.0/newlib/configure.host +--- newlib-1.16.0.orig/newlib/configure.host 2008-11-28 04:00:38.000000000 +0100 ++++ newlib-1.16.0/newlib/configure.host 2008-11-28 04:05:13.000000000 +0100 +@@ -533,6 +533,7 @@ + # NOTE: When newlib malloc uses a semaphore, RTEMS will switch to that. + *-*-rtems*) + default_newlib_io_long_long="yes" ++ default_newlib_io_c99_formats="yes" + newlib_cflags="${newlib_cflags} -DMALLOC_PROVIDED -DEXIT_PROVIDED -DMISSING_SYSCALL_NAMES -DSIGNAL_PROVIDED -DREENTRANT_SYSCALLS_PROVIDED -DHAVE_NANOSLEEP -DHAVE_FCNTL" + # turn off unsupported items in posix directory + newlib_cflags="${newlib_cflags} -D_NO_GETLOGIN -D_NO_GETPWENT -D_NO_GETUT -D_NO_GETPASS -D_NO_SIGSET" +diff -Naur --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/libc/include/inttypes.h newlib-1.16.0/newlib/libc/include/inttypes.h +--- newlib-1.16.0.orig/newlib/libc/include/inttypes.h 2005-12-19 08:26:51.000000000 +0100 ++++ newlib-1.16.0/newlib/libc/include/inttypes.h 2008-11-17 07:09:54.000000000 +0100 +@@ -242,9 +242,12 @@ + #define SCNxMAX __SCNMAX(x) + + /* ptr types */ +-#if __have_longlong64 +-#define __PRIPTR(x) __STRINGIFY(ll##x) +-#define __SCNPTR(x) __STRINGIFY(ll##x) ++#if __ptrint_t_long_defined ++#define __PRIPTR(x) __STRINGIFY(l##x) ++#define __SCNPTR(x) __STRINGIFY(l##x) ++#elif __ptrint_t_int_defined ++#define __PRIPTR(x) __STRINGIFY(x) ++#define __SCNPTR(x) __STRINGIFY(x) + #elif __have_long64 + #define __PRIPTR(x) __STRINGIFY(l##x) + #define __SCNPTR(x) __STRINGIFY(l##x) +diff -Naur --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/libc/include/machine/ieeefp.h newlib-1.16.0/newlib/libc/include/machine/ieeefp.h +--- newlib-1.16.0.orig/newlib/libc/include/machine/ieeefp.h 2008-08-19 12:34:05.000000000 +0200 ++++ newlib-1.16.0/newlib/libc/include/machine/ieeefp.h 2008-11-17 07:10:24.000000000 +0100 +@@ -62,8 +62,12 @@ + # define __IEEE_BIG_ENDIAN + # endif + #else +-# define __IEEE_BIG_ENDIAN + # ifdef __ARMEL__ ++# define __IEEE_LITTLE_ENDIAN ++# else ++# define __IEEE_BIG_ENDIAN ++# endif ++# ifdef __ARMWEL__ + # define __IEEE_BYTES_LITTLE_ENDIAN + # endif + #endif +diff -Naur --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/libc/include/machine/setjmp.h newlib-1.16.0/newlib/libc/include/machine/setjmp.h +--- newlib-1.16.0.orig/newlib/libc/include/machine/setjmp.h 2008-08-19 12:34:05.000000000 +0200 ++++ newlib-1.16.0/newlib/libc/include/machine/setjmp.h 2008-11-17 07:13:17.000000000 +0100 +@@ -27,7 +27,7 @@ + + /* necv70 was 9 as well. */ + +-#ifdef __mc68000__ ++#if defined(__m68k__) || defined(__mc68000__) + /* + * onsstack,sigmask,sp,pc,psl,d2-d7,a2-a6, + * fp2-fp7 for 68881. +diff -Naur --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/libc/include/stdint.h newlib-1.16.0/newlib/libc/include/stdint.h +--- newlib-1.16.0.orig/newlib/libc/include/stdint.h 2008-08-19 12:34:05.000000000 +0200 ++++ newlib-1.16.0/newlib/libc/include/stdint.h 2008-11-17 07:10:24.000000000 +0100 +@@ -392,6 +392,9 @@ + #define UINTMAX_C(x) x##UL + #endif + ++#ifdef __rtems__ ++#include ++#endif + + #ifdef __cplusplus + } +diff -Naur --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/libc/include/sys/features.h newlib-1.16.0/newlib/libc/include/sys/features.h +--- newlib-1.16.0.orig/newlib/libc/include/sys/features.h 2008-11-17 07:00:14.000000000 +0100 ++++ newlib-1.16.0/newlib/libc/include/sys/features.h 2008-11-17 07:15:17.000000000 +0100 +@@ -38,12 +38,12 @@ + #define _POSIX_MEMLOCK_RANGE 1 + #define _POSIX_MEMORY_PROTECTION 1 + #define _POSIX_MESSAGE_PASSING 1 +-#define _POSIX_MONOTONIC_CLOCK 1 ++#define _POSIX_MONOTONIC_CLOCK 200112L + #define _POSIX_PRIORITIZED_IO 1 + #define _POSIX_PRIORITY_SCHEDULING 1 + #define _POSIX_REALTIME_SIGNALS 1 + #define _POSIX_SEMAPHORES 1 +-#define _POSIX_SHARED_MEMORY_OBJECTS 1 ++/* #define _POSIX_SHARED_MEMORY_OBJECTS 1 */ + #define _POSIX_SYNCHRONIZED_IO 1 + #define _POSIX_TIMERS 1 + #define _POSIX_BARRIERS 200112L +diff -Naur --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/libc/include/sys/_types.h newlib-1.16.0/newlib/libc/include/sys/_types.h +--- newlib-1.16.0.orig/newlib/libc/include/sys/_types.h 2007-12-11 08:26:13.000000000 +0100 ++++ newlib-1.16.0/newlib/libc/include/sys/_types.h 2008-11-17 07:09:54.000000000 +0100 +@@ -84,4 +84,7 @@ + typedef void *_iconv_t; + #endif + ++typedef long * __intptr_t; ++typedef unsigned long* __uintptr_t; ++ + #endif /* _SYS__TYPES_H */ +diff -Naur --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/libc/machine/arm/machine/endian.h newlib-1.16.0/newlib/libc/machine/arm/machine/endian.h +--- newlib-1.16.0.orig/newlib/libc/machine/arm/machine/endian.h 2004-05-07 22:29:24.000000000 +0200 ++++ newlib-1.16.0/newlib/libc/machine/arm/machine/endian.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,12 +0,0 @@ +-/* ARM configuration file */ +- +-#ifndef _MACHINE_ENDIAN_H +-# define _MACHINE_ENDIAN_H +- +-#ifdef __ARMEB__ +-#define BYTE_ORDER BIG_ENDIAN +-#else +-#define BYTE_ORDER LITTLE_ENDIAN +-#endif +- +-#endif +diff -Naur --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/libc/sys/rtems/crt0.c newlib-1.16.0/newlib/libc/sys/rtems/crt0.c +--- newlib-1.16.0.orig/newlib/libc/sys/rtems/crt0.c 2005-12-19 08:27:19.000000000 +0100 ++++ newlib-1.16.0/newlib/libc/sys/rtems/crt0.c 2008-11-27 12:36:56.000000000 +0100 +@@ -77,6 +77,13 @@ + _malloc_r() {} + _free_r() {} + ++/* stubs for functions required by libc/posix */ ++int getdents(int fd, void *dp, int count) { return -1; } ++struct timespec; ++int nanosleep(const struct timespec *req, struct timespec *rem) { return -1; } ++int _execve(const char *path, char * const *argv, char * const *envp) { return -1; } ++int _exit(int status) { return -1; } ++ + /* gcc can implicitly generate references to these */ + /* strcmp() {} */ + /* strcpy() {} */ +diff -Naur --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/libc/sys/rtems/machine/stdint.h newlib-1.16.0/newlib/libc/sys/rtems/machine/stdint.h +--- newlib-1.16.0.orig/newlib/libc/sys/rtems/machine/stdint.h 1970-01-01 01:00:00.000000000 +0100 ++++ newlib-1.16.0/newlib/libc/sys/rtems/machine/stdint.h 2008-11-17 07:09:54.000000000 +0100 +@@ -0,0 +1,35 @@ ++/* ++ * ++ */ ++#ifndef _MACHINE_STDINT_H ++#define _MACHINE_STDINT_H ++ ++#ifndef _STDINT_H ++#error machine/stdint.h is an internal file and must not be directly included ++#endif ++ ++#ifndef __rtems__ ++#error machine/stdint.h is an RTEMS specific internal file and must not be used otherwise ++#endif ++ ++#if defined(__sparc__) \ ++ || defined(__powerpc__) || defined(__PPC__) \ ++ || defined(__mips__) \ ++ || defined(__sh__) \ ++ || defined(__AVR__) \ ++ || defined(_C4x) || defined(_C3x) \ ++ || defined(__H8300__) ++/* PTRDIFF_TYPE = int */ ++#define __ptrint_t_int_defined 1 ++#endif ++ ++#if defined(__i386__) \ ++ || defined(__m68k__) \ ++ || defined(__bfin__) \ ++ || defined(__arm__) \ ++ || defined(__H8300S__) || defined(__H8300H__) ++/* PTRDIFF_TYPE = long */ ++#define __ptrint_t_long_defined 1 ++#endif ++ ++#endif +diff -Naur --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/Makefile.am newlib-1.16.0/newlib/Makefile.am +--- newlib-1.16.0.orig/newlib/Makefile.am 2008-03-02 10:45:19.000000000 +0100 ++++ newlib-1.16.0/newlib/Makefile.am 2008-11-17 08:05:18.000000000 +0100 +@@ -81,7 +81,7 @@ + libc.a + endif + +-noinst_DATA = stmp-targ-include ++BUILT_SOURCES = stmp-targ-include + + toollib_DATA = $(CRT0) $(CRT1) + +@@ -186,9 +186,6 @@ + + $(CRT1_DIR)$(CRT1): ; @true + +- +-all-recursive: stmp-targ-include +- + # The targ-include directory just holds the includes files for the + # particular system and machine we have been configured for. It is + # used while building. +diff -Naur --exclude=CVS --exclude=.cvsignore --exclude='*~' --exclude='.#*' newlib-1.16.0.orig/newlib/Makefile.in newlib-1.16.0/newlib/Makefile.in +--- newlib-1.16.0.orig/newlib/Makefile.in 2008-11-17 07:00:11.000000000 +0100 ++++ newlib-1.16.0/newlib/Makefile.in 2008-11-17 08:05:18.000000000 +0100 +@@ -106,7 +106,7 @@ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive + toollibDATA_INSTALL = $(INSTALL_DATA) +-DATA = $(noinst_DATA) $(toollib_DATA) ++DATA = $(toollib_DATA) + ETAGS = etags + CTAGS = ctags + DEJATOOL = $(PACKAGE) +@@ -350,7 +350,7 @@ + @USE_LIBTOOL_FALSE@toollib_LIBRARIES = libm.a \ + @USE_LIBTOOL_FALSE@ libc.a + +-noinst_DATA = stmp-targ-include ++BUILT_SOURCES = stmp-targ-include + toollib_DATA = $(CRT0) $(CRT1) + + # The functions ldexp, frexp and modf are traditionally supplied in +@@ -409,7 +409,7 @@ + + # dejagnu support + RUNTESTFLAGS = +-all: newlib.h ++all: $(BUILT_SOURCES) newlib.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + + .SUFFIXES: +@@ -714,14 +714,16 @@ + done + check-am: + $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU +-check: check-recursive ++check: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) check-recursive + all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(DATA) newlib.h + installdirs: installdirs-recursive + installdirs-am: + for dir in "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)" "$(DESTDIR)$(toollibdir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +-install: install-recursive ++install: $(BUILT_SOURCES) ++ $(MAKE) $(AM_MAKEFLAGS) install-recursive + install-exec: install-exec-recursive + install-data: install-data-recursive + uninstall: uninstall-recursive +@@ -746,6 +748,7 @@ + maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." ++ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) + clean: clean-recursive + + clean-am: clean-generic clean-libtool clean-toollibLIBRARIES \ +@@ -864,8 +867,6 @@ + + $(CRT1_DIR)$(CRT1): ; @true + +-all-recursive: stmp-targ-include +- + # The targ-include directory just holds the includes files for the + # particular system and machine we have been configured for. It is + # used while building. -- cgit v1.2.3