[rtems-crossrpms commit] Add x86_64-cygwin host support.

Ralf Corsepius ralf at rtems.org
Thu May 8 11:05:00 UTC 2014


Module:    rtems-crossrpms
Branch:    master
Commit:    0f74d85c7fc3961ce398e311503c1d654c275838
Changeset: http://git.rtems.org/rtems-crossrpms/commit/?id=0f74d85c7fc3961ce398e311503c1d654c275838

Author:    Ralf Corsépius <ralf.corsepius at rtems.org>
Date:      Mon Feb 10 18:51:10 2014 +0100

Add x86_64-cygwin host support.

---

 patches/gcc-4.8.2-rtems4.11-20140210.diff |  634 +++++++++++++++++++++++++++++
 1 files changed, 634 insertions(+), 0 deletions(-)

diff --git a/patches/gcc-4.8.2-rtems4.11-20140210.diff b/patches/gcc-4.8.2-rtems4.11-20140210.diff
new file mode 100644
index 0000000..dfcc365
--- /dev/null
+++ b/patches/gcc-4.8.2-rtems4.11-20140210.diff
@@ -0,0 +1,634 @@
+diff -Naur gcc-4.8.2.orig/config/picflag.m4 gcc-4.8.2/config/picflag.m4
+--- gcc-4.8.2.orig/config/picflag.m4	2012-01-23 07:25:28.000000000 +0100
++++ gcc-4.8.2/config/picflag.m4	2014-02-10 09:27:21.583531230 +0100
+@@ -17,7 +17,9 @@
+     hppa*64*-*-hpux*)
+ 	# PIC is the default for 64-bit PA HP-UX.
+ 	;;
+-    i[[34567]]86-*-cygwin* | i[[34567]]86-*-mingw* | x86_64-*-mingw*)
++    i[[34567]]86-*-cygwin* | x86_64-*-cygwin*)
++	;;
++    i[[34567]]86-*-mingw* | x86_64-*-mingw*)
+ 	;;
+     i[[34567]]86-*-interix[[3-9]]*)
+ 	# Interix 3.x gcc -fpic/-fPIC options generate broken code.
+diff -Naur gcc-4.8.2.orig/gcc/ChangeLog gcc-4.8.2/gcc/ChangeLog
+--- gcc-4.8.2.orig/gcc/ChangeLog	2013-10-16 09:20:05.000000000 +0200
++++ gcc-4.8.2/gcc/ChangeLog	2014-02-10 09:27:21.658530169 +0100
+@@ -1,3 +1,7 @@
++2013-12-07  Ralf Corsépius  <ralf.corsepius at rtems.org>
++
++	* config.gcc (microblaze*-*-rtems*): Add TARGET_BIG_ENDIAN_DEFAULT.
++
+ 2013-10-16  Release Manager
+ 
+ 	* GCC 4.8.2 released.
+@@ -1478,6 +1482,10 @@
+ 	with non-matche doffsettable memory constraint fro memory with
+ 	known offset.
+ 
++2013-05-02  Ralf Corsépius  <ralf.corsepius at rtems.org>
++
++	* config/i386/t-rtems: Remove soft-float multilib.
++
+ 2013-05-02  Ian Bolton  <ian.bolton at arm.com>
+ 
+ 	Backport from mainline
+diff -Naur gcc-4.8.2.orig/gcc/ChangeLog.rtems gcc-4.8.2/gcc/ChangeLog.rtems
+--- gcc-4.8.2.orig/gcc/ChangeLog.rtems	1970-01-01 01:00:00.000000000 +0100
++++ gcc-4.8.2/gcc/ChangeLog.rtems	2014-02-10 09:27:21.658530169 +0100
+@@ -0,0 +1,31 @@
++2012-10-26  Ralf Corsépius  <ralf.corsepius at rtems.org>
++
++	* config/v850/rtems.h: Undef WCHAR_TYPE_SIZE, WCHAR_TYPE.
++
++2012-01-10	Ralf Corsépius <ralf.corsepius at rtems.org>
++
++	* config/h8300/h8300.h: Apply DJ Delorie's patch from 
++	http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48231#c1.
++
++2010-04-19	Ralf Corsépius <ralf.corsepius at rtems.org>
++
++	* ginclude/stddef.h: Define _MACHINE_ANSI_H_ if _X86_64_ANSI_H_ is 
++	defined (Used by amd64-*-netbsdelf5.*).
++
++2010-04-18	Ralf Corsépius <ralf.corsepius at rtems.org>
++
++	* ginclude/stddef.h: Define _MACHINE_ANSI_H_ if _I386_ANSI_H_ is 
++	defined (Used by i386-*-netbsdelf5.*).
++
++2009-11-04	Ralf Corsépius <ralf.corsepius at rtems.org>
++
++	* config/m32c/rtems.h, config/m68k/rtemself.h,
++	config/m68k/rtemself.h, config/sh/rtemself.h,
++	config/sparc/rtemself.h: Undef WCHAR_TYPE_SIZE, WCHAR_TYPE. 
++	(Resets WCHAR_TYPE's to defaults. Prevents broken GCC tm_files 
++	to interfere and cause wchar_t/wint_t incompatibilities).
++
++		Ralf Corsépius <ralf.corsepius at rtems.org>
++
++	* config/mips/elf.h: Remove NO_IMPLICIT_EXTERN_C.
++	
+diff -Naur gcc-4.8.2.orig/gcc/config/h8300/h8300.h gcc-4.8.2/gcc/config/h8300/h8300.h
+--- gcc-4.8.2.orig/gcc/config/h8300/h8300.h	2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.2/gcc/config/h8300/h8300.h	2014-02-10 09:27:21.662530113 +0100
+@@ -127,6 +127,7 @@
+ #define INCOMING_FRAME_SP_OFFSET   (POINTER_SIZE / 8)
+ 
+ #define DWARF_CIE_DATA_ALIGNMENT	2
++#define DWARF2_ADDR_SIZE		4
+ 
+ /* Define this if addresses of constant functions
+    shouldn't be put through pseudo regs where they can be cse'd.
+diff -Naur gcc-4.8.2.orig/gcc/config/i386/cygwin.h gcc-4.8.2/gcc/config/i386/cygwin.h
+--- gcc-4.8.2.orig/gcc/config/i386/cygwin.h	2013-03-13 16:17:54.000000000 +0100
++++ gcc-4.8.2/gcc/config/i386/cygwin.h	2014-02-10 09:27:21.662530113 +0100
+@@ -18,11 +18,20 @@
+ along with GCC; see the file COPYING3.  If not see
+ <http://www.gnu.org/licenses/>.  */
+ 
+-#define EXTRA_OS_CPP_BUILTINS()  /* Nothing.  */
++#define EXTRA_OS_CPP_BUILTINS()					\
++  do								\
++    {								\
++      builtin_define ("__CYGWIN__");				\
++      if (!TARGET_64BIT)					\
++	builtin_define ("__CYGWIN32__");			\
++      builtin_define ("__unix__");				\
++      builtin_define ("__unix");				\
++    }								\
++  while (0)
+ 
+ #undef CPP_SPEC
+ #define CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE} \
+-  -D__CYGWIN32__ -D__CYGWIN__ %{!ansi:-Dunix} -D__unix__ -D__unix \
++  %{!ansi:-Dunix} %{pthread: } \
+   %{mwin32:-DWIN32 -D_WIN32 -D__WIN32 -D__WIN32__ %{!ansi:-DWINNT}} \
+   %{!nostdinc:%{!mno-win32:-idirafter ../include/w32api%s -idirafter ../../include/w32api%s}}\
+ "
+@@ -67,12 +76,14 @@
+ #undef LIB_SPEC
+ #define LIB_SPEC "\
+   %{pg:-lgmon} \
++  %{pthread: } \
+   -lcygwin \
+   %{mwindows:-lgdi32 -lcomdlg32} \
+   -ladvapi32 -lshell32 -luser32 -lkernel32"
+ 
+ /* To implement C++ function replacement we always wrap the cxx
+    malloc-like operators.  See N2800 #17.6.4.6 [replacement.functions] */
++#undef CXX_WRAP_SPEC_LIST
+ #define CXX_WRAP_SPEC_LIST " \
+   --wrap _Znwj \
+   --wrap _Znaj \
+@@ -110,7 +121,9 @@
+   %{shared: --shared} %{mdll:--dll} \
+   %{static:-Bstatic} %{!static:-Bdynamic} \
+   %{shared|mdll: --enable-auto-image-base -e __cygwin_dll_entry at 12} \
+-  --dll-search-prefix=cyg -tsaware"
++  --dll-search-prefix=cyg \
++  %{rdynamic: --export-all-symbols} \
++  %{!shared: %{!mdll: --large-address-aware --tsaware}}"
+ 
+ /* Binutils does not handle weak symbols from dlls correctly.  For now,
+    do not use them unnecessarily in gthr-posix.h.  */
+diff -Naur gcc-4.8.2.orig/gcc/config/i386/cygwin.opt gcc-4.8.2/gcc/config/i386/cygwin.opt
+--- gcc-4.8.2.orig/gcc/config/i386/cygwin.opt	1970-01-01 01:00:00.000000000 +0100
++++ gcc-4.8.2/gcc/config/i386/cygwin.opt	2014-02-10 09:27:21.662530113 +0100
+@@ -0,0 +1,27 @@
++; Cygwin-specific options.
++
++; Copyright (C) 2005, 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
++;
++; This file is part of GCC.
++;
++; GCC is free software; you can redistribute it and/or modify it under
++; the terms of the GNU General Public License as published by the Free
++; Software Foundation; either version 3, or (at your option) any later
++; version.
++;
++; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
++; WARRANTY; without even the implied warranty of MERCHANTABILITY or
++; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
++; for more details.
++;
++; You should have received a copy of the GNU General Public License
++; along with GCC; see the file COPYING3.  If not see
++; <http://www.gnu.org/licenses/>.
++
++pthread
++Driver
++
++rdynamic
++Driver
++
++; Retain blank line above
+diff -Naur gcc-4.8.2.orig/gcc/config/i386/cygwin-stdint.h gcc-4.8.2/gcc/config/i386/cygwin-stdint.h
+--- gcc-4.8.2.orig/gcc/config/i386/cygwin-stdint.h	2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.2/gcc/config/i386/cygwin-stdint.h	2014-02-10 09:27:21.662530113 +0100
+@@ -24,39 +24,71 @@
+ #define INT8_TYPE "signed char"
+ #define INT16_TYPE "short int"
+ #define INT32_TYPE "int"
++#ifdef __x86_64__
++#define INT64_TYPE "long int"
++#else
+ #define INT64_TYPE "long long int"
++#endif
+ 
+ #define UINT8_TYPE "unsigned char"
+ #define UINT16_TYPE "short unsigned int"
+ #define UINT32_TYPE "unsigned int"
++#ifdef __x86_64__
++#define UINT64_TYPE "long unsigned int"
++#else
+ #define UINT64_TYPE "long long unsigned int"
++#endif
+ 
+ /* Minimum-width integer types */
+ 
+ #define INT_LEAST8_TYPE "signed char"
+ #define INT_LEAST16_TYPE "short int"
+ #define INT_LEAST32_TYPE "int"
++#ifdef __x86_64__
++#define INT_LEAST64_TYPE "long int"
++#else
+ #define INT_LEAST64_TYPE "long long int"
++#endif
+ 
+ #define UINT_LEAST8_TYPE "unsigned char"
+ #define UINT_LEAST16_TYPE "short unsigned int"
+ #define UINT_LEAST32_TYPE "unsigned int"
++#ifdef __x86_64__
++#define UINT_LEAST64_TYPE "long unsigned int"
++#else
+ #define UINT_LEAST64_TYPE "long long unsigned int"
++#endif
+ 
+ /* Fastest minimum-width integer types */
+ 
+ #define INT_FAST8_TYPE "signed char"
++#ifdef __x86_64__
++#define INT_FAST16_TYPE "long int"
++#define INT_FAST32_TYPE "long int"
++#define INT_FAST64_TYPE "long int"
++#else
+ #define INT_FAST16_TYPE "int"
+ #define INT_FAST32_TYPE "int"
+ #define INT_FAST64_TYPE "long long int"
++#endif
+ 
+ #define UINT_FAST8_TYPE "unsigned char"
++#ifdef __x86_64__
++#define UINT_FAST16_TYPE "long unsigned int"
++#define UINT_FAST32_TYPE "long unsigned int"
++#define UINT_FAST64_TYPE "long unsigned int"
++#else
+ #define UINT_FAST16_TYPE "unsigned int"
+ #define UINT_FAST32_TYPE "unsigned int"
+ #define UINT_FAST64_TYPE "long long unsigned int"
++#endif
+ 
+ /* Integer types capable of holding object pointers */
+ 
++#ifdef __x86_64__
++#define INTPTR_TYPE "long int"
++#define UINTPTR_TYPE "long unsigned int"
++#else
+ #define INTPTR_TYPE "int"
+ #define UINTPTR_TYPE "unsigned int"
+-
++#endif
+diff -Naur gcc-4.8.2.orig/gcc/config/i386/cygwin-w64.h gcc-4.8.2/gcc/config/i386/cygwin-w64.h
+--- gcc-4.8.2.orig/gcc/config/i386/cygwin-w64.h	1970-01-01 01:00:00.000000000 +0100
++++ gcc-4.8.2/gcc/config/i386/cygwin-w64.h	2014-02-10 09:27:21.662530113 +0100
+@@ -0,0 +1,84 @@
++/* Operating system specific defines to be used when targeting GCC for
++   hosting on Windows 32/64 via Cygwin runtime, using GNU tools and
++   the Windows API Library.
++   Copyright (C) 2013 Free Software Foundation, Inc.
++
++This file is part of GCC.
++
++GCC is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 3, or (at your option)
++any later version.
++
++GCC is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with GCC; see the file COPYING3.  If not see
++<http://www.gnu.org/licenses/>.  */
++
++/* Enable multilib.  */
++
++#undef ASM_SPEC
++#define ASM_SPEC "%{m32:--32} %{m64:--64}"
++
++/* To implement C++ function replacement we always wrap the cxx
++   malloc-like operators.  See N2800 #17.6.4.6 [replacement.functions] */
++#undef CXX_WRAP_SPEC_LIST
++#define CXX_WRAP_SPEC_LIST " \
++  --wrap _Znwm \
++  --wrap _Znam \
++  --wrap _ZdlPv \
++  --wrap _ZdaPv \
++  --wrap _ZnwmRKSt9nothrow_t \
++  --wrap _ZnamRKSt9nothrow_t \
++  --wrap _ZdlPvRKSt9nothrow_t \
++  --wrap _ZdaPvRKSt9nothrow_t \
++"
++
++#undef SPEC_32
++#undef SPEC_64
++#define SPEC_32 "m32"
++#define SPEC_64 "!m32"
++
++#undef SUB_LINK_ENTRY32
++#undef SUB_LINK_ENTRY64
++#define SUB_LINK_ENTRY32 "-e __cygwin_dll_entry at 12"
++#define SUB_LINK_ENTRY64 "-e _cygwin_dll_entry"
++
++#undef SUB_LINK_SPEC
++#undef SUB_LINK_ENTRY
++#define SUB_LINK_SPEC "%{" SPEC_64 ":-m i386pep} %{" SPEC_32 ":-m i386pe}"
++#define SUB_LINK_ENTRY "%{" SPEC_64 ":" SUB_LINK_ENTRY64 "} %{" SPEC_32 ":" SUB_LINK_ENTRY32 "}"
++
++#undef MULTILIB_DEFAULTS
++#define MULTILIB_DEFAULTS { "m64" }
++
++#undef LINK_SPEC
++#define LINK_SPEC SUB_LINK_SPEC "\
++  %{mwindows:--subsystem windows} \
++  %{mconsole:--subsystem console} \
++  " CXX_WRAP_SPEC " \
++  %{shared: %{mdll: %eshared and mdll are not compatible}} \
++  %{shared: --shared} %{mdll:--dll} \
++  %{static:-Bstatic} %{!static:-Bdynamic} \
++  %{shared|mdll: " SUB_LINK_ENTRY " --enable-auto-image-base} \
++  %(shared_libgcc_undefs) \
++  --dll-search-prefix=cyg \
++  %{rdynamic: --export-all-symbols} \
++  %{!shared: %{!mdll: %{" SPEC_32 ":--large-address-aware} --tsaware}}"
++
++/* Cygwin64 will have a 64-bit long type. */
++#undef LONG_TYPE_SIZE
++#define LONG_TYPE_SIZE (TARGET_64BIT ? 64 : 32)
++
++/* Override default "long long unsigned int" from cygming.h. */
++#undef SIZE_TYPE
++#define SIZE_TYPE (TARGET_64BIT ? "long unsigned int" : "unsigned int")
++#undef PTRDIFF_TYPE
++#define PTRDIFF_TYPE (TARGET_64BIT ? "long int" : "int")
++
++#undef LIBGCC_SONAME
++#define LIBGCC_SONAME "cyggcc_s-seh-1.dll"
+diff -Naur gcc-4.8.2.orig/gcc/config/i386/t-cygwin-w64 gcc-4.8.2/gcc/config/i386/t-cygwin-w64
+--- gcc-4.8.2.orig/gcc/config/i386/t-cygwin-w64	1970-01-01 01:00:00.000000000 +0100
++++ gcc-4.8.2/gcc/config/i386/t-cygwin-w64	2014-02-10 09:27:21.662530113 +0100
+@@ -0,0 +1,3 @@
++MULTILIB_OPTIONS = m64/m32
++MULTILIB_DIRNAMES = 64
++MULTILIB_OSDIRNAMES = ../lib ../lib32
+diff -Naur gcc-4.8.2.orig/gcc/config/i386/t-rtems gcc-4.8.2/gcc/config/i386/t-rtems
+--- gcc-4.8.2.orig/gcc/config/i386/t-rtems	2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.2/gcc/config/i386/t-rtems	2014-02-10 09:27:21.662530113 +0100
+@@ -17,11 +17,6 @@
+ # <http://www.gnu.org/licenses/>.
+ #
+ 
+-MULTILIB_OPTIONS = mtune=i486/mtune=pentium/mtune=pentiumpro \
+-msoft-float
+-MULTILIB_DIRNAMES= m486 mpentium mpentiumpro soft-float
+-MULTILIB_MATCHES = msoft-float=mno-m80387
+-MULTILIB_MATCHES += mtune?pentium=mtune?k6 mtune?pentiumpro=mtune?mathlon
+-MULTILIB_EXCEPTIONS = \
+-mtune=pentium/*msoft-float* \
+-mtune=pentiumpro/*msoft-float*
++MULTILIB_OPTIONS = mtune=i486/mtune=pentium/mtune=pentiumpro
++MULTILIB_DIRNAMES= m486 mpentium mpentiumpro
++MULTILIB_MATCHES += mtune?pentium=mtune?k6 mtune?pentiumpro=mtune?athlon
+diff -Naur gcc-4.8.2.orig/gcc/config/m32c/rtems.h gcc-4.8.2/gcc/config/m32c/rtems.h
+--- gcc-4.8.2.orig/gcc/config/m32c/rtems.h	2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.2/gcc/config/m32c/rtems.h	2014-02-10 09:27:21.662530113 +0100
+@@ -29,5 +29,9 @@
+     }						\
+   while (0)
+ 
+-/* Use the default */
++/* Use the defaults */
+ #undef LINK_GCC_C_SEQUENCE_SPEC
++
++#undef WCHAR_TYPE
++
++#undef WCHAR_TYPE_SIZE
+diff -Naur gcc-4.8.2.orig/gcc/config/m68k/rtemself.h gcc-4.8.2/gcc/config/m68k/rtemself.h
+--- gcc-4.8.2.orig/gcc/config/m68k/rtemself.h	2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.2/gcc/config/m68k/rtemself.h	2014-02-10 09:27:21.663530098 +0100
+@@ -31,3 +31,8 @@
+ 	builtin_assert ("system=rtems");	\
+     }						\
+   while (0)
++
++/* Use the defaults */
++#undef WCHAR_TYPE
++
++#undef WCHAR_TYPE_SIZE
+diff -Naur gcc-4.8.2.orig/gcc/config/mips/elf.h gcc-4.8.2/gcc/config/mips/elf.h
+--- gcc-4.8.2.orig/gcc/config/mips/elf.h	2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.2/gcc/config/mips/elf.h	2014-02-10 09:27:21.663530098 +0100
+@@ -46,5 +46,3 @@
+ 
+ #undef  ENDFILE_SPEC
+ #define ENDFILE_SPEC "crtend%O%s crtn%O%s"
+-
+-#define NO_IMPLICIT_EXTERN_C 1
+diff -Naur gcc-4.8.2.orig/gcc/config/rs6000/rtems.h gcc-4.8.2/gcc/config/rs6000/rtems.h
+--- gcc-4.8.2.orig/gcc/config/rs6000/rtems.h	2013-07-31 14:59:09.000000000 +0200
++++ gcc-4.8.2/gcc/config/rs6000/rtems.h	2014-02-10 09:27:21.663530098 +0100
+@@ -57,3 +57,7 @@
+ #undef  SUBSUBTARGET_EXTRA_SPECS
+ #define SUBSUBTARGET_EXTRA_SPECS \
+   { "cpp_os_rtems",		CPP_OS_RTEMS_SPEC }
++
++#undef WCHAR_TYPE
++
++#undef WCHAR_TYPE_SIZE
+diff -Naur gcc-4.8.2.orig/gcc/config/sh/rtemself.h gcc-4.8.2/gcc/config/sh/rtemself.h
+--- gcc-4.8.2.orig/gcc/config/sh/rtemself.h	2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.2/gcc/config/sh/rtemself.h	2014-02-10 09:27:21.663530098 +0100
+@@ -24,3 +24,8 @@
+   builtin_define( "__rtems__" );		\
+   builtin_assert( "system=rtems" );		\
+ } while (0)
++
++/* Use the defaults */
++#undef WCHAR_TYPE
++
++#undef WCHAR_TYPE_SIZE
+diff -Naur gcc-4.8.2.orig/gcc/config/sparc/rtemself.h gcc-4.8.2/gcc/config/sparc/rtemself.h
+--- gcc-4.8.2.orig/gcc/config/sparc/rtemself.h	2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.2/gcc/config/sparc/rtemself.h	2014-02-10 09:27:21.663530098 +0100
+@@ -29,5 +29,9 @@
+     }						\
+   while (0)
+ 
+-/* Use the default */
++/* Use the defaults */
+ #undef LINK_GCC_C_SEQUENCE_SPEC
++
++#undef WCHAR_TYPE
++
++#undef WCHAR_TYPE_SIZE
+diff -Naur gcc-4.8.2.orig/gcc/config/v850/rtems.h gcc-4.8.2/gcc/config/v850/rtems.h
+--- gcc-4.8.2.orig/gcc/config/v850/rtems.h	2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.2/gcc/config/v850/rtems.h	2014-02-10 09:27:21.663530098 +0100
+@@ -34,3 +34,8 @@
+ %{!mv850es:%{!mv850e1:%{mv*:-mv%*}} \
+ %{m8byte-align:-m8byte-align} \
+ %{mgcc-abi:-mgcc-abi}}"
++
++/* Use the defaults */
++#undef WCHAR_TYPE
++
++#undef WCHAR_TYPE_SIZE
+diff -Naur gcc-4.8.2.orig/gcc/config.build gcc-4.8.2/gcc/config.build
+--- gcc-4.8.2.orig/gcc/config.build	2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.2/gcc/config.build	2014-02-10 09:27:21.660530141 +0100
+@@ -60,7 +60,7 @@
+     # IBM 360/370/390 Architecture
+     build_xm_defines='FATAL_EXIT_CODE=12'
+     ;;
+-  i[34567]86-*-cygwin* )
++  i[34567]86-*-cygwin* | x86_64-*-cygwin* )
+     build_xm_file=i386/xm-cygwin.h
+     build_exeext=.exe
+     ;;
+diff -Naur gcc-4.8.2.orig/gcc/config.gcc gcc-4.8.2/gcc/config.gcc
+--- gcc-4.8.2.orig/gcc/config.gcc	2013-10-03 02:47:24.000000000 +0200
++++ gcc-4.8.2/gcc/config.gcc	2014-02-10 09:27:21.661530126 +0100
+@@ -1444,7 +1444,22 @@
+ 	xm_file=i386/xm-cygwin.h
+ 	tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
+ 	target_gtfiles="\$(srcdir)/config/i386/winnt.c"
+-	extra_options="${extra_options} i386/cygming.opt"
++	extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
++	extra_objs="winnt.o winnt-stubs.o"
++	c_target_objs="${c_target_objs} msformat-c.o"
++	cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
++	if test x$enable_threads = xyes; then
++		thread_file='posix'
++	fi
++	use_gcc_stdint=wrap
++	;;
++x86_64-*-cygwin*)
++	need_64bit_isa=yes
++	tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-w64.h i386/cygwin-stdint.h"
++	xm_file=i386/xm-cygwin.h
++	tmake_file="${tmake_file} i386/t-cygming t-slibgcc i386/t-cygwin-w64"
++	target_gtfiles="\$(srcdir)/config/i386/winnt.c"
++	extra_options="${extra_options} i386/cygming.opt i386/cygwin.opt"
+ 	extra_objs="winnt.o winnt-stubs.o"
+ 	c_target_objs="${c_target_objs} msformat-c.o"
+ 	cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o"
+@@ -1761,6 +1776,14 @@
+ 	tmake_file="${tmake_file} microblaze/t-microblaze-linux"
+ 	;;
+ microblaze*-*-rtems*)
++	case $target in
++		microblazeel-*)
++			tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=0"
++			;;
++		microblaze-*)
++			tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=4321"
++			;;
++	esac
+ 	tm_file="${tm_file} dbxelf.h"
+ 	tm_file="${tm_file} microblaze/rtems.h rtems.h newlib-stdint.h"
+ 	c_target_objs="${c_target_objs} microblaze-c.o"
+@@ -3707,7 +3730,9 @@
+ 		;;
+ 	i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
+ 		;;
+-	i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*)
++	i[34567]86-*-cygwin* | x86_64-*-cygwin*)
++		;;
++	i[34567]86-*-mingw* | x86_64-*-mingw*)
+ 		;;
+ 	i[34567]86-*-freebsd* | x86_64-*-freebsd*)
+ 		;;
+diff -Naur gcc-4.8.2.orig/gcc/config.host gcc-4.8.2/gcc/config.host
+--- gcc-4.8.2.orig/gcc/config.host	2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.2/gcc/config.host	2014-02-10 09:27:21.662530113 +0100
+@@ -214,7 +214,7 @@
+         ;;
+     esac
+     ;;
+-  i[34567]86-*-cygwin*)
++  i[34567]86-*-cygwin* | x86_64-*-cygwin*)
+     host_xm_file=i386/xm-cygwin.h
+     out_host_hook_obj=host-cygwin.o
+     host_xmake_file="${host_xmake_file} i386/x-cygwin"
+diff -Naur gcc-4.8.2.orig/gcc/configure gcc-4.8.2/gcc/configure
+--- gcc-4.8.2.orig/gcc/configure	2013-06-19 03:18:38.000000000 +0200
++++ gcc-4.8.2/gcc/configure	2014-02-10 09:27:21.666530056 +0100
+@@ -4893,7 +4893,9 @@
+     hppa*64*-*-hpux*)
+ 	# PIC is the default for 64-bit PA HP-UX.
+ 	;;
+-    i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*)
++    i[34567]86-*-cygwin* | x86_64-*-cygwin*)
++	;;
++    i[34567]86-*-mingw* | x86_64-*-mingw*)
+ 	;;
+     i[34567]86-*-interix[3-9]*)
+ 	# Interix 3.x gcc -fpic/-fPIC options generate broken code.
+@@ -24273,7 +24275,7 @@
+ 	# wrappers to aid in interposing and redirecting operators new, delete,
+ 	# etc., as per n2800 #17.6.4.6 [replacement.functions].  Check if we
+ 	# are configuring for a version of Cygwin that exports the wrappers.
+-	if test x$host = x$target; then
++	if test x$host = x$target && test x$host_cpu = xi686; then
+ 	  ac_fn_c_check_func "$LINENO" "__wrap__Znaj" "ac_cv_func___wrap__Znaj"
+ if test "x$ac_cv_func___wrap__Znaj" = x""yes; then :
+   gcc_ac_cygwin_dll_wrappers=yes
+diff -Naur gcc-4.8.2.orig/gcc/configure.ac gcc-4.8.2/gcc/configure.ac
+--- gcc-4.8.2.orig/gcc/configure.ac	2013-06-19 03:18:38.000000000 +0200
++++ gcc-4.8.2/gcc/configure.ac	2014-02-10 09:27:21.666530056 +0100
+@@ -3623,7 +3623,7 @@
+ 	# wrappers to aid in interposing and redirecting operators new, delete,
+ 	# etc., as per n2800 #17.6.4.6 [replacement.functions].  Check if we
+ 	# are configuring for a version of Cygwin that exports the wrappers.
+-	if test x$host = x$target; then
++	if test x$host = x$target && test x$host_cpu = xi686; then
+ 	  AC_CHECK_FUNC([__wrap__Znaj],[gcc_ac_cygwin_dll_wrappers=yes],[gcc_ac_cygwin_dll_wrappers=no])
+ 	else
+ 	  # Can't check presence of libc functions during cross-compile, so
+diff -Naur gcc-4.8.2.orig/gcc/ginclude/stddef.h gcc-4.8.2/gcc/ginclude/stddef.h
+--- gcc-4.8.2.orig/gcc/ginclude/stddef.h	2013-01-10 21:38:27.000000000 +0100
++++ gcc-4.8.2/gcc/ginclude/stddef.h	2014-02-10 09:27:21.666530056 +0100
+@@ -50,7 +50,13 @@
+    one less case to deal with in the following.  */
+ #if defined (__BSD_NET2__) || defined (____386BSD____) || (defined (__FreeBSD__) && (__FreeBSD__ < 5)) || defined(__NetBSD__)
+ #include <machine/ansi.h>
++#if !defined(_MACHINE_ANSI_H_)
++#if defined(_I386_ANSI_H_) || defined(_X86_64_ANSI_H_)
++#define _MACHINE_ANSI_H_
+ #endif
++#endif
++#endif
++
+ /* On FreeBSD 5, machine/ansi.h does not exist anymore... */
+ #if defined (__FreeBSD__) && (__FreeBSD__ >= 5)
+ #include <sys/_types.h>
+diff -Naur gcc-4.8.2.orig/libada/configure gcc-4.8.2/libada/configure
+--- gcc-4.8.2.orig/libada/configure	2013-10-16 09:27:58.000000000 +0200
++++ gcc-4.8.2/libada/configure	2014-02-10 09:27:21.667530042 +0100
+@@ -2834,7 +2834,9 @@
+     hppa*64*-*-hpux*)
+ 	# PIC is the default for 64-bit PA HP-UX.
+ 	;;
+-    i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*)
++    i[34567]86-*-cygwin* | x86_64-*-cygwin*)
++	;;
++    i[34567]86-*-mingw* | x86_64-*-mingw*)
+ 	;;
+     i[34567]86-*-interix[3-9]*)
+ 	# Interix 3.x gcc -fpic/-fPIC options generate broken code.
+diff -Naur gcc-4.8.2.orig/libgcc/ChangeLog gcc-4.8.2/libgcc/ChangeLog
+--- gcc-4.8.2.orig/libgcc/ChangeLog	2013-10-16 09:18:32.000000000 +0200
++++ gcc-4.8.2/libgcc/ChangeLog	2014-02-10 09:27:21.667530042 +0100
+@@ -1,3 +1,7 @@
++2013-12-06  Ralf Corsépius  <ralf.corsepius at rtems.org>
++
++	* config.host (microblaze-*-rtems*): New.
++
+ 2013-10-16  Release Manager
+ 
+ 	* GCC 4.8.2 released.
+diff -Naur gcc-4.8.2.orig/libgcc/config.host gcc-4.8.2/libgcc/config.host
+--- gcc-4.8.2.orig/libgcc/config.host	2013-07-09 23:35:57.000000000 +0200
++++ gcc-4.8.2/libgcc/config.host	2014-02-10 09:27:21.667530042 +0100
+@@ -718,6 +718,10 @@
+ 	tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit"
+ 	extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o crti.o crtn.o"
+ 	;;
++microblaze*-*-rtems*)
++	tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit"
++	extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o crti.o crtn.o"
++	;;
+ mips*-*-netbsd*)			# NetBSD/mips, either endian.
+ 	;;
+ mips*-*-linux*)				# Linux MIPS, either endian.
+diff -Naur gcc-4.8.2.orig/libgcc/configure gcc-4.8.2/libgcc/configure
+--- gcc-4.8.2.orig/libgcc/configure	2012-11-05 00:08:42.000000000 +0100
++++ gcc-4.8.2/libgcc/configure	2014-02-10 09:27:21.668530027 +0100
+@@ -2228,7 +2228,9 @@
+     hppa*64*-*-hpux*)
+ 	# PIC is the default for 64-bit PA HP-UX.
+ 	;;
+-    i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*)
++    i[34567]86-*-cygwin* | x86_64-*-cygwin*)
++	;;
++    i[34567]86-*-mingw* | x86_64-*-mingw*)
+ 	;;
+     i[34567]86-*-interix[3-9]*)
+ 	# Interix 3.x gcc -fpic/-fPIC options generate broken code.
+diff -Naur gcc-4.8.2.orig/libiberty/configure gcc-4.8.2/libiberty/configure
+--- gcc-4.8.2.orig/libiberty/configure	2012-09-18 18:03:01.000000000 +0200
++++ gcc-4.8.2/libiberty/configure	2014-02-10 09:27:21.669530013 +0100
+@@ -4865,7 +4865,9 @@
+     hppa*64*-*-hpux*)
+ 	# PIC is the default for 64-bit PA HP-UX.
+ 	;;
+-    i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*)
++    i[34567]86-*-cygwin* | x86_64-*-cygwin*)
++	;;
++    i[34567]86-*-mingw* | x86_64-*-mingw*)
+ 	;;
+     i[34567]86-*-interix[3-9]*)
+ 	# Interix 3.x gcc -fpic/-fPIC options generate broken code.




More information about the vc mailing list