[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