diff options
author | Yaakov Selkowitz <yselkowitz@users.sourceforge.net> | 2013-06-28 15:44:38 -0500 |
---|---|---|
committer | Yaakov Selkowitz <yselkowitz@users.sourceforge.net> | 2013-06-28 15:44:38 -0500 |
commit | 08163f0587b4807e32a9fc0e4a887c8d45a641d1 (patch) | |
tree | b411b3acc12e3f769fbd69d552a57a96c1138352 | |
parent | 8cc9e7a9383915ffc95341f09ad495f309184351 (diff) | |
download | cygwin-gcc-08163f0587b4807e32a9fc0e4a887c8d45a641d1.tar.gz cygwin-gcc-08163f0587b4807e32a9fc0e4a887c8d45a641d1.tar.xz cygwin-gcc-08163f0587b4807e32a9fc0e4a887c8d45a641d1.zip |
cygwin-gcc 4.7.3
-rw-r--r-- | classpath-0.98-awt.patch | 76 | ||||
-rw-r--r-- | config-rpath.patch | 11 | ||||
-rw-r--r-- | cygwin-gcc.spec | 572 | ||||
-rw-r--r-- | gcc45-cross-ecjx.patch | 42 | ||||
-rw-r--r-- | gcc45-cross-exe-suffix.diff | 4 | ||||
-rw-r--r-- | gcc45-ehdebug.diff | 157 | ||||
-rw-r--r-- | gcc45-gc-win32-threads.diff | 20 | ||||
-rw-r--r-- | gcc45-libffi.diff | 63 | ||||
-rw-r--r-- | gcc45-misc-core.diff | 54 | ||||
-rw-r--r-- | gcc45-mnocygwin.diff | 120 | ||||
-rw-r--r-- | gcc45-peflags.diff | 12 | ||||
-rw-r--r-- | gcc45-sig-unwind.diff | 90 | ||||
-rw-r--r-- | gcc47-ada.patch (renamed from gcc45-ada.diff) | 609 | ||||
-rw-r--r-- | gcc47-boehm-gc-cygwin.patch | 57 | ||||
-rw-r--r-- | gcc47-cross-ecjx.patch | 52 | ||||
-rw-r--r-- | gcc47-cross-jardir.patch | 22 | ||||
-rw-r--r-- | gcc47-execstack.patch | 50 | ||||
-rw-r--r-- | gcc47-java-jni.patch | 56 | ||||
-rw-r--r-- | gcc47-libffi-noinst.patch | 53 | ||||
-rw-r--r-- | gcc47-libstdc.patch (renamed from gcc45-libstdc.diff) | 438 | ||||
-rw-r--r-- | gcc47-misc-core.patch | 27 | ||||
-rw-r--r-- | gcc47-specs.patch | 87 | ||||
-rw-r--r-- | gcc48-lto-plugin-soname.patch | 50 | ||||
-rw-r--r-- | sources | 2 |
24 files changed, 1086 insertions, 1638 deletions
diff --git a/classpath-0.98-awt.patch b/classpath-0.98-awt.patch deleted file mode 100644 index cd11702..0000000 --- a/classpath-0.98-awt.patch +++ /dev/null @@ -1,76 +0,0 @@ ---- origsrc/gcc-4.5.0/libjava/classpath//examples/gnu/classpath/examples/awt/HintingDemo.java 2007-05-08 07:41:25.000000000 -0500 -+++ src/gcc-4.5.0/libjava/classpath//examples/gnu/classpath/examples/awt/HintingDemo.java 2009-12-06 01:58:25.091013300 -0600 -@@ -211,7 +211,7 @@ public class HintingDemo extends JFrame - - HintingDemo() - { -- File file = new File("/usr/share/fonts/truetype/freefont/FreeSans.ttf"); -+ File file = new File("/usr/share/fonts/TTF/Vera.ttf"); - loadFont(file); - setLayout(new BorderLayout()); - chooser = new Chooser(); ---- origsrc/gcc-4.5.0/libjava/classpath//gnu/java/awt/peer/ClasspathDesktopPeer.java 2007-03-02 15:01:39.000000000 -0600 -+++ src/gcc-4.5.0/libjava/classpath//gnu/java/awt/peer/ClasspathDesktopPeer.java 2009-12-06 01:58:25.106613400 -0600 -@@ -58,7 +58,7 @@ public class ClasspathDesktopPeer - implements DesktopPeer - { - /** This is the fallback browser, if no desktop was detected. */ -- protected static final String _DEFAULT_BROWSER = "firefox"; -+ protected static final String _DEFAULT_BROWSER = "xdg-open"; - - /** gnu.java.awt.peer.Desktop.html.command */ - protected static final String _BROWSE = "html"; ---- origsrc/gcc-4.5.0/libjava/classpath//gnu/java/awt/peer/ClasspathFontPeer.java 2007-06-25 06:25:51.000000000 -0500 -+++ src/gcc-4.5.0/libjava/classpath//gnu/java/awt/peer/ClasspathFontPeer.java 2009-12-06 02:11:16.137745300 -0600 -@@ -158,6 +158,8 @@ public abstract class ClasspathFontPeer - - protected static boolean isLogicalFontName(String name) - { -+ return false; -+/* - String uname = name.toUpperCase (); - return (uname.equals ("SANSSERIF") || - uname.equals ("SERIF") || -@@ -165,6 +167,7 @@ public abstract class ClasspathFontPeer - uname.equals ("DIALOG") || - uname.equals ("DIALOGINPUT") || - uname.equals ("DEFAULT")); -+*/ - } - - protected static String logicalFontNameToFaceName (String name) ---- origsrc/gcc-4.5.0/libjava/classpath//resource/gnu/java/awt/font/fonts.properties 2007-09-20 09:01:05.000000000 -0500 -+++ src/gcc-4.5.0/libjava/classpath//resource/gnu/java/awt/font/fonts.properties 2009-12-06 01:58:25.122213400 -0600 -@@ -36,20 +36,20 @@ - # exception statement from your version. - - # List of available fonts. --FreeMono/p=/usr/share/fonts/truetype/freefont/FreeMono.ttf --FreeMono/b=/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf --FreeMono/bi=/usr/share/fonts/truetype/freefont/FreeMonoBoldOblique.ttf --FreeMono/i=/usr/share/fonts/truetype/freefont/FreeMonoOblique.ttf -+FreeMono/p=/usr/share/fonts/TTF/VeraMono.ttf -+FreeMono/b=/usr/share/fonts/TTF/VeraMoBd.ttf -+FreeMono/bi=/usr/share/fonts/TTF/VeraMoBI.ttf -+FreeMono/i=/usr/share/fonts/TTF/VeraMoIt.ttf - --FreeSans/p=/usr/share/fonts/truetype/freefont/FreeSans.ttf --FreeSans/b=/usr/share/fonts/truetype/freefont/FreeSansBold.ttf --FreeSans/bi=/usr/share/fonts/truetype/freefont/FreeSansBoldOblique.ttf --FreeSans/i=/usr/share/fonts/truetype/freefont/FreeSansOblique.ttf -+FreeSans/p=/usr/share/fonts/TTF/Vera.ttf -+FreeSans/b=/usr/share/fonts/TTF/VeraBd.ttf -+FreeSans/bi=/usr/share/fonts/TTF/VeraBI.ttf -+FreeSans/i=/usr/share/fonts/TTF/VeraIt.ttf - --FreeSerif/p=/usr/share/fonts/truetype/freefont/FreeSerif.ttf --FreeSerif/b=/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf --FreeSerif/bi=/usr/share/fonts/truetype/freefont/FreeSerifBoldOblique.ttf --FreeSerif/i=/usr/share/fonts/truetype/freefont/FreeSerifOblique.ttf -+FreeSerif/p=/usr/share/fonts/TTF/VeraSe.ttf -+FreeSerif/b=/usr/share/fonts/TTF/VeraSeBd.ttf -+FreeSerif/bi=/usr/share/fonts/TTF/VeraSeBd.ttf -+FreeSerif/i=/usr/share/fonts/TTF/VeraSe.ttf - - # List of aliases. - Dialog/a=FreeSans diff --git a/config-rpath.patch b/config-rpath.patch deleted file mode 100644 index 0f05fa0..0000000 --- a/config-rpath.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/config.rpath 2008-03-13 14:27:44.000000000 -0500 -+++ b/config.rpath 2010-07-11 23:30:45.209832800 -0500 -@@ -441,7 +441,7 @@ case "$host_os" in - bsdi4*) - ;; - cygwin* | mingw* | pw32*) -- shrext=.dll -+ shrext=.dll.a - ;; - darwin* | rhapsody*) - shrext=.dylib diff --git a/cygwin-gcc.spec b/cygwin-gcc.spec index 768ccff..41f00e3 100644 --- a/cygwin-gcc.spec +++ b/cygwin-gcc.spec @@ -1,15 +1,15 @@ %global gcc_major 4 -%global gcc_minor 5 +%global gcc_minor 7 %global gcc_micro 3 %global gcc_branch %{gcc_major}.%{gcc_minor} %global gcc_version %{gcc_major}.%{gcc_minor}.%{gcc_micro} # Note, gcc_release must be integer, if you want to add suffixes to # %%{release}, append them after %%{gcc_release} on Release: line. -%global gcc_release 4 +%global gcc_release 1 %global build_ada 0 # building cross-gnat requires matching X.Y version of native gnat -%if 0%{?fedora} == 14 +%if 0%{?fedora} >= 17 && 0%{?fedora} < 19 %ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha %global build_ada 1 %endif @@ -29,15 +29,15 @@ URL: http://gcc.gnu.org BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: texinfo -BuildRequires: cygwin-filesystem -BuildRequires: cygwin-binutils -BuildRequires: cygwin -BuildRequires: cygwin-w32api-headers -BuildRequires: cygwin-w32api-libs +BuildRequires: cygwin32-filesystem +BuildRequires: cygwin32-binutils +BuildRequires: cygwin32 +BuildRequires: cygwin32-w32api-headers +BuildRequires: cygwin32-w32api-runtime BuildRequires: gmp-devel BuildRequires: mpfr-devel BuildRequires: libmpc-devel -BuildRequires: ppl-devel >= 0.10 +BuildRequires: ppl-devel >= 0.11 BuildRequires: cloog-ppl-devel >= 0.15 BuildRequires: zlib-devel BuildRequires: flex @@ -45,180 +45,189 @@ BuildRequires: flex BuildRequires: gcc-gnat %endif %if %{build_java} -BuildRequires: cygwin-libiconv -BuildRequires: cygwin-zlib +BuildRequires: cygwin32-libiconv +BuildRequires: cygwin32-zlib BuildRequires: gcc-c++ BuildRequires: gcc-java %endif -# NB: Explicit cygwin-filesystem dependency is REQUIRED here. -Requires: cygwin-filesystem -Requires: cygwin-binutils -Requires: cygwin -Requires: cygwin-w32api-libs -Requires: cygwin-cpp +Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{gcc_version}/gcc-%{gcc_version}.tar.bz2 +Patch1: gcc47-ada.patch +Patch3: gcc47-libffi-noinst.patch +Patch4: gcc47-libstdc.patch +Patch7: gcc47-cross-jardir.patch +Patch8: gcc45-cross-libstdc.patch +Patch9: gcc47-cross-ecjx.patch +Patch10: gcc45-java-FIONREAD.diff +Patch13: gcc45-cross-exe-suffix.diff +Patch14: gcc47-boehm-gc-cygwin.patch +Patch15: gcc47-execstack.patch +Patch16: gcc47-java-jni.patch +Patch17: gcc47-specs.patch +Patch19: gcc48-lto-plugin-soname.patch + +%description +Cygwin cross-compiler (GCC) suite. + + +%package -n cygwin32-gcc +Summary: Cygwin cross-compiler for C +Group: Development/Languages +# NB: Explicit cygwin32-filesystem dependency is REQUIRED here. +Requires: cygwin32-filesystem +Requires: cygwin32-binutils +Requires: cygwin32 +Requires: cygwin32-w32api-runtime +Requires: cygwin32-cpp # We don't run the automatic dependency scripts which would # normally detect and provide the following DLL: +Provides: cygwin32(cyggcc_s-1.dll) +Provides: cygwin32(cyggomp-1.dll) +Provides: cygwin32(cygquadmath-0.dll) +Provides: cygwin32(cygssp-0.dll) +# for backwards compatibility (libquadmath is new to 4.7) Provides: cygwin(cyggcc_s-1.dll) Provides: cygwin(cyggomp-1.dll) Provides: cygwin(cygssp-0.dll) -%if %{build_java} -Provides: cygwin(cygffi-4.dll) -%endif - -Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{gcc_version}/gcc-%{gcc_version}.tar.bz2 -Patch0: config-rpath.patch -Patch1: gcc45-ada.diff -Patch2: gcc45-ehdebug.diff -Patch3: gcc45-libffi.diff -Patch4: gcc45-libstdc.diff -Patch5: gcc45-misc-core.diff -Patch6: gcc45-mnocygwin.diff -Patch7: gcc45-sig-unwind.diff -Patch8: gcc45-cross-libstdc.patch -Patch9: gcc45-cross-ecjx.patch -Patch10: gcc45-java-FIONREAD.diff -Patch11: classpath-0.98-awt.patch -Patch12: gcc45-peflags.diff -Patch13: gcc45-cross-exe-suffix.diff -Patch14: gcc45-gc-win32-threads.diff +Provides: %{name} = %{version}-%{release} +Obsoletes: %{name} < 4.7 -%description -Cygwin cross-compiler (GCC) for C. +%description -n cygwin32-gcc +Cygwin i686 cross-compiler (GCC) for C. -%package -n cygwin-cpp -Summary: Cygwin cross-C Preprocessor -Group: Development/Languages +%package -n cygwin32-cpp +Summary: Cygwin cross-C Preprocessor +Group: Development/Languages +Provides: cygwin-cpp = %{version}-%{release} +Obsoletes: cygwin-cpp < 4.7 -%description -n cygwin-cpp +%description -n cygwin32-cpp Cygwin cross-C Preprocessor -%package c++ +%package -n cygwin32-gcc-c++ Summary: Cygwin cross-compiler for C++ Group: Development/Languages -Requires: %{name} = %{version}-%{release} +Requires: cygwin32-gcc = %{version}-%{release} # We don't run the automatic dependency scripts which would # normally detect and provide the following DLL: -Provides: cygwin(cygstdc++-6.dll) +Provides: cygwin32(cygstdc++-6.dll) +# for backwards compatibility +Provides: cygwin(cygstdc++-6.dll) +Provides: %{name}-c++ = %{version}-%{release} +Obsoletes: %{name}-c++ < 4.7 -%description c++ +%description -n cygwin32-gcc-c++ Cygwin cross-compiler for C++. -%package objc +%package -n cygwin32-gcc-objc Summary: Cygwin cross-compiler support for Objective C Group: Development/Languages -Requires: %{name} = %{version}-%{release} +Requires: cygwin32-gcc = %{version}-%{release} # We don't run the automatic dependency scripts which would # normally detect and provide the following DLL: -Provides: cygwin(cygobjc-2.dll) +Provides: cygwin32(cygobjc-4.dll) +# for backwards compatibility (libobjc ABI version changed in 4.7) +Provides: %{name}-objc = %{version}-%{release} +Obsoletes: %{name}-objc < 4.7 -%description objc +%description -n cygwin32-gcc-objc Cygwin cross-compiler support for Objective C. -%package objc++ +%package -n cygwin32-gcc-objc++ Summary: Cygwin cross-compiler support for Objective C++ Group: Development/Languages -Requires: %{name}-c++ = %{version}-%{release} -Requires: %{name}-objc = %{version}-%{release} +Requires: cygwin32-gcc-c++ = %{version}-%{release} +Requires: cygwin32-gcc-objc = %{version}-%{release} +Provides: %{name}-objc++ = %{version}-%{release} +Obsoletes: %{name}-objc++ < 4.7 -%description objc++ +%description -n cygwin32-gcc-objc++ Cygwin cross-compiler support for Objective C++. -%package gfortran +%package -n cygwin32-gcc-gfortran Summary: Cygwin cross-compiler for FORTRAN Group: Development/Languages -Requires: %{name} = %{version}-%{release} +Requires: cygwin32-gcc = %{version}-%{release} # We don't run the automatic dependency scripts which would # normally detect and provide the following DLL: -Provides: cygwin(cyggfortran-3.dll) +Provides: cygwin32(cyggfortran-3.dll) +# for backwards compatibilty +Provides: cygwin(cyggfortran-3.dll) +Provides: %{name}-gfortran = %{version}-%{release} +Obsoletes: %{name}-gfortran < 4.7 -%description gfortran +%description -n cygwin32-gcc-gfortran Cygwin cross-compiler for FORTRAN. -%package gnat +%package -n cygwin32-gcc-gnat Summary: Cygwin cross-compiler for Ada Group: Development/Languages -Requires: %{name} = %{version}-%{release} +Requires: cygwin32-gcc = %{version}-%{release} # We don't run the automatic dependency scripts which would # normally detect and provide the following DLL: # (shared libgnat doesn't work quite right, nor does it cross-build -#Provides: cygwin(cyggnat-4.5.dll) -#Provides: cygwin(cyggnarl-4.5.dll) +#Provides: cygwin32(cyggnat-4.7.dll) +#Provides: cygwin32(cyggnarl-4.7.dll) +# for backwards compatibility +Provides: %{name}-gnat = %{version}-%{release} +Obsoletes: %{name}-gnat < 4.7 -%description gnat +%description -n cygwin32-gcc-gnat Cygwin cross-compiler for Ada. -%package java +%package -n cygwin32-gcc-java Summary: Cygwin cross-compiler for Java Group: Development/Languages -Requires: %{name} = %{version}-%{release} +Requires: cygwin32-gcc = %{version}-%{release} Requires: ecj -Requires: cygwin-libiconv -Requires: cygwin-zlib +Requires: cygwin32-libiconv +Requires: cygwin32-zlib # We don't run the automatic dependency scripts which would # normally detect and provide the following DLL: -Provides: cygwin(cyggcj-11.dll) -Provides: cygwin(cyggcj-noncore-11.dll) -Provides: cygwin(cyggcj-tools-11.dll) -Provides: cygwin(cyggij-11.dll) -Provides: cygwin(cygjvm.dll) - -%description java +Provides: cygwin32(cyggcj-13.dll) +Provides: cygwin32(cyggcj-noncore-13.dll) +Provides: cygwin32(cyggcj-tools-13.dll) +Provides: cygwin32(cyggij-13.dll) +Provides: cygwin32(cygjvm.dll) +Provides: %{name}-java = %{version}-%{release} +Obsoletes: %{name}-java < 4.7 + +%description -n cygwin32-gcc-java Cygwin cross-compiler for Java. %prep %setup -q -n gcc-%{gcc_version} -%patch0 -p1 -b .config-rpath~ -%patch2 -p2 -b .ehdebug~ -%patch4 -p2 -b .libstdc~ -%patch5 -p2 -b .misc-core~ -%patch6 -p2 -b .mnocygwin~ -%patch7 -p0 -b .sig-unwind~ -%patch8 -p1 -b .cross-libstdc~ -%if %{build_ada} -%patch1 -p2 -b .ada~ -%endif -%if %{build_java} -%patch3 -p2 -b .libffi~ -%patch9 -p2 -b .cross-ecjx~ -%patch10 -p2 -b .java-fionread~ -%patch11 -p2 -b .awt~ -%endif -%patch12 -p2 -b .peflags~ -%patch13 -p1 -b .exe-suffix~ -%patch14 -p1 -b .gc-win32-threads +%patch1 -p2 +%patch3 -p2 +%patch4 -p2 +%patch7 -p2 +%patch8 -p1 +%patch9 -p1 +%patch10 -p2 +%patch13 -p1 +%patch14 -p2 +%patch15 -p2 +%patch16 -p2 +%patch17 -p2 +%patch19 -p2 echo %{gcc_version} > gcc/BASE-VER echo 'Fedora Cygwin %{gcc_version}-%{gcc_release}' > gcc/DEV-PHASE -# Install python files into arch-specific datadir -sed \ - -e "s|^\(pythondir = \).*|\1%{_datadir}/gcc/%{_cygwin_target}/%{gcc_version}/python|" \ - -i libstdc++-v3/python/Makefile.{am,in} - -%if %{build_java} -# 1) Install libgcj jar into arch-specific datadir -# 2) gcc-java does not ship $host-gcj, and $_host != `gcc -dumpmachine` -# (e.g. i?86-pc-linux-gnu vs. i686-redhat-linux) -sed \ - -e '/^GCJ_FOR_ECJX =/ s|\@.*\@|gcj|' \ - -e "s|^\(jardir = \).*|\1%{_datadir}/gcc/%{_cygwin_target}/%{version}/java|" \ - -i libjava/Makefile.{am,in} -%endif %build -mkdir -p build -pushd build +mkdir -p build_cyg32 +pushd build_cyg32 %if %{build_ada} enablelada=,ada @@ -237,21 +246,24 @@ CC="%{__cc} ${RPM_OPT_FLAGS}" \ --infodir=%{_infodir} \ --datadir=%{_datadir} \ --build=%_build --host=%_host \ - --target=%{_cygwin_target} \ + --target=%{cygwin32_target} \ --with-arch=i686 --with-tune=generic \ --with-gnu-as --with-gnu-ld --verbose \ --disable-multilib \ --with-system-zlib \ + --enable-shared --enable-shared-libgcc --enable-static \ --disable-nls --without-included-gettext \ --disable-win32-registry \ --enable-threads=posix \ --enable-version-specific-runtime-libs \ - --with-sysroot=%{_cygwin_sysroot} \ + --with-sysroot=%{cygwin32_sysroot} \ --enable-shared --enable-shared-libgcc --disable-__cxa_atexit \ --with-dwarf2 --disable-sjlj-exceptions \ --enable-languages="c,c++,objc,obj-c++${enableljava},fortran${enablelada},lto" \ --enable-graphite --enable-lto --disable-symvers \ - --enable-libgomp --enable-libssp \ + --enable-libgomp --disable-libitm --enable-libssp \ + --enable-libquadmath --enable-libquadmath-support \ + --with-python-dir=/share/gcc-%{gcc_version}/%{cygwin32_target}/python \ %if %{build_ada} --enable-libada \ %endif @@ -260,6 +272,7 @@ CC="%{__cc} ${RPM_OPT_FLAGS}" \ --enable-libgcj-sublibs --disable-jni --disable-java-awt \ --enable-default-preferences-peer=file \ --with-ecj-jar=%{_datadir}/java/ecj.jar \ + --without-libiconv-prefix \ %endif --with-bugurl=http://cygwinports.org @@ -271,7 +284,7 @@ popd %install rm -rf $RPM_BUILD_ROOT -pushd build +pushd build_cyg32 make DESTDIR=$RPM_BUILD_ROOT install # These files conflict with existing installed files. @@ -282,55 +295,50 @@ rm -f $RPM_BUILD_ROOT%{_mandir}/man7/* rm -fr $RPM_BUILD_ROOT%{_libdir}/gcj-%{version}-* rm -fr $RPM_BUILD_ROOT%{_libdir}/logging.properties rm -fr $RPM_BUILD_ROOT%{_libdir}/security/ -rm -f $RPM_BUILD_ROOT%{_datadir}/python/* +rm -f $RPM_BUILD_ROOT%{_datadir}/gcc-%{gcc_version}/%{cygwin32_target}/python/*.py +#rm -f $RPM_BUILD_ROOT%{_datadir}/gcc-%{gcc_version}/%{cygwin64_target}/python/*.py %endif -# This file is provided by cygwin-binutils-devel -rm -f $RPM_BUILD_ROOT%{_prefix}/%{_cygwin_target}/lib/libiberty.a +# This file is provided by cygwin32-libbfd +rm -f $RPM_BUILD_ROOT%{_prefix}/%{cygwin32_target}/lib/libiberty.a # These scripts are not intended for cross-compiling scenarios %if %{build_java} -rm -f $RPM_BUILD_ROOT%{_bindir}/%{_cygwin_target}-aot-compile -rm -f $RPM_BUILD_ROOT%{_bindir}/%{_cygwin_target}-jcf-dump -rm -f $RPM_BUILD_ROOT%{_bindir}/%{_cygwin_target}-rebuild-gcj-db -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/%{_cygwin_target}-aot-compile* -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/%{_cygwin_target}-g[^+cfn]* -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/%{_cygwin_target}-gc-analyze* -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/%{_cygwin_target}-gcj-dbtool* -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/%{_cygwin_target}-gcjh* -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/%{_cygwin_target}-gnative2ascii* -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/%{_cygwin_target}-j* -rm -f $RPM_BUILD_ROOT%{_mandir}/man1/%{_cygwin_target}-rebuild-gcj-db* -rm -f $RPM_BUILD_ROOT%{_mandir}/man3/%{_cygwin_target}-ffi* +rm -f $RPM_BUILD_ROOT%{_bindir}/%{cygwin32_target}-aot-compile +rm -f $RPM_BUILD_ROOT%{_bindir}/%{cygwin32_target}-jcf-dump +rm -f $RPM_BUILD_ROOT%{_bindir}/%{cygwin32_target}-rebuild-gcj-db +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/%{cygwin32_target}-aot-compile* +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/%{cygwin32_target}-g[^+cfn]* +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/%{cygwin32_target}-gc-analyze* +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/%{cygwin32_target}-gcj-dbtool* +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/%{cygwin32_target}-gcjh* +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/%{cygwin32_target}-gnative2ascii* +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/%{cygwin32_target}-j* +rm -f $RPM_BUILD_ROOT%{_mandir}/man1/%{cygwin32_target}-rebuild-gcj-db* %endif mkdir -p $RPM_BUILD_ROOT/lib -ln -sf ..%{_prefix}/bin/%{_cygwin_target}-cpp \ - $RPM_BUILD_ROOT/lib/%{_cygwin_target}-cpp +ln -sf ..%{_prefix}/bin/%{cygwin32_target}-cpp \ + $RPM_BUILD_ROOT/lib/%{cygwin32_target}-cpp # libtool installs DLL files of runtime libraries into $(libdir)/../bin, -# but we need them in _cygwin_bindir. -mkdir -p $RPM_BUILD_ROOT%{_cygwin_bindir} -mv $RPM_BUILD_ROOT%{_bindir}/*.dll $RPM_BUILD_ROOT%{_cygwin_bindir} +# but we need them in cygwin32_bindir. +mkdir -p $RPM_BUILD_ROOT%{cygwin32_bindir} +mv $RPM_BUILD_ROOT%{_libdir}/gcc/%{cygwin32_target}/*.dll \ + $RPM_BUILD_ROOT%{_libdir}/gcc/%{cygwin32_target}/%{gcc_version}/*.dll \ + $RPM_BUILD_ROOT%{cygwin32_bindir} %if %{build_java} -# move libffi -mv $RPM_BUILD_ROOT%{_prefix}/%{_cygwin_target}/bin/*.dll \ - $RPM_BUILD_ROOT%{_cygwin_bindir} # Move libgcj pkg-config files into sysroot -mkdir -p $RPM_BUILD_ROOT%{_cygwin_libdir}/pkgconfig +mkdir -p $RPM_BUILD_ROOT%{cygwin32_libdir}/pkgconfig mv $RPM_BUILD_ROOT%{_libdir}/pkgconfig/* \ - $RPM_BUILD_ROOT%{_cygwin_libdir}/pkgconfig + $RPM_BUILD_ROOT%{cygwin32_libdir}/pkgconfig %endif # Don't want the *.la files. find $RPM_BUILD_ROOT -name '*.la' -delete -# As of gcc 4.5.0, the plugin/ directory gets created on an i686 host -# but not on x86_64. Excluding it from the package for now. -rm -rf $RPM_BUILD_ROOT%{_libdir}/gcc/%{_cygwin_target}/%{version}/plugin/ - popd @@ -338,169 +346,165 @@ popd rm -rf $RPM_BUILD_ROOT -%files -%defattr(-,root,root,-) -%{_bindir}/%{_cygwin_target}-gcc -%{_bindir}/%{_cygwin_target}-gcc-%{version} -%{_bindir}/%{_cygwin_target}-gccbug -%{_bindir}/%{_cygwin_target}-gcov -%if %{build_java} -%{_prefix}/%{_cygwin_target}/lib/libffi.a -%{_prefix}/%{_cygwin_target}/lib/libffi.dll.a -%endif -%dir %{_libdir}/gcc/%{_cygwin_target} -%dir %{_libdir}/gcc/%{_cygwin_target}/%{version} -%{_libdir}/gcc/%{_cygwin_target}/%{version}/crtbegin.o -%{_libdir}/gcc/%{_cygwin_target}/%{version}/crtend.o -%{_libdir}/gcc/%{_cygwin_target}/%{version}/crtfastmath.o -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libgcc.a -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libgcc_eh.a -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libgcc_s.dll.a -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libgcov.a -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libgomp.a -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libgomp.dll.a -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libgomp.spec -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libssp.a -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libssp_nonshared.a -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libssp.dll.a -%dir %{_libdir}/gcc/%{_cygwin_target}/%{version}/include -%dir %{_libdir}/gcc/%{_cygwin_target}/%{version}/include-fixed -%dir %{_libdir}/gcc/%{_cygwin_target}/%{version}/include/ssp -%{_libdir}/gcc/%{_cygwin_target}/%{version}/include-fixed/README -%{_libdir}/gcc/%{_cygwin_target}/%{version}/include-fixed/*.h -%{_libdir}/gcc/%{_cygwin_target}/%{version}/include/[^j]*.h -%{_libdir}/gcc/%{_cygwin_target}/%{version}/include/ssp/*.h -%dir %{_libdir}/gcc/%{_cygwin_target}/%{version}/install-tools -%{_libdir}/gcc/%{_cygwin_target}/%{version}/install-tools/* -%dir %{_libexecdir}/gcc/%{_cygwin_target}/%{version}/install-tools -%{_libexecdir}/gcc/%{_cygwin_target}/%{version}/install-tools/* -%{_libexecdir}/gcc/%{_cygwin_target}/%{version}/lto1 -%{_libexecdir}/gcc/%{_cygwin_target}/%{version}/lto-wrapper -%dir %{_datadir}/gcc -%dir %{_datadir}/gcc/%{_cygwin_target} -%dir %{_datadir}/gcc/%{_cygwin_target}/%{version} -%if %{build_java} -%{_cygwin_bindir}/cygffi-4.dll -%endif -%{_cygwin_bindir}/cyggcc_s-1.dll -%{_cygwin_bindir}/cyggomp-1.dll -%{_cygwin_bindir}/cygssp-0.dll -%{_mandir}/man1/%{_cygwin_target}-gcc.1* -%{_mandir}/man1/%{_cygwin_target}-gcov.1* +%files -n cygwin32-gcc +%{_bindir}/%{cygwin32_target}-gcc +%{_bindir}/%{cygwin32_target}-gcc-%{version} +%{_bindir}/%{cygwin32_target}-gcc-ar +%{_bindir}/%{cygwin32_target}-gcc-nm +%{_bindir}/%{cygwin32_target}-gcc-ranlib +%{_bindir}/%{cygwin32_target}-gcov +%dir %{_libdir}/gcc/%{cygwin32_target} +%dir %{_libdir}/gcc/%{cygwin32_target}/%{version} +%{_libdir}/gcc/%{cygwin32_target}/%{version}/crtbegin.o +%{_libdir}/gcc/%{cygwin32_target}/%{version}/crtend.o +%{_libdir}/gcc/%{cygwin32_target}/%{version}/crtfastmath.o +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libgcc.a +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libgcc_eh.a +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libgcc_s.dll.a +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libgcov.a +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libgomp.a +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libgomp.dll.a +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libgomp.spec +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libquadmath.a +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libquadmath.dll.a +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libssp.a +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libssp_nonshared.a +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libssp.dll.a +%dir %{_libdir}/gcc/%{cygwin32_target}/%{version}/include +%dir %{_libdir}/gcc/%{cygwin32_target}/%{version}/include/ssp +%{_libdir}/gcc/%{cygwin32_target}/%{version}/include/[^j]*.h +%{_libdir}/gcc/%{cygwin32_target}/%{version}/include/ssp/*.h +%{_libdir}/gcc/%{cygwin32_target}/%{version}/include-fixed/ +%dir %{_libdir}/gcc/%{cygwin32_target}/%{version}/install-tools +%{_libdir}/gcc/%{cygwin32_target}/%{version}/install-tools/* +%dir %{_libexecdir}/gcc/%{cygwin32_target}/%{version}/install-tools +%{_libdir}/gcc/%{cygwin32_target}/%{version}/plugin/ +%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/install-tools/* +%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/liblto_plugin.so +%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/lto1 +%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/lto-wrapper +%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/plugin/ +%dir %{_datadir}/gcc-%{gcc_version} +%dir %{_datadir}/gcc-%{gcc_version}/%{cygwin32_target} +%{cygwin32_bindir}/cyggcc_s-1.dll +%{cygwin32_bindir}/cyggomp-1.dll +%{cygwin32_bindir}/cygquadmath-0.dll +%{cygwin32_bindir}/cygssp-0.dll +%{_mandir}/man1/%{cygwin32_target}-gcc.1* +%{_mandir}/man1/%{cygwin32_target}-gcov.1* %doc gcc/README* gcc/COPYING* -%files -n cygwin-cpp +%files -n cygwin32-cpp +/lib/%{cygwin32_target}-cpp +%{_bindir}/%{cygwin32_target}-cpp +%{_mandir}/man1/%{cygwin32_target}-cpp.1* +%dir %{_libdir}/gcc/%{cygwin32_target} +%dir %{_libdir}/gcc/%{cygwin32_target}/%{version} +%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/cc1 + + +%files -n cygwin32-gcc-c++ +%{_bindir}/%{cygwin32_target}-g++ +%{_bindir}/%{cygwin32_target}-c++ +%{_mandir}/man1/%{cygwin32_target}-g++.1* +%dir %{_libdir}/gcc/%{cygwin32_target}/%{version}/include/c++ +%{_libdir}/gcc/%{cygwin32_target}/%{version}/include/c++/[^gjos]* +%{_libdir}/gcc/%{cygwin32_target}/%{version}/include/c++/os* +%{_libdir}/gcc/%{cygwin32_target}/%{version}/include/c++/s[^u]* +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libstdc++.a +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libstdc++.dll.a +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libstdc++.dll.a-gdb.py +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libsupc++.a +%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/cc1plus +%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/collect2 +%dir %{_datadir}/gcc-%{gcc_version}/%{cygwin32_target}/python +%{_datadir}/gcc-%{gcc_version}/%{cygwin32_target}/python/libstdcxx/ +%{cygwin32_bindir}/cygstdc++-6.dll + + +%files -n cygwin32-gcc-objc %defattr(-,root,root,-) -/lib/%{_cygwin_target}-cpp -%{_bindir}/%{_cygwin_target}-cpp -%{_mandir}/man1/%{_cygwin_target}-cpp.1* -%dir %{_libdir}/gcc/%{_cygwin_target} -%dir %{_libdir}/gcc/%{_cygwin_target}/%{version} -%{_libexecdir}/gcc/%{_cygwin_target}/%{version}/cc1 +%{_libdir}/gcc/%{cygwin32_target}/%{version}/include/objc/ +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libobjc.a +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libobjc.dll.a +%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/cc1obj +%{cygwin32_bindir}/cygobjc-4.dll -%files c++ -%defattr(-,root,root,-) -%{_bindir}/%{_cygwin_target}-g++ -%{_bindir}/%{_cygwin_target}-c++ -%{_mandir}/man1/%{_cygwin_target}-g++.1* -%dir %{_libdir}/gcc/%{_cygwin_target}/%{version}/include/c++ -%{_libdir}/gcc/%{_cygwin_target}/%{version}/include/c++/[^gjos]* -%{_libdir}/gcc/%{_cygwin_target}/%{version}/include/c++/os* -%{_libdir}/gcc/%{_cygwin_target}/%{version}/include/c++/s[^u]* -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libstdc++.a -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libstdc++.dll.a -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libstdc++.dll.a-gdb.py -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libsupc++.a -%{_libexecdir}/gcc/%{_cygwin_target}/%{version}/cc1plus -%{_libexecdir}/gcc/%{_cygwin_target}/%{version}/collect2 -%dir %{_datadir}/gcc/%{_cygwin_target}/%{version}/python -%{_datadir}/gcc/%{_cygwin_target}/%{version}/python/libstdcxx/ -%{_cygwin_bindir}/cygstdc++-6.dll - - -%files objc +%files -n cygwin32-gcc-objc++ %defattr(-,root,root,-) -%{_libdir}/gcc/%{_cygwin_target}/%{version}/include/objc/ -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libobjc.a -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libobjc.dll.a -%{_libexecdir}/gcc/%{_cygwin_target}/%{version}/cc1obj -%{_cygwin_bindir}/cygobjc-2.dll +%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/cc1objplus -%files objc++ +%files -n cygwin32-gcc-gfortran %defattr(-,root,root,-) -%{_libexecdir}/gcc/%{_cygwin_target}/%{version}/cc1objplus - - -%files gfortran -%defattr(-,root,root,-) -%{_bindir}/%{_cygwin_target}-gfortran -%{_mandir}/man1/%{_cygwin_target}-gfortran.1* -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libgfortran.a -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libgfortran.dll.a -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libgfortranbegin.a -%dir %{_libdir}/gcc/%{_cygwin_target}/%{version}/finclude -%{_libdir}/gcc/%{_cygwin_target}/%{version}/finclude/omp_lib.f90 -%{_libdir}/gcc/%{_cygwin_target}/%{version}/finclude/omp_lib.h -%{_libdir}/gcc/%{_cygwin_target}/%{version}/finclude/omp_lib.mod -%{_libdir}/gcc/%{_cygwin_target}/%{version}/finclude/omp_lib_kinds.mod -%{_libexecdir}/gcc/%{_cygwin_target}/%{version}/f951 -%{_cygwin_bindir}/cyggfortran-3.dll +%{_bindir}/%{cygwin32_target}-gfortran +%{_mandir}/man1/%{cygwin32_target}-gfortran.1* +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libcaf_single.a +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libgfortran.a +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libgfortran.dll.a +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libgfortran.spec +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libgfortranbegin.a +%dir %{_libdir}/gcc/%{cygwin32_target}/%{version}/finclude +%{_libdir}/gcc/%{cygwin32_target}/%{version}/finclude/omp_lib.f90 +%{_libdir}/gcc/%{cygwin32_target}/%{version}/finclude/omp_lib.h +%{_libdir}/gcc/%{cygwin32_target}/%{version}/finclude/omp_lib.mod +%{_libdir}/gcc/%{cygwin32_target}/%{version}/finclude/omp_lib_kinds.mod +%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/f951 +%{cygwin32_bindir}/cyggfortran-3.dll %if %{build_ada} -%files gnat -%defattr(-,root,root,-) -%{_bindir}/%{_cygwin_target}-gnat* -#%%{_mandir}/man1/%%{_cygwin_target}-gnat*.1* -%{_libdir}/gcc/%{_cygwin_target}/%{version}/adainclude/ -%{_libdir}/gcc/%{_cygwin_target}/%{version}/adalib/ -%{_libexecdir}/gcc/%{_cygwin_target}/%{version}/gnat1 -#%%{_cygwin_bindir}/cyggnarl-4.5.dll -#%%{_cygwin_bindir}/cyggnat-4.5.dll +%files -n cygwin32-gcc-gnat +%{_bindir}/%{cygwin32_target}-gnat* +#%%{_mandir}/man1/%%{cygwin32_target}-gnat*.1* +%{_libdir}/gcc/%{cygwin32_target}/%{version}/adainclude/ +%{_libdir}/gcc/%{cygwin32_target}/%{version}/adalib/ +%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/gnat1 +#%%{cygwin32_bindir}/cyggnarl-4.7.dll +#%%{cygwin32_bindir}/cyggnat-4.7.dll %endif %if %{build_java} -%files java +%files -n cygwin32-gcc-java %defattr(-,root,root,-) -%{_bindir}/%{_cygwin_target}-gcj -%{_mandir}/man1/%{_cygwin_target}-gcj.1* -%{_libdir}/gcc/%{_cygwin_target}/%{version}/include/c++/gcj/ -%{_libdir}/gcc/%{_cygwin_target}/%{version}/include/c++/gnu/ -%{_libdir}/gcc/%{_cygwin_target}/%{version}/include/c++/java/ -%{_libdir}/gcc/%{_cygwin_target}/%{version}/include/c++/javax/ -%{_libdir}/gcc/%{_cygwin_target}/%{version}/include/c++/org/ -%{_libdir}/gcc/%{_cygwin_target}/%{version}/include/c++/sun/ -%{_libdir}/gcc/%{_cygwin_target}/%{version}/include/gcj/ -%{_libdir}/gcc/%{_cygwin_target}/%{version}/include/jawt*.h -%{_libdir}/gcc/%{_cygwin_target}/%{version}/include/jni*.h -%{_libdir}/gcc/%{_cygwin_target}/%{version}/include/jvmpi.h -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libgcj.a -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libgcj.dll.a -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libgcj-noncore.a -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libgcj-noncore.dll.a -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libgcj.spec -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libgcj-tools.a -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libgcj-tools.dll.a -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libgij.a -%{_libdir}/gcc/%{_cygwin_target}/%{version}/libgij.dll.a -%{_libexecdir}/gcc/%{_cygwin_target}/%{version}/ecj1 -%{_libexecdir}/gcc/%{_cygwin_target}/%{version}/jc1 -%{_libexecdir}/gcc/%{_cygwin_target}/%{version}/jvgenmain -%{_cygwin_bindir}/cyggcj-11.dll -%{_cygwin_bindir}/cyggcj-noncore-11.dll -%{_cygwin_bindir}/cyggcj-tools-11.dll -%{_cygwin_bindir}/cyggij-11.dll -%{_cygwin_bindir}/cygjvm.dll -%{_cygwin_libdir}/pkgconfig/libgcj-4.5.pc -%{_datadir}/gcc/%{_cygwin_target}/%{version}/java +%{_bindir}/%{cygwin32_target}-gcj +%{_mandir}/man1/%{cygwin32_target}-gcj.1* +%{_libdir}/gcc/%{cygwin32_target}/%{version}/include/c++/gcj/ +%{_libdir}/gcc/%{cygwin32_target}/%{version}/include/c++/gnu/ +%{_libdir}/gcc/%{cygwin32_target}/%{version}/include/c++/java/ +%{_libdir}/gcc/%{cygwin32_target}/%{version}/include/c++/javax/ +%{_libdir}/gcc/%{cygwin32_target}/%{version}/include/c++/org/ +%{_libdir}/gcc/%{cygwin32_target}/%{version}/include/c++/sun/ +%{_libdir}/gcc/%{cygwin32_target}/%{version}/include/gcj/ +%{_libdir}/gcc/%{cygwin32_target}/%{version}/include/jawt*.h +%{_libdir}/gcc/%{cygwin32_target}/%{version}/include/jni*.h +%{_libdir}/gcc/%{cygwin32_target}/%{version}/include/jvmpi.h +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libgcj.dll.a +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libgcj-noncore.dll.a +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libgcj.spec +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libgcj-tools.dll.a +%{_libdir}/gcc/%{cygwin32_target}/%{version}/libgij.dll.a +%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/ecj1 +%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/jc1 +%{_libexecdir}/gcc/%{cygwin32_target}/%{version}/jvgenmain +%{cygwin32_bindir}/cyggcj-13.dll +%{cygwin32_bindir}/cyggcj-noncore-13.dll +%{cygwin32_bindir}/cyggcj-tools-13.dll +%{cygwin32_bindir}/cyggij-13.dll +%{cygwin32_bindir}/cygjvm.dll +%{cygwin32_libdir}/pkgconfig/libgcj-4.7.pc +%{_datadir}/gcc-%{gcc_version}/%{cygwin32_target}/java %endif %changelog +* Thu Jun 27 2013 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - 4.7.3-1 +- Version bump. +- Update for new Cygwin packaging scheme. + * Sun Aug 14 2011 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - 4.5.3-4 - Add .exe to unsuffixed output executables, as with the native compiler. diff --git a/gcc45-cross-ecjx.patch b/gcc45-cross-ecjx.patch deleted file mode 100644 index cca8271..0000000 --- a/gcc45-cross-ecjx.patch +++ /dev/null @@ -1,42 +0,0 @@ ---- origsrc/gcc-4.5.2/libjava/Makefile.am 2010-07-15 07:05:56.000000000 -0500 -+++ src/gcc-4.5.2/libjava/Makefile.am 2011-01-11 16:17:07.828828300 -0600 -@@ -1124,10 +1124,17 @@ endif - else !NATIVE - - ecjx_LINK = $(GCJ_FOR_ECJX_LINK) $(ecjx_LDFLAGS) -+if INSTALL_ECJ_JAR - ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR) -+else -+ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) -Djava.class.path=$(ECJ_JAR) -+endif - ecjx_LDADD = - ecjx_DEPENDENCIES = - -+ecjx.$(OBJEXT): ecjx.cc -+ $(GCJ_FOR_ECJX) -c -o $@ $< -+ - endif !NATIVE - - ## This is a dummy definition. ---- origsrc/gcc-4.5.2/libjava/Makefile.in 2010-12-16 06:49:03.000000000 -0600 -+++ src/gcc-4.5.2/libjava/Makefile.in 2011-01-11 16:18:06.282130200 -0600 -@@ -8515,7 +8515,8 @@ ECJX_BASE_FLAGS = -findirect-dispatch \ - @NATIVE_TRUE@ecjx_LINK = $(GCJLINK) $(ecjx_LDFLAGS) - @ENABLE_SHARED_FALSE@@NATIVE_TRUE@ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR) -fbootclasspath=$(BOOTCLASSPATH) - @ENABLE_SHARED_TRUE@@NATIVE_TRUE@ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) -Djava.class.path=$(ECJ_JAR) --@NATIVE_FALSE@ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR) -+@INSTALL_ECJ_JAR_FALSE@@NATIVE_FALSE@ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) -Djava.class.path=$(ECJ_JAR) -+@INSTALL_ECJ_JAR_TRUE@@NATIVE_FALSE@ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR) - @NATIVE_FALSE@ecjx_LDADD = - @NATIVE_TRUE@ecjx_LDADD = -L$(here)/.libs $(extra_ldflags) \ - @NATIVE_TRUE@ $(am__append_31) -@@ -12888,6 +12889,9 @@ write-entries-to-file-check: - @MAINTAINER_MODE_TRUE@@NATIVE_TRUE@ >> tmp-0212; \ - @MAINTAINER_MODE_TRUE@@NATIVE_TRUE@ mv tmp-0212 $(srcdir)/gnu/gcj/convert/JIS0212.h - -+@NATIVE_FALSE@ecjx.$(OBJEXT): ecjx.cc -+@NATIVE_FALSE@ $(GCJ_FOR_ECJX) -c -o $@ $< -+ - src.zip: - -rm -f src.zip - here=`pwd`; \ diff --git a/gcc45-cross-exe-suffix.diff b/gcc45-cross-exe-suffix.diff index 0a71b11..6fbddf8 100644 --- a/gcc45-cross-exe-suffix.diff +++ b/gcc45-cross-exe-suffix.diff @@ -1,7 +1,6 @@ --- a/gcc/gcc.c 2011-08-14 14:15:46.614869280 -0500 +++ b/gcc/gcc.c 2011-08-14 14:16:05.757302186 -0500 -@@ -98,8 +98,7 @@ compilation is specified by a string cal - #endif +@@ -98,6 +98,5 @@ compilation is specified by a string cal /* By default there is no special suffix for target executables. */ -/* FIXME: when autoconf is fixed, remove the host check - dj */ @@ -9,4 +8,3 @@ +#if defined(TARGET_EXECUTABLE_SUFFIX) #define HAVE_TARGET_EXECUTABLE_SUFFIX #endif - diff --git a/gcc45-ehdebug.diff b/gcc45-ehdebug.diff deleted file mode 100644 index 1534aa9..0000000 --- a/gcc45-ehdebug.diff +++ /dev/null @@ -1,157 +0,0 @@ -diff -pruN origsrc/gcc-4.5.0/gcc/unwind-dw2-fde.c src/gcc-4.5.0/gcc/unwind-dw2-fde.c ---- origsrc/gcc-4.5.0/gcc/unwind-dw2-fde.c 2009-09-20 12:03:33.000000000 +0100 -+++ src/gcc-4.5.0/gcc/unwind-dw2-fde.c 2010-04-19 04:28:35.406250000 +0100 -@@ -37,6 +37,8 @@ see the files COPYING3 and COPYING.RUNTI - #include "gthr.h" - #endif - -+#define __debug_unwind_enabled (0) -+ - /* The unseen_objects list contains objects that have been registered - but not yet categorized in any way. The seen_objects list has had - its pc_begin and count fields initialized at minimum, and is sorted -@@ -840,6 +842,8 @@ binary_search_unencoded_fdes (struct obj - struct fde_vector *vec = ob->u.sort; - size_t lo, hi; - -+ if (__debug_unwind_enabled) printf ("search fdes ob %p: vec %p count %d\n", ob, vec, vec->count); -+ - for (lo = 0, hi = vec->count; lo < hi; ) - { - size_t i = (lo + hi) / 2; -@@ -849,6 +853,8 @@ binary_search_unencoded_fdes (struct obj - memcpy (&pc_begin, (const void * const *) f->pc_begin, sizeof (void *)); - memcpy (&pc_range, (const uaddr *) f->pc_begin + 1, sizeof (uaddr)); - -+if (__debug_unwind_enabled) printf ("fde#%d (%p): pc_begin %p pc_range %p\n", i, f, pc_begin, (void *)pc_range); -+ - if (pc < pc_begin) - hi = i; - else if (pc >= pc_begin + pc_range) -@@ -856,7 +862,7 @@ binary_search_unencoded_fdes (struct obj - else - return f; - } -- -+if (__debug_unwind_enabled) printf ("**not found\n"); - return NULL; - } - -@@ -977,6 +983,8 @@ _Unwind_Find_FDE (void *pc, struct dwarf - /* Linear search through the classified objects, to find the one - containing the pc. Note that pc_begin is sorted descending, and - we expect objects to be non-overlapping. */ -+ if (__debug_unwind_enabled) printf ("Search seen obs for pc %p: Bases t %p, d %p, func %p\n", -+ pc, bases->tbase, bases->dbase, bases->func); - for (ob = seen_objects; ob; ob = ob->next) - if (pc >= ob->pc_begin) - { -@@ -987,6 +995,8 @@ _Unwind_Find_FDE (void *pc, struct dwarf - } - - /* Classify and search the objects we've not yet processed. */ -+ if (__debug_unwind_enabled) printf ("Search unseen obs for pc %p: Bases t %p, d %p, func %p\n", -+ pc, bases->tbase, bases->dbase, bases->func); - while ((ob = unseen_objects)) - { - struct object **p; -@@ -1022,6 +1032,15 @@ _Unwind_Find_FDE (void *pc, struct dwarf - read_encoded_value_with_base (encoding, base_from_object (encoding, ob), - f->pc_begin, &func); - bases->func = (void *) func; -+ -+ if (__debug_unwind_enabled) printf ("Found fde %p: Bases t %p, d %p, func %p\n", -+ f, bases->tbase, bases->dbase, bases->func); -+ -+ } -+ else -+ { -+ if (__debug_unwind_enabled) printf ("No fde %p: Bases t %p, d %p, func %p\n", -+ f, bases->tbase, bases->dbase, bases->func); - } - - return f; -diff -pruN origsrc/gcc-4.5.0/gcc/unwind-dw2.c src/gcc-4.5.0/gcc/unwind-dw2.c ---- origsrc/gcc-4.5.0/gcc/unwind-dw2.c 2010-01-20 08:13:50.000000000 +0000 -+++ src/gcc-4.5.0/gcc/unwind-dw2.c 2010-04-19 04:28:35.421875000 +0100 -@@ -79,6 +79,7 @@ struct _Unwind_Context - - /* Byte size of every register managed by these routines. */ - static unsigned char dwarf_reg_size_table[DWARF_FRAME_REGISTERS+1]; -+#define __debug_unwind_enabled (0) - - - /* Read unaligned data from the instruction buffer. */ -@@ -370,7 +371,7 @@ extract_cie_info (const struct dwarf_cie - fs->retaddr_column = (_Unwind_Word)utmp; - } - fs->lsda_encoding = DW_EH_PE_omit; -- -+if (__debug_unwind_enabled) printf ("extract cie: augmentation '%c'\n", *aug); - /* If the augmentation starts with 'z', then a uleb128 immediately - follows containing the length of the augmentation field following - the size. */ -@@ -386,6 +387,7 @@ extract_cie_info (const struct dwarf_cie - /* Iterate over recognized augmentation subsequences. */ - while (*aug != '\0') - { -+if (__debug_unwind_enabled) printf ("handle augmentation '%c'\n", *aug); - /* "L" indicates a byte showing how the LSDA pointer is encoded. */ - if (aug[0] == 'L') - { -@@ -423,6 +425,7 @@ extract_cie_info (const struct dwarf_cie - return ret; - } - -+if (__debug_unwind_enabled) printf ("extract cie: augmentation done\n"); - return ret ? ret : p; - } - -@@ -1568,9 +1571,25 @@ uw_identify_context (struct _Unwind_Cont - return _Unwind_GetCFA (context) + _Unwind_IsSignalFrame (context); - } - -+static _Unwind_Reason_Code -+debug_unwind_trace (struct _Unwind_Context *ctx, void *arg) -+{ -+ fflush (NULL); -+ printf ("_Unwind_Context %p\n", ctx); -+ printf (" cfa %p ra %p lsda %p\n", ctx->cfa, ctx->ra, ctx->lsda); -+ printf (" bases: t %p d %p func %p\n", ctx->bases.tbase, ctx->bases.dbase, ctx->bases.func); -+ printf ("\n"); -+ fflush (NULL); -+ return _URC_NO_REASON; -+} - - #include "unwind.inc" - -+void debug_dump_stack_trace (void *arg) -+{ -+ _Unwind_Backtrace (debug_unwind_trace, arg); -+} -+ - #if defined (USE_GAS_SYMVER) && defined (SHARED) && defined (USE_LIBUNWIND_EXCEPTIONS) - alias (_Unwind_Backtrace); - alias (_Unwind_DeleteException); -diff -pruN origsrc/gcc-4.5.0/gcc/unwind.inc src/gcc-4.5.0/gcc/unwind.inc ---- origsrc/gcc-4.5.0/gcc/unwind.inc 2009-04-09 16:00:19.000000000 +0100 -+++ src/gcc-4.5.0/gcc/unwind.inc 2010-04-19 04:28:35.421875000 +0100 -@@ -96,8 +96,9 @@ _Unwind_RaiseException(struct _Unwind_Ex - - /* Set up fs to describe the FDE for the caller of cur_context. The - first time through the loop, that means __cxa_throw. */ -+if (__debug_unwind_enabled) printf ("Ctx: ra %p\n", cur_context.ra); - code = uw_frame_state_for (&cur_context, &fs); -- -+if (__debug_unwind_enabled) printf ("... code %d, perso %p\n", code, fs.personality); - if (code == _URC_END_OF_STACK) - /* Hit end of stack with no handler found. */ - return _URC_END_OF_STACK; -@@ -112,6 +113,7 @@ _Unwind_RaiseException(struct _Unwind_Ex - { - code = (*fs.personality) (1, _UA_SEARCH_PHASE, exc->exception_class, - exc, &cur_context); -+if (__debug_unwind_enabled) printf ("perso returns code %d\n", code); - if (code == _URC_HANDLER_FOUND) - break; - else if (code != _URC_CONTINUE_UNWIND) diff --git a/gcc45-gc-win32-threads.diff b/gcc45-gc-win32-threads.diff deleted file mode 100644 index f295272..0000000 --- a/gcc45-gc-win32-threads.diff +++ /dev/null @@ -1,20 +0,0 @@ ---- gcc-4.5.3/libjava/boehm.cc.orig 2012-05-29 20:37:15.802823780 -0500 -+++ gcc-4.5.3/libjava/boehm.cc 2012-05-29 20:37:48.329821290 -0500 -@@ -747,7 +747,7 @@ _Jv_GCAttachThread () - // The registration interface is only defined on posixy systems and - // only actually works if pthread_getattr_np is defined. - // FIXME: until gc7 it is simpler to disable this on solaris. --#if defined(HAVE_PTHREAD_GETATTR_NP) && !defined(GC_SOLARIS_THREADS) -+#if defined(HAVE_PTHREAD_GETATTR_NP) && !defined(GC_SOLARIS_THREADS) && !defined(GC_WIN32_THREADS) - GC_register_my_thread (); - #endif - } -@@ -755,7 +755,7 @@ _Jv_GCAttachThread () - void - _Jv_GCDetachThread () - { --#if defined(HAVE_PTHREAD_GETATTR_NP) && !defined(GC_SOLARIS_THREADS) -+#if defined(HAVE_PTHREAD_GETATTR_NP) && !defined(GC_SOLARIS_THREADS) && !defined(GC_WIN32_THREADS) - GC_unregister_my_thread (); - #endif - } diff --git a/gcc45-libffi.diff b/gcc45-libffi.diff deleted file mode 100644 index a69cd9d..0000000 --- a/gcc45-libffi.diff +++ /dev/null @@ -1,63 +0,0 @@ -diff -pruN origsrc/gcc-4.5.0/libffi/Makefile.am src/gcc-4.5.0/libffi/Makefile.am ---- origsrc/gcc-4.5.0/libffi/Makefile.am 2009-12-31 17:44:32.000000000 +0000 -+++ src/gcc-4.5.0/libffi/Makefile.am 2010-04-22 04:55:33.078125000 +0100 -@@ -32,6 +32,11 @@ EXTRA_DIST = LICENSE ChangeLog.v1 Change - src/pa/ffitarget.h src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \ - src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c - -+# Where generated headers like ffitarget.h get installed. -+gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) -+# There's probably already some other name for this directory. -+toollibffidir := $(libdir)/gcc/$(target_alias)/$(gcc_version) -+ - ## ################################################################ - - ## -diff -pruN origsrc/gcc-4.5.0/libffi/configure.ac src/gcc-4.5.0/libffi/configure.ac ---- origsrc/gcc-4.5.0/libffi/configure.ac 2010-03-15 19:36:26.000000000 +0000 -+++ src/gcc-4.5.0/libffi/configure.ac 2010-04-22 05:02:49.078125000 +0100 -@@ -83,7 +83,7 @@ case "$host" in - i?86-win32* | i?86-*-cygwin* | i?86-*-mingw*) - TARGET=X86_WIN32; TARGETDIR=x86 - # All mingw/cygwin/win32 builds require this for sharedlib -- AM_LTLDFLAGS="-no-undefined" -+ AM_LTLDFLAGS='-no-undefined -bindir $(bindir)' - ;; - i?86-*-darwin*) - TARGET=X86_DARWIN; TARGETDIR=x86 -@@ -390,7 +390,7 @@ if test -n "$with_cross_host" && - toolexeclibdir='$(toolexecdir)/lib' - else - toolexecdir='$(libdir)/gcc-lib/$(target_alias)' -- toolexeclibdir='$(libdir)' -+ toolexeclibdir="${host__toolexeclibdir:-\$(libdir)}" - fi - multi_os_directory=`$CC -print-multi-os-directory` - case $multi_os_directory in -diff -pruN origsrc/gcc-4.5.0/libffi/configure.host src/gcc-4.5.0/libffi/configure.host ---- origsrc/gcc-4.5.0/libffi/configure.host 2004-08-30 16:43:03.000000000 +0100 -+++ src/gcc-4.5.0/libffi/configure.host 2010-04-22 04:55:33.078125000 +0100 -@@ -8,4 +8,8 @@ case "${host}" in - frv*-elf) - LDFLAGS=`echo $LDFLAGS | sed "s/\-B[^ ]*libgloss\/frv\///"`\ -B`pwd`/../libgloss/frv/ - ;; -+ i?86-*-cygwin*) -+ # Redirect installation to gcc private dir. -+ host__toolexeclibdir='$(toollibffidir)' -+ ;; - esac -diff -pruN origsrc/gcc-4.5.0/libffi/Makefile.in src/gcc-4.5.0/libffi/Makefile.in ---- origsrc/gcc-4.5.0/libffi/Makefile.in 2010-04-02 19:18:06.000000000 +0100 -+++ src/gcc-4.5.0/libffi/Makefile.in 2010-04-22 05:03:04.796875000 +0100 -@@ -417,6 +417,11 @@ EXTRA_DIST = LICENSE ChangeLog.v1 Change - src/frv/ffi.c src/frv/eabi.S src/frv/ffitarget.h src/dlmalloc.c - - -+# Where generated headers like ffitarget.h get installed. -+gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER) -+# There's probably already some other name for this directory. -+toollibffidir := $(libdir)/gcc/$(target_alias)/$(gcc_version) -+ - # Work around what appears to be a GNU make bug handling MAKEFLAGS - # values defined in terms of make variables, as is the case for CC and - # friends when we are called from the top level Makefile. diff --git a/gcc45-misc-core.diff b/gcc45-misc-core.diff deleted file mode 100644 index 51cee37..0000000 --- a/gcc45-misc-core.diff +++ /dev/null @@ -1,54 +0,0 @@ -diff -pruN origsrc/gcc-4.5.0/gcc/config/i386/cygwin.h src/gcc-4.5.0/gcc/config/i386/cygwin.h ---- origsrc/gcc-4.5.0/gcc/config/i386/cygwin.h 2010-04-02 20:54:46.000000000 +0100 -+++ src/gcc-4.5.0/gcc/config/i386/cygwin.h 2010-04-19 03:58:09.031250000 +0100 -@@ -303,3 +303,23 @@ while (0) - /* We should find a way to not have to update this manually. */ - #define LIBGCJ_SONAME "cyggcj" /*LIBGCC_EH_EXTN*/ "-11.dll" - -+/* Make stack executable to avoid DEP problems with trampolines. */ -+#undef CYGWIN_ENABLE_EXECUTE_STACK -+#define CYGWIN_ENABLE_EXECUTE_STACK \ -+extern void __enable_execute_stack (void *); \ -+void \ -+__enable_execute_stack (void *addr) \ -+{ \ -+ MEMORY_BASIC_INFORMATION b; \ -+ if (!VirtualQuery (addr, &b, sizeof(b))) \ -+ abort (); \ -+ VirtualProtect (b.BaseAddress, b.RegionSize, PAGE_EXECUTE_READWRITE, \ -+ &b.Protect); \ -+} -+ -+#undef ENABLE_EXECUTE_STACK -+#define ENABLE_EXECUTE_STACK CYGWIN_ENABLE_EXECUTE_STACK -+ -+#ifdef IN_LIBGCC2 -+#include <windows.h> -+#endif -diff -pruN origsrc/gcc-4.5.0/gcc/cppdefault.c src/gcc-4.5.0/gcc/cppdefault.c ---- origsrc/gcc-4.5.0/gcc/cppdefault.c 2007-07-26 09:37:01.000000000 +0100 -+++ src/gcc-4.5.0/gcc/cppdefault.c 2010-04-19 04:28:35.406250000 +0100 -@@ -39,6 +39,8 @@ - # undef STANDARD_INCLUDE_DIR - #else - # undef CROSS_INCLUDE_DIR -+# undef CROSS_INCLUDE_DIR_1 -+# undef CROSS_INCLUDE_DIR_2 - #endif - - const struct default_include cpp_include_defaults[] -@@ -85,6 +87,14 @@ const struct default_include cpp_include - /* One place the target system's headers might be. */ - { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, - #endif -+#ifdef CROSS_INCLUDE_DIR_1 -+ /* One more place the target system's headers might be. */ -+ { CROSS_INCLUDE_DIR_1, "GCC", 0, 0, 0, 0 }, -+#endif -+#ifdef CROSS_INCLUDE_DIR_2 -+ /* One more place the target system's headers might be. */ -+ { CROSS_INCLUDE_DIR_2, "GCC", 0, 0, 0, 0 }, -+#endif - #ifdef TOOL_INCLUDE_DIR - /* Another place the target system's headers might be. */ - { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0 }, diff --git a/gcc45-mnocygwin.diff b/gcc45-mnocygwin.diff deleted file mode 100644 index 3dd13b5..0000000 --- a/gcc45-mnocygwin.diff +++ /dev/null @@ -1,120 +0,0 @@ -diff -pruN origsrc/gcc-4.5.0/gcc/config.gcc src/gcc-4.5.0/gcc/config.gcc ---- origsrc/gcc-4.5.0/gcc/config.gcc 2010-04-07 11:34:00.000000000 +0100 -+++ src/gcc-4.5.0/gcc/config.gcc 2010-04-20 07:29:42.921875000 +0100 -@@ -1329,8 +1329,8 @@ i[34567]86-*-pe | i[34567]86-*-cygwin*) - target_gtfiles="\$(srcdir)/config/i386/winnt.c" - extra_options="${extra_options} i386/cygming.opt" - extra_objs="winnt.o winnt-stubs.o" -- c_target_objs="${c_target_objs} cygwin2.o msformat-c.o" -- cxx_target_objs="${cxx_target_objs} cygwin2.o winnt-cxx.o msformat-c.o" -+ c_target_objs="${c_target_objs} msformat-c.o" -+ cxx_target_objs="${cxx_target_objs} winnt-cxx.o msformat-c.o" - extra_gcc_objs=cygwin1.o - if test x$enable_threads = xyes; then - thread_file='posix' -diff -pruN origsrc/gcc-4.5.0/gcc/config/i386/cygwin1.c src/gcc-4.5.0/gcc/config/i386/cygwin1.c ---- origsrc/gcc-4.5.0/gcc/config/i386/cygwin1.c 2009-02-20 15:20:38.000000000 +0000 -+++ src/gcc-4.5.0/gcc/config/i386/cygwin1.c 2010-04-19 04:13:04.578125000 +0100 -@@ -38,16 +38,8 @@ mingw_scan (int argc ATTRIBUTE_UNUSED, - putenv (xstrdup ("GCC_CYGWIN_WIN32=1")); - else if (strcmp (*argv, "-mno-cygwin") == 0) - { -- char *p = strstr (*spec_machine, "-cygwin"); -- if (p) -- { -- int len = p - *spec_machine; -- char *s = XNEWVEC (char, strlen (*spec_machine) + 3); -- memcpy (s, *spec_machine, len); -- strcpy (s + len, "-mingw32"); -- *spec_machine = s; -- } -- putenv (xstrdup ("GCC_CYGWIN_MINGW=1")); -+ fatal ("The -mno-cygwin flag has been removed; use a " -+ "mingw-targeted cross-compiler.\n"); - } - return; - } -diff -pruN origsrc/gcc-4.5.0/gcc/config/i386/cygwin2.c src/gcc-4.5.0/gcc/config/i386/cygwin2.c ---- origsrc/gcc-4.5.0/gcc/config/i386/cygwin2.c 2007-08-02 11:49:31.000000000 +0100 -+++ src/gcc-4.5.0/gcc/config/i386/cygwin2.c 1970-01-01 00:00:00.000000000 +0000 -@@ -1,66 +0,0 @@ --/* Helper routines for cygwin-specific command-line parsing. -- Contributed by Christopher Faylor (cgf@redhat.com) -- Copyright 2003, 2007 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/>. */ -- --#include "config.h" --#include "system.h" --#include "coretypes.h" --#include "tm.h" -- --#include "safe-ctype.h" --#include <string.h> -- --/* --static void remove_w32api (void); --*/ --static void add_mingw (void); --static void set_mingw (void) __attribute__ ((constructor)); -- --static void --add_mingw (void) --{ -- char **av; -- char *p; -- for (av = cvt_to_mingw; *av; av++) -- { -- int sawcygwin = 0; -- while ((p = strstr (*av, "-cygwin"))) -- { -- char *over = p + sizeof ("-cygwin") - 1; -- memmove (over + 1, over, strlen (over)); -- memcpy (p, "-mingw32", sizeof("-mingw32") - 1); -- p = ++over; -- while (ISALNUM (*p)) -- p++; -- strcpy (over, p); -- sawcygwin = 1; -- } -- if (!sawcygwin && !strstr (*av, "mingw")) -- strcat (*av, CYGWIN_MINGW_SUBDIR); -- } --} -- -- --static void --set_mingw (void) --{ -- char *env = getenv ("GCC_CYGWIN_MINGW"); -- if (env && *env == '1') -- add_mingw (); --} -diff -pruN origsrc/gcc-4.5.0/gcc/config/i386/t-cygwin src/gcc-4.5.0/gcc/config/i386/t-cygwin ---- origsrc/gcc-4.5.0/gcc/config/i386/t-cygwin 2009-05-26 15:02:04.000000000 +0100 -+++ src/gcc-4.5.0/gcc/config/i386/t-cygwin 2010-04-19 04:28:35.406250000 +0100 -@@ -28,10 +28,6 @@ cygwin1.o: $(srcdir)/config/i386/cygwin1 - $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ - $(srcdir)/config/i386/cygwin1.c - --cygwin2.o: $(srcdir)/config/i386/cygwin2.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ -- $(TM_H) $(TM_P_H) -- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ -- $(srcdir)/config/i386/cygwin2.c - - # Cygwin-specific parts of LIB_SPEC - SHLIB_LC = -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32 diff --git a/gcc45-peflags.diff b/gcc45-peflags.diff deleted file mode 100644 index 7b01c05..0000000 --- a/gcc45-peflags.diff +++ /dev/null @@ -1,12 +0,0 @@ ---- origsrc/gcc-4.5.3/gcc/config/i386/cygwin.h 2011-07-10 00:52:31.709323700 -0500 -+++ src/gcc-4.5.3/gcc/config/i386/cygwin.h 2011-07-10 01:24:24.630654600 -0500 -@@ -126,7 +126,8 @@ along with GCC; see the file COPYING3. - %{shared|mdll: --enable-auto-image-base -e \ - %{mno-cygwin:_DllMainCRTStartup@12} \ - %{!mno-cygwin:__cygwin_dll_entry@12}}\ -- %{!mno-cygwin:--dll-search-prefix=cyg -tsaware}" -+ %{!mno-cygwin:--dll-search-prefix=cyg \ -+ %{!shared: %{!mdll: --large-address-aware --tsaware}}}" - - /* Allocate space for all of the machine-spec-specific stuff. - Allocate enough space for cygwin -> mingw32 munging plus diff --git a/gcc45-sig-unwind.diff b/gcc45-sig-unwind.diff deleted file mode 100644 index 55776cb..0000000 --- a/gcc45-sig-unwind.diff +++ /dev/null @@ -1,90 +0,0 @@ -Contributed by the AdaCore guys on the gcc-patches list at: -http://gcc.gnu.org/ml/gcc-patches/2010-03/msg01234.html - - -2010-03-26 Eric Botcazou <ebotcazou@adacore.com> - Olivier Hainque <hainque@adacore.com> - - * config/i386/w32-unwind.h (i386_w32_fallback_frame_state): Fix regnum - of EBP. Do not restore reg #9. Remove +1 adjustment to EIP and set - fs->signal_frame instead. - - -Index: gcc/config/i386/w32-unwind.h -=================================================================== ---- gcc/config/i386/w32-unwind.h (revision 157721) -+++ gcc/config/i386/w32-unwind.h (working copy) -@@ -1,5 +1,5 @@ --/* Definitions for Dwarf2 EH unwind support for Windows32 targets -- Copyright (C) 2007, 2009 -+/* Definitions for Dwarf2 EH unwind support for Windows32 targets -+ Copyright (C) 2007, 2009, 2010 - Free Software Foundation, Inc. - Contributed by Pascal Obry <obry@adacore.com> - -@@ -129,7 +129,6 @@ i386_w32_fallback_frame_state (struct _U - - /* In the test below we look for two specific patterns found - experimentally to be in the Windows signal handler. */ -- - if (SIG_PAT1 || SIG_PAT2 || SIG_SEH1 || SIG_SEH2) - { - PEXCEPTION_POINTERS weinfo_; -@@ -147,14 +146,12 @@ i386_w32_fallback_frame_state (struct _U - } - - /* The new context frame address is the stack pointer. */ -- - new_cfa_ = proc_ctx_->Esp; - fs->regs.cfa_how = CFA_REG_OFFSET; - fs->regs.cfa_reg = __builtin_dwarf_sp_column(); - fs->regs.cfa_offset = new_cfa_ - (long) ctx_cfa_; - -- /* Save some registers. */ -- -+ /* Restore registers. */ - fs->regs.reg[0].how = REG_SAVED_OFFSET; - fs->regs.reg[0].loc.offset = (long)&proc_ctx_->Eax - new_cfa_; - fs->regs.reg[3].how = REG_SAVED_OFFSET; -@@ -167,18 +164,13 @@ i386_w32_fallback_frame_state (struct _U - fs->regs.reg[6].loc.offset = (long)&proc_ctx_->Esi - new_cfa_; - fs->regs.reg[7].how = REG_SAVED_OFFSET; - fs->regs.reg[7].loc.offset = (long)&proc_ctx_->Edi - new_cfa_; -- fs->regs.reg[9].how = REG_SAVED_OFFSET; -- fs->regs.reg[9].loc.offset = (long)&proc_ctx_->Eip - new_cfa_; -- fs->regs.reg[4].how = REG_SAVED_OFFSET; -- fs->regs.reg[4].loc.offset = (long)&proc_ctx_->Ebp - new_cfa_; -- -- /* Set the return address to Eip + 1. As we can be called multiple -- times we use another register for this. */ -- -- proc_ctx_->Dr0 = proc_ctx_->Eip + 1; -+ fs->regs.reg[5].how = REG_SAVED_OFFSET; -+ fs->regs.reg[5].loc.offset = (long)&proc_ctx_->Ebp - new_cfa_; - fs->regs.reg[8].how = REG_SAVED_OFFSET; -- fs->regs.reg[8].loc.offset = (long)&proc_ctx_->Dr0 - new_cfa_; -+ fs->regs.reg[8].loc.offset = (long)&proc_ctx_->Eip - new_cfa_; - fs->retaddr_column = 8; -+ fs->signal_frame = 1; -+ - return _URC_NO_REASON; - } - -@@ -186,7 +178,6 @@ i386_w32_fallback_frame_state (struct _U - one of it's probes prior to the real SP adjustment. The only - operations of interest performed is "pushl %ecx", followed by - ecx clobbering. */ -- - else if (SIG_ALLOCA) - { - /* Only one push between entry in _alloca and the probe trap. */ -@@ -204,7 +195,8 @@ i386_w32_fallback_frame_state (struct _U - fs->retaddr_column = 8; - fs->regs.reg[8].how = REG_SAVED_OFFSET; - fs->regs.reg[8].loc.offset = 0; -- -+ fs->signal_frame = 1; -+ - return _URC_NO_REASON; - } - else diff --git a/gcc45-ada.diff b/gcc47-ada.patch index a048130..ad67a4a 100644 --- a/gcc45-ada.diff +++ b/gcc47-ada.patch @@ -1,7 +1,6 @@ -diff -pruN origsrc/gcc-4.5.0/gcc/ada/a-intnam-cygwin.ads src/gcc-4.5.0/gcc/ada/a-intnam-cygwin.ads ---- origsrc/gcc-4.5.0/gcc/ada/a-intnam-cygwin.ads 1970-01-01 00:00:00.000000000 +0000 -+++ src/gcc-4.5.0/gcc/ada/a-intnam-cygwin.ads 2010-04-19 06:08:12.000000000 +0100 -@@ -0,0 +1,168 @@ +--- origsrc/gcc-4.7.2/gcc/ada//a-intnam-cygwin.ads 1970-01-01 00:00:00.000000000 +0000 ++++ src/gcc-4.7.2/gcc/ada//a-intnam-cygwin.ads 2012-11-01 21:17:31.000000000 +0000 +@@ -0,0 +1,170 @@ +------------------------------------------------------------------------------ +-- -- +-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS -- @@ -10,25 +9,23 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/a-intnam-cygwin.ads src/gcc-4.5.0/gcc/ada/a +-- -- +-- S p e c -- +-- -- -+-- Copyright (C) 1991-2005, Free Software Foundation, Inc. -- ++-- Copyright (C) 1991-2011, Free Software Foundation, Inc. -- +-- -- +-- GNARL is free software; you can redistribute it and/or modify it under -- +-- terms of the GNU General Public License as published by the Free Soft- -- -+-- ware Foundation; either version 2, or (at your option) any later ver- -- -+-- sion. GNARL is distributed in the hope that it will be useful, but WITH- -- ++-- ware Foundation; either version 3, or (at your option) any later ver- -- ++-- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- +-- OUT 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 distributed with GNARL; see file COPYING. If not, write -- -+-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, -- -+-- Boston, MA 02110-1301, USA. -- ++-- or FITNESS FOR A PARTICULAR PURPOSE. -- +-- -- -+-- As a special exception, if other files instantiate generics from this -- -+-- unit, or you link this unit with other files to produce an executable, -- -+-- this unit does not by itself cause the resulting executable to be -- -+-- covered by the GNU General Public License. This exception does not -- -+-- however invalidate any other reasons why the executable file might be -- -+-- covered by the GNU Public License. -- ++-- As a special exception under Section 7 of GPL version 3, you are granted -- ++-- additional permissions described in the GCC Runtime Library Exception, -- ++-- version 3.1, as published by the Free Software Foundation. -- ++-- -- ++-- You should have received a copy of the GNU General Public License and -- ++-- a copy of the GCC Runtime Library Exception along with this program; -- ++-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- ++-- <http://www.gnu.org/licenses/>. -- +-- -- +-- GNARL was developed by the GNARL team at Florida State University. -- +-- Extensive contributions were provided by Ada Core Technologies, Inc. -- @@ -60,6 +57,10 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/a-intnam-cygwin.ads src/gcc-4.5.0/gcc/ada/a + +package Ada.Interrupts.Names is + ++ -- All identifiers in this unit are implementation defined ++ ++ pragma Implementation_Defined; ++ + -- Beware that the mapping of names to signals may be many-to-one. There + -- may be aliases. Also, for all signal names that are not supported on the + -- current system the value of the corresponding constant will be zero. @@ -170,210 +171,9 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/a-intnam-cygwin.ads src/gcc-4.5.0/gcc/ada/a + System.OS_Interface.SIGPWR; -- Power failure + +end Ada.Interrupts.Names; -diff -pruN origsrc/gcc-4.5.0/gcc/ada/g-soccon-cygwin.ads src/gcc-4.5.0/gcc/ada/g-soccon-cygwin.ads ---- origsrc/gcc-4.5.0/gcc/ada/g-soccon-cygwin.ads 1970-01-01 00:00:00.000000000 +0000 -+++ src/gcc-4.5.0/gcc/ada/g-soccon-cygwin.ads 2010-04-19 06:08:12.000000000 +0100 -@@ -0,0 +1,196 @@ -+------------------------------------------------------------------------------ -+-- -- -+-- GNAT COMPILER COMPONENTS -- -+-- -- -+-- G N A T . S O C K E T S . C O N S T A N T S -- -+-- -- -+-- S p e c -- -+-- -- -+-- Copyright (C) 2000-2007, Free Software Foundation, Inc. -- -+-- -- -+-- GNAT is free software; you can redistribute it and/or modify it under -- -+-- terms of the GNU General Public License as published by the Free Soft- -- -+-- ware Foundation; either version 2, or (at your option) any later ver- -- -+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- -+-- OUT 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 distributed with GNAT; see file COPYING. If not, write -- -+-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, -- -+-- Boston, MA 02110-1301, USA. -- -+-- -- -+-- As a special exception, if other files instantiate generics from this -- -+-- unit, or you link this unit with other files to produce an executable, -- -+-- this unit does not by itself cause the resulting executable to be -- -+-- covered by the GNU General Public License. This exception does not -- -+-- however invalidate any other reasons why the executable file might be -- -+-- covered by the GNU Public License. -- -+-- -- -+-- GNAT was originally developed by the GNAT team at New York University. -- -+-- Extensive contributions were provided by Ada Core Technologies Inc. -- -+-- -- -+------------------------------------------------------------------------------ -+ -+-- This package provides target dependent definitions of constant for use -+-- by the GNAT.Sockets package (g-socket.ads). This package should not be -+-- directly with'ed by an applications program. -+ -+-- This is the version for Cygwin -+-- This file is generated automatically, do not modify it by hand! Instead, -+-- make changes to gen-soccon.c and re-run it on each target. -+ -+package GNAT.Sockets.Constants is -+ -+ -------------- -+ -- Families -- -+ -------------- -+ -+ AF_INET : constant := 2; -- IPv4 address family -+ AF_INET6 : constant := 23; -- IPv6 address family -+ -+ ----------- -+ -- Modes -- -+ ----------- -+ -+ SOCK_STREAM : constant := 1; -- Stream socket -+ SOCK_DGRAM : constant := 2; -- Datagram socket -+ -+ ------------------- -+ -- Socket errors -- -+ ------------------- -+ -+ EACCES : constant := 13; -- Permission denied -+ EADDRINUSE : constant := 112; -- Address already in use -+ EADDRNOTAVAIL : constant := 125; -- Cannot assign address -+ EAFNOSUPPORT : constant := 106; -- Addr family not supported -+ EALREADY : constant := 120; -- Operation in progress -+ EBADF : constant := 9; -- Bad file descriptor -+ ECONNABORTED : constant := 113; -- Connection aborted -+ ECONNREFUSED : constant := 111; -- Connection refused -+ ECONNRESET : constant := 104; -- Connection reset by peer -+ EDESTADDRREQ : constant := 121; -- Destination addr required -+ EFAULT : constant := 14; -- Bad address -+ EHOSTDOWN : constant := 117; -- Host is down -+ EHOSTUNREACH : constant := 118; -- No route to host -+ EINPROGRESS : constant := 119; -- Operation now in progress -+ EINTR : constant := 4; -- Interrupted system call -+ EINVAL : constant := 22; -- Invalid argument -+ EIO : constant := 5; -- Input output error -+ EISCONN : constant := 127; -- Socket already connected -+ ELOOP : constant := 92; -- Too many symbolic lynks -+ EMFILE : constant := 24; -- Too many open files -+ EMSGSIZE : constant := 122; -- Message too long -+ ENAMETOOLONG : constant := 91; -- Name too long -+ ENETDOWN : constant := 115; -- Network is down -+ ENETRESET : constant := 126; -- Disconn. on network reset -+ ENETUNREACH : constant := 114; -- Network is unreachable -+ ENOBUFS : constant := 105; -- No buffer space available -+ ENOPROTOOPT : constant := 109; -- Protocol not available -+ ENOTCONN : constant := 128; -- Socket not connected -+ ENOTSOCK : constant := 108; -- Operation on non socket -+ EOPNOTSUPP : constant := 95; -- Operation not supported -+ EPFNOSUPPORT : constant := 96; -- Unknown protocol family -+ EPROTONOSUPPORT : constant := 123; -- Unknown protocol -+ EPROTOTYPE : constant := 107; -- Unknown protocol type -+ ESHUTDOWN : constant := 110; -- Cannot send once shutdown -+ ESOCKTNOSUPPORT : constant := 124; -- Socket type not supported -+ ETIMEDOUT : constant := 116; -- Connection timed out -+ ETOOMANYREFS : constant := 129; -- Too many references -+ EWOULDBLOCK : constant := 11; -- Operation would block -+ -+ ----------------- -+ -- Host errors -- -+ ----------------- -+ -+ HOST_NOT_FOUND : constant := 1; -- Unknown host -+ TRY_AGAIN : constant := 2; -- Host name lookup failure -+ NO_DATA : constant := 4; -- No data record for name -+ NO_RECOVERY : constant := 3; -- Non recoverable errors -+ -+ ------------------- -+ -- Control flags -- -+ ------------------- -+ -+ FIONBIO : constant := -2147195266; -- Set/clear non-blocking io -+ FIONREAD : constant := 1074030207; -- How many bytes to read -+ -+ -------------------- -+ -- Shutdown modes -- -+ -------------------- -+ -+ SHUT_RD : constant := 0; -- No more recv -+ SHUT_WR : constant := 1; -- No more send -+ SHUT_RDWR : constant := 2; -- No more recv/send -+ -+ --------------------- -+ -- Protocol levels -- -+ --------------------- -+ -+ SOL_SOCKET : constant := 65535; -- Options for socket level -+ IPPROTO_IP : constant := 0; -- Dummy protocol for IP -+ IPPROTO_UDP : constant := 17; -- UDP -+ IPPROTO_TCP : constant := 6; -- TCP -+ -+ ------------------- -+ -- Request flags -- -+ ------------------- -+ -+ MSG_OOB : constant := 1; -- Process out-of-band data -+ MSG_PEEK : constant := 2; -- Peek at incoming data -+ MSG_EOR : constant := -1; -- Send end of record -+ MSG_WAITALL : constant := 8; -- Wait for full reception -+ MSG_NOSIGNAL : constant := 32; -- No SIGPIPE on send -+ MSG_Forced_Flags : constant := 0; -+ -- Flags set on all send(2) calls -+ -+ -------------------- -+ -- Socket options -- -+ -------------------- -+ -+ TCP_NODELAY : constant := 1; -- Do not coalesce packets -+ SO_REUSEADDR : constant := 4; -- Bind reuse local address -+ SO_REUSEPORT : constant := -1; -- Bind reuse port number -+ SO_KEEPALIVE : constant := 8; -- Enable keep-alive msgs -+ SO_LINGER : constant := 128; -- Defer close to flush data -+ SO_BROADCAST : constant := 32; -- Can send broadcast msgs -+ SO_SNDBUF : constant := 4097; -- Set/get send buffer size -+ SO_RCVBUF : constant := 4098; -- Set/get recv buffer size -+ SO_SNDTIMEO : constant := 4101; -- Emission timeout -+ SO_RCVTIMEO : constant := 4102; -- Reception timeout -+ SO_ERROR : constant := 4103; -- Get/clear error status -+ IP_MULTICAST_IF : constant := 9; -- Set/get mcast interface -+ IP_MULTICAST_TTL : constant := 10; -- Set/get multicast TTL -+ IP_MULTICAST_LOOP : constant := 11; -- Set/get mcast loopback -+ IP_ADD_MEMBERSHIP : constant := 12; -- Join a multicast group -+ IP_DROP_MEMBERSHIP : constant := 13; -- Leave a multicast group -+ IP_PKTINFO : constant := 19; -- Get datagram info -+ -+ ------------------- -+ -- System limits -- -+ ------------------- -+ -+ IOV_MAX : constant := 1024; -- Maximum writev iovcnt -+ -+ ---------------------- -+ -- Type definitions -- -+ ---------------------- -+ -+ -- Sizes (in bytes) of the components of struct timeval -+ -+ SIZEOF_tv_sec : constant := 4; -- tv_sec -+ SIZEOF_tv_usec : constant := 4; -- tv_usec -+ -+ ---------------------------------------- -+ -- Properties of supported interfaces -- -+ ---------------------------------------- -+ -+ Need_Netdb_Buffer : constant := 0; -- Need buffer for Netdb ops -+ -+ ---------------------- -+ -- Additional flags -- -+ ---------------------- -+ -+ Thread_Blocking_IO : constant Boolean := True; -+ -- Set False for contexts where socket i/o are process blocking -+ -+end GNAT.Sockets.Constants; -diff -pruN origsrc/gcc-4.5.0/gcc/ada/gcc-interface/Makefile.in src/gcc-4.5.0/gcc/ada/gcc-interface/Makefile.in ---- origsrc/gcc-4.5.0/gcc/ada/gcc-interface/Makefile.in 2010-04-22 12:15:21.859375000 +0100 -+++ src/gcc-4.5.0/gcc/ada/gcc-interface/Makefile.in 2010-04-22 12:20:07.875000000 +0100 -@@ -186,6 +186,13 @@ TARGET_ADA_SRCS = +--- origsrc/gcc-4.7.2/gcc/ada//gcc-interface/Makefile.in 2012-11-02 15:16:49.765625000 +0000 ++++ src/gcc-4.7.2/gcc/ada//gcc-interface/Makefile.in 2012-11-01 21:17:31.000000000 +0000 +@@ -191,6 +191,13 @@ TARGET_ADA_SRCS = # Type of tools build we are doing; default is not compiling tools. TOOLSCASE = @@ -387,42 +187,49 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/gcc-interface/Makefile.in src/gcc-4.5.0/gcc # Multilib handling MULTISUBDIR = RTSDIR = rts$(subst /,_,$(MULTISUBDIR)) -@@ -1594,7 +1601,15 @@ ifeq ($(strip $(filter-out avr none powe - indepsw.adb<indepsw-gnu.adb +@@ -1583,6 +1590,12 @@ ifeq ($(strip $(filter-out avr none powe endif --ifeq ($(strip $(filter-out cygwin32% mingw32% pe,$(osys))),) -+ifeq ($(strip $(filter-out cygwin% mingw32% pe,$(osys))),) -+ + ifeq ($(strip $(filter-out cygwin% mingw32% pe,$(osys))),) + # Set target pair suffix for mingw or cygwin + W32_TARG=mingw + ifneq ($(strip $(filter cygwin%,$(osys))),) + W32_TARG=cygwin + LIBGNAT_SHARED_LIB_PREFIX=cyg + endif -+ - LIBGNAT_TARGET_PAIRS = \ - a-dirval.adb<a-dirval-mingw.adb \ - a-excpol.adb<a-excpol-abort.adb \ -@@ -1607,8 +1622,6 @@ ifeq ($(strip $(filter-out cygwin32% min - s-tasinf.adb<s-tasinf-mingw.adb \ - s-tasinf.ads<s-tasinf-mingw.ads \ - g-bytswa.adb<g-bytswa-x86.adb \ -- g-socthi.ads<g-socthi-mingw.ads \ -- g-socthi.adb<g-socthi-mingw.adb \ - g-stsifd.adb<g-stsifd-sockets.adb \ - g-soliop.ads<g-soliop-mingw.ads - -@@ -1659,7 +1672,7 @@ - system.ads<system-mingw-x86_64.ads + # Cygwin provides a full Posix environment, and so we use the default + # versions of s-memory and g-socthi rather than the Windows-specific + # MinGW versions. Ideally we would use all the default versions for +@@ -1651,24 +1664,24 @@ ifeq ($(strip $(filter-out cygwin% mingw + ifeq ($(strip $(MULTISUBDIR)),/32) + LIBGNAT_TARGET_PAIRS += \ + $(X86_TARGET_PAIRS) \ +- system.ads<system-mingw.ads ++ system.ads<system-$(W32_TARG).ads + SO_OPTS= -m32 -Wl,-soname, else LIBGNAT_TARGET_PAIRS += \ + $(X86_64_TARGET_PAIRS) \ +- system.ads<system-mingw-x86_64.ads ++ system.ads<system-$(W32_TARG)-x86_64.ads + SO_OPTS = -m64 -Wl,-soname, + endif + else + ifeq ($(strip $(MULTISUBDIR)),/64) + LIBGNAT_TARGET_PAIRS += \ + $(X86_64_TARGET_PAIRS) \ +- system.ads<system-mingw-x86_64.ads ++ system.ads<system-$(W32_TARG)-x86_64.ads + SO_OPTS = -m64 -Wl,-soname, + else + LIBGNAT_TARGET_PAIRS += \ + $(X86_TARGET_PAIRS) \ - system.ads<system-mingw.ads + system.ads<system-$(W32_TARG).ads + SO_OPTS = -m32 -Wl,-soname, endif endif - -@@ -1667,7 +1680,17 @@ +@@ -1677,7 +1690,14 @@ ifeq ($(strip $(filter-out cygwin% mingw s-win32.o s-winext.o g-regist.o g-sse.o g-ssvety.o EXTRA_GNATRTL_TASKING_OBJS = a-exetim.o @@ -433,28 +240,26 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/gcc-interface/Makefile.in src/gcc-4.5.0/gcc + + # Mingw uses winsock-based sockets; cygwin uses POSIX sockets. + ifneq ($(strip $(filter-out cygwin%,$(osys))),) -+ LIBGNAT_TARGET_PAIRS += \ -+ g-socthi.ads<g-socthi-mingw.ads \ -+ g-socthi.adb<g-socthi-mingw.adb + MISCLIB = -lwsock32 + endif # ??? This will be replaced by gnatlib-shared-dual-win32 when GNAT # auto-import support for array/record will be done. -@@ -1665,10 +1688,11 @@ ifeq ($(strip $(filter-out cygwin32% min +@@ -1687,10 +1707,11 @@ ifeq ($(strip $(filter-out cygwin% mingw endif TOOLS_TARGET_PAIRS= \ - mlib-tgt-specific.adb<mlib-tgt-specific-mingw.adb \ +- indepsw.adb<indepsw-mingw.adb + mlib-tgt-specific.adb<mlib-tgt-specific-$(W32_TARG).adb \ - indepsw.adb<indepsw-mingw.adb ++ indepsw.adb<indepsw-$(W32_TARG).adb GMEM_LIB = gmemlib + EH_MECHANISM=-gcc EXTRA_GNATTOOLS = ../../gnatdll$(exeext) EXTRA_GNATMAKE_OBJS = mdll.o mdll-utl.o mdll-fil.o soext = .dll -@@ -2333,7 +2357,7 @@ gnatlink-re: link.o targext.o +@@ -2425,7 +2446,7 @@ gnatlink-re: ../stamp-tools link.o targe true; \ fi @@ -463,7 +268,7 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/gcc-interface/Makefile.in src/gcc-4.5.0/gcc # Create the directory before deleting it, in case the directory is # a list of directories (as it may be on VMS). This ensures we are # deleting the right one. -@@ -2381,6 +2405,46 @@ install-gnatlib: ../stamp-gnatlib-$(RTSD +@@ -2472,6 +2493,46 @@ install-gnatlib: ../stamp-gnatlib-$(RTSD cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.adb cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.ads @@ -510,19 +315,23 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/gcc-interface/Makefile.in src/gcc-4.5.0/gcc ../stamp-gnatlib2-$(RTSDIR): $(RM) $(RTSDIR)/s-*.ali $(RM) $(RTSDIR)/s-*$(objext) -@@ -2545,16 +2611,16 @@ gnatlib-shared-win32: +@@ -2672,20 +2733,20 @@ gnatlib-shared-win32: MULTISUBDIR="$(MULTISUBDIR)" \ THREAD_KIND="$(THREAD_KIND)" \ gnatlib - $(RM) $(RTSDIR)/libgna*$(soext) + $(RM) $(RTSDIR)/$(LIBGNAT_SHARED_LIB_PREFIX)gna*$(soext) - cd $(RTSDIR); ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \ + cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \ + | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared -shared-libgcc \ + $(PICFLAG_FOR_TARGET) \ - -o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ + -o $(LIBGNAT_SHARED_LIB_PREFIX)gnat$(hyphen)$(LIBRARY_VERSION)$(soext) \ $(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \ - $(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) $(MISCLIB) + $(SO_OPTS)$(LIBGNAT_SHARED_LIB_PREFIX)gnat$(hyphen)$(LIBRARY_VERSION)$(soext) $(MISCLIB) - cd $(RTSDIR); ../../xgcc -B../../ -shared $(TARGET_LIBGCC2_CFLAGS) \ + cd $(RTSDIR); `echo "$(GCC_FOR_TARGET)" \ + | sed -e 's,\./xgcc,../../xgcc,' -e 's,-B\./,-B../../,'` -shared -shared-libgcc \ + $(PICFLAG_FOR_TARGET) \ - -o libgnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ + -o $(LIBGNAT_SHARED_LIB_PREFIX)gnarl$(hyphen)$(LIBRARY_VERSION)$(soext) \ $(GNATRTL_TASKING_OBJS) \ @@ -533,22 +342,21 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/gcc-interface/Makefile.in src/gcc-4.5.0/gcc gnatlib-shared-darwin: $(MAKE) $(FLAGS_TO_PASS) \ -diff -pruN origsrc/gcc-4.5.0/gcc/ada/gsocket.h src/gcc-4.5.0/gcc/ada/gsocket.h ---- origsrc/gcc-4.5.0/gcc/ada/gsocket.h 2010-04-22 12:15:21.890625000 +0100 -+++ src/gcc-4.5.0/gcc/ada/gsocket.h 2010-04-22 12:16:07.312500000 +0100 -@@ -217,7 +217,7 @@ - * VxWorks and VMS). - */ +--- origsrc/gcc-4.7.2/gcc/ada//gsocket.h 2012-11-02 15:16:49.781250000 +0000 ++++ src/gcc-4.7.2/gcc/ada//gsocket.h 2012-11-01 21:17:31.000000000 +0000 +@@ -204,7 +204,8 @@ + #endif --#if defined (_AIX) || defined (__FreeBSD__) || defined (__hpux__) || defined (__osf__) || defined (_WIN32) || defined (__APPLE__) -+#if defined (_AIX) || defined (__FreeBSD__) || defined (__hpux__) || defined (__osf__) || defined (__CYGWIN__) || defined (_WIN32) || defined (__APPLE__) + #if defined (_AIX) || defined (__FreeBSD__) || defined (__hpux__) || \ +- defined (__osf__) || defined (_WIN32) || defined (__APPLE__) ++ defined (__osf__) || defined (_WIN32) || defined (__APPLE__) || \ ++ defined (__CYGWIN__) # define HAVE_THREAD_SAFE_GETxxxBYyyy 1 - #elif defined (sgi) || defined (linux) || defined (__GLIBC__) || (defined (sun) && defined (__SVR4) && !defined (__vxworks)) || defined(__rtems__) - # define HAVE_GETxxxBYyyy_R 1 -diff -pruN origsrc/gcc-4.5.0/gcc/ada/indepsw-cygwin.adb src/gcc-4.5.0/gcc/ada/indepsw-cygwin.adb ---- origsrc/gcc-4.5.0/gcc/ada/indepsw-cygwin.adb 1970-01-01 00:00:00.000000000 +0000 -+++ src/gcc-4.5.0/gcc/ada/indepsw-cygwin.adb 2010-04-19 06:08:12.000000000 +0100 -@@ -0,0 +1,69 @@ + + #elif defined (sgi) || defined (linux) || defined (__GLIBC__) || \ +--- origsrc/gcc-4.7.2/gcc/ada//indepsw-cygwin.adb 1970-01-01 00:00:00.000000000 +0000 ++++ src/gcc-4.7.2/gcc/ada//indepsw-cygwin.adb 2012-11-01 21:17:31.000000000 +0000 +@@ -0,0 +1,67 @@ +------------------------------------------------------------------------------ +-- -- +-- GNAT COMPILER COMPONENTS -- @@ -558,25 +366,23 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/indepsw-cygwin.adb src/gcc-4.5.0/gcc/ada/in +-- B o d y -- +-- (Windows version) -- +-- -- -+-- Copyright (C) 2004 Free Software Foundation, Inc. -- ++-- Copyright (C) 2009 Free Software Foundation, Inc. -- +-- -- +-- GNAT is free software; you can redistribute it and/or modify it under -- +-- terms of the GNU General Public License as published by the Free Soft- -- -+-- ware Foundation; either version 2, or (at your option) any later ver- -- ++-- ware Foundation; either version 3, or (at your option) any later ver- -- +-- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- +-- OUT 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 distributed with GNAT; see file COPYING. If not, write -- -+-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, -- -+-- Boston, MA 02110-1301, USA. -- ++-- or FITNESS FOR A PARTICULAR PURPOSE. -- +-- -- -+-- As a special exception, if other files instantiate generics from this -- -+-- unit, or you link this unit with other files to produce an executable, -- -+-- this unit does not by itself cause the resulting executable to be -- -+-- covered by the GNU General Public License. This exception does not -- -+-- however invalidate any other reasons why the executable file might be -- -+-- covered by the GNU Public License. -- ++-- As a special exception under Section 7 of GPL version 3, you are granted -- ++-- additional permissions described in the GCC Runtime Library Exception, -- ++-- version 3.1, as published by the Free Software Foundation. -- ++-- -- ++-- You should have received a copy of the GNU General Public License and -- ++-- a copy of the GCC Runtime Library Exception along with this program; -- ++-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- ++-- <http://www.gnu.org/licenses/>. -- +-- -- +-- GNAT was originally developed by the GNAT team at New York University. -- +-- Extensive contributions were provided by Ada Core Technologies Inc. -- @@ -618,9 +424,8 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/indepsw-cygwin.adb src/gcc-4.5.0/gcc/ada/in + end Is_Supported; + +end Indepsw; -diff -pruN origsrc/gcc-4.5.0/gcc/ada/initialize.c src/gcc-4.5.0/gcc/ada/initialize.c ---- origsrc/gcc-4.5.0/gcc/ada/initialize.c 2010-04-22 12:15:21.921875000 +0100 -+++ src/gcc-4.5.0/gcc/ada/initialize.c 2010-04-19 06:08:12.000000000 +0100 +--- origsrc/gcc-4.7.2/gcc/ada//initialize.c 2012-11-02 15:16:50.031250000 +0000 ++++ src/gcc-4.7.2/gcc/ada//initialize.c 2012-11-01 21:17:31.000000000 +0000 @@ -348,6 +348,40 @@ __gnat_initialize (void *eh ATTRIBUTE_UN __main (); } @@ -662,10 +467,9 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/initialize.c src/gcc-4.5.0/gcc/ada/initiali #else /* For all other versions of GNAT, the initialize routine and handler -diff -pruN origsrc/gcc-4.5.0/gcc/ada/mlib-tgt-cygwin.adb src/gcc-4.5.0/gcc/ada/mlib-tgt-cygwin.adb ---- origsrc/gcc-4.5.0/gcc/ada/mlib-tgt-cygwin.adb 1970-01-01 00:00:00.000000000 +0000 -+++ src/gcc-4.5.0/gcc/ada/mlib-tgt-cygwin.adb 2010-04-19 06:08:12.000000000 +0100 -@@ -0,0 +1,160 @@ +--- origsrc/gcc-4.7.2/gcc/ada//mlib-tgt-specific-cygwin.adb 1970-01-01 00:00:00.000000000 +0000 ++++ src/gcc-4.7.2/gcc/ada//mlib-tgt-specific-cygwin.adb 2012-11-01 21:17:31.000000000 +0000 +@@ -0,0 +1,162 @@ +------------------------------------------------------------------------------ +-- -- +-- GNAT COMPILER COMPONENTS -- @@ -675,7 +479,7 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/mlib-tgt-cygwin.adb src/gcc-4.5.0/gcc/ada/m +-- -- +-- B o d y -- +-- -- -+-- Copyright (C) 2002-2009, Free Software Foundation, Inc. -- ++-- Copyright (C) 2002-2010, Free Software Foundation, Inc. -- +-- -- +-- GNAT is free software; you can redistribute it and/or modify it under -- +-- terms of the GNU General Public License as published by the Free Soft- -- @@ -729,8 +533,10 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/mlib-tgt-cygwin.adb src/gcc-4.5.0/gcc/ada/m + + function PIC_Option return String; + -+ No_Argument_List : constant String_List := (1 .. 0 => null); -+ -- Used as value of parameter Options or Options2 in calls to Gcc ++ Shared_Libgcc : aliased String := "-shared-libgcc"; ++ ++ Shared_Libgcc_Switch : constant Argument_List := ++ (1 => Shared_Libgcc'Access); + + --------------------------- + -- Build_Dynamic_Library -- @@ -767,7 +573,7 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/mlib-tgt-cygwin.adb src/gcc-4.5.0/gcc/ada/m + Tools.Gcc + (Output_File => Lib_File, + Objects => Ofiles, -+ Options => No_Argument_List, ++ Options => Shared_Libgcc_Switch, + Options_2 => Options, + Driver_Name => Driver_Name); + end Build_Dynamic_Library; @@ -826,10 +632,9 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/mlib-tgt-cygwin.adb src/gcc-4.5.0/gcc/ada/m + Library_Major_Minor_Id_Supported_Ptr := + Library_Major_Minor_Id_Supported'Access; +end MLib.Tgt.Specific; -diff -pruN origsrc/gcc-4.5.0/gcc/ada/s-gloloc-cygwin.adb src/gcc-4.5.0/gcc/ada/s-gloloc-cygwin.adb ---- origsrc/gcc-4.5.0/gcc/ada/s-gloloc-cygwin.adb 1970-01-01 00:00:00.000000000 +0000 -+++ src/gcc-4.5.0/gcc/ada/s-gloloc-cygwin.adb 2010-04-19 06:08:12.000000000 +0100 -@@ -0,0 +1,113 @@ +--- origsrc/gcc-4.7.2/gcc/ada//s-gloloc-cygwin.adb 1970-01-01 00:00:00.000000000 +0000 ++++ src/gcc-4.7.2/gcc/ada//s-gloloc-cygwin.adb 2012-11-01 21:17:31.000000000 +0000 +@@ -0,0 +1,107 @@ +------------------------------------------------------------------------------ +-- -- +-- GNAT COMPILER COMPONENTS -- @@ -838,25 +643,23 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/s-gloloc-cygwin.adb src/gcc-4.5.0/gcc/ada/s +-- -- +-- B o d y -- +-- -- -+-- Copyright (C) 1999-2007, AdaCore -- ++-- Copyright (C) 1999-2010, AdaCore -- +-- -- +-- GNAT is free software; you can redistribute it and/or modify it under -- +-- terms of the GNU General Public License as published by the Free Soft- -- -+-- ware Foundation; either version 2, or (at your option) any later ver- -- ++-- ware Foundation; either version 3, or (at your option) any later ver- -- +-- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- +-- OUT 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 distributed with GNAT; see file COPYING. If not, write -- -+-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, -- -+-- Boston, MA 02110-1301, USA. -- ++-- or FITNESS FOR A PARTICULAR PURPOSE. -- +-- -- -+-- As a special exception, if other files instantiate generics from this -- -+-- unit, or you link this unit with other files to produce an executable, -- -+-- this unit does not by itself cause the resulting executable to be -- -+-- covered by the GNU General Public License. This exception does not -- -+-- however invalidate any other reasons why the executable file might be -- -+-- covered by the GNU Public License. -- ++-- As a special exception under Section 7 of GPL version 3, you are granted -- ++-- additional permissions described in the GCC Runtime Library Exception, -- ++-- version 3.1, as published by the Free Software Foundation. -- ++-- -- ++-- You should have received a copy of the GNU General Public License and -- ++-- a copy of the GCC Runtime Library Exception along with this program; -- ++-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- ++-- <http://www.gnu.org/licenses/>. -- +-- -- +-- GNAT was originally developed by the GNAT team at New York University. -- +-- Extensive contributions were provided by Ada Core Technologies Inc. -- @@ -865,10 +668,11 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/s-gloloc-cygwin.adb src/gcc-4.5.0/gcc/ada/s + +-- This implementation is specific to NT + ++with System.OS_Interface; +with System.Task_Lock; ++with System.Win32; + +with Interfaces.C.Strings; -+with System.OS_Interface; + +package body System.Global_Locks is + @@ -876,7 +680,7 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/s-gloloc-cygwin.adb src/gcc-4.5.0/gcc/ada/s + package OSI renames System.OS_Interface; + package ICS renames Interfaces.C.Strings; + -+ subtype Lock_File_Entry is OSI.HANDLE; ++ subtype Lock_File_Entry is Win32.HANDLE; + + Last_Lock : Lock_Type := Null_Lock; + Lock_Table : array (Lock_Type range 1 .. 15) of Lock_File_Entry; @@ -885,10 +689,7 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/s-gloloc-cygwin.adb src/gcc-4.5.0/gcc/ada/s + -- Create_Lock -- + ----------------- + -+ procedure Create_Lock -+ (Lock : out Lock_Type; -+ Name : String) -+ is ++ procedure Create_Lock (Lock : out Lock_Type; Name : String) is + L : Lock_Type; + + begin @@ -902,7 +703,7 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/s-gloloc-cygwin.adb src/gcc-4.5.0/gcc/ada/s + end if; + + Lock_Table (L) := -+ OSI.CreateMutex (null, OSI.BOOL (False), ICS.New_String (Name)); ++ OSI.CreateMutex (null, Win32.FALSE, ICS.New_String (Name)); + Lock := L; + end Create_Lock; + @@ -910,12 +711,11 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/s-gloloc-cygwin.adb src/gcc-4.5.0/gcc/ada/s + -- Acquire_Lock -- + ------------------ + -+ procedure Acquire_Lock -+ (Lock : in out Lock_Type) -+ is -+ use type OSI.DWORD; ++ procedure Acquire_Lock (Lock : in out Lock_Type) is ++ use type Win32.DWORD; ++ ++ Res : Win32.DWORD; + -+ Res : OSI.DWORD; + begin + Res := OSI.WaitForSingleObject (Lock_Table (Lock), OSI.Wait_Infinite); + @@ -928,25 +728,23 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/s-gloloc-cygwin.adb src/gcc-4.5.0/gcc/ada/s + -- Release_Lock -- + ------------------ + -+ procedure Release_Lock -+ (Lock : in out Lock_Type) -+ is -+ use type OSI.BOOL; ++ procedure Release_Lock (Lock : in out Lock_Type) is ++ use type Win32.BOOL; ++ ++ Res : Win32.BOOL; + -+ Res : OSI.BOOL; + begin + Res := OSI.ReleaseMutex (Lock_Table (Lock)); + -+ if Res = OSI.False then ++ if Res = Win32.FALSE then + raise Lock_Error; + end if; + end Release_Lock; + +end System.Global_Locks; -diff -pruN origsrc/gcc-4.5.0/gcc/ada/s-osinte-cygwin.ads src/gcc-4.5.0/gcc/ada/s-osinte-cygwin.ads ---- origsrc/gcc-4.5.0/gcc/ada/s-osinte-cygwin.ads 1970-01-01 00:00:00.000000000 +0000 -+++ src/gcc-4.5.0/gcc/ada/s-osinte-cygwin.ads 2010-04-19 06:08:12.000000000 +0100 -@@ -0,0 +1,952 @@ +--- origsrc/gcc-4.7.2/gcc/ada//s-osinte-cygwin.ads 1970-01-01 00:00:00.000000000 +0000 ++++ src/gcc-4.7.2/gcc/ada//s-osinte-cygwin.ads 2012-11-01 21:17:31.000000000 +0000 +@@ -0,0 +1,951 @@ +------------------------------------------------------------------------------ +-- -- +-- GNAT RUN-TIME LIBRARY (GNARL) COMPONENTS -- @@ -956,28 +754,26 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/s-osinte-cygwin.ads src/gcc-4.5.0/gcc/ada/s +-- S p e c -- +-- -- +-- Copyright (C) 1991-1994, Florida State University -- -+-- Copyright (C) 1995-2007, Free Software Foundation, Inc. -- ++-- Copyright (C) 1995-2010, Free Software Foundation, Inc. -- +-- -- -+-- GNARL is free software; you can redistribute it and/or modify it under -- ++-- GNAT is free software; you can redistribute it and/or modify it under -- +-- terms of the GNU General Public License as published by the Free Soft- -- -+-- ware Foundation; either version 2, or (at your option) any later ver- -- -+-- sion. GNARL is distributed in the hope that it will be useful, but WITH- -- ++-- ware Foundation; either version 3, or (at your option) any later ver- -- ++-- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- +-- OUT 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 distributed with GNARL; see file COPYING. If not, write -- -+-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, -- -+-- Boston, MA 02110-1301, USA. -- ++-- or FITNESS FOR A PARTICULAR PURPOSE. -- +-- -- -+-- As a special exception, if other files instantiate generics from this -- -+-- unit, or you link this unit with other files to produce an executable, -- -+-- this unit does not by itself cause the resulting executable to be -- -+-- covered by the GNU General Public License. This exception does not -- -+-- however invalidate any other reasons why the executable file might be -- -+-- covered by the GNU Public License. -- ++-- As a special exception under Section 7 of GPL version 3, you are granted -- ++-- additional permissions described in the GCC Runtime Library Exception, -- ++-- version 3.1, as published by the Free Software Foundation. -- ++-- -- ++-- You should have received a copy of the GNU General Public License and -- ++-- a copy of the GCC Runtime Library Exception along with this program; -- ++-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- ++-- <http://www.gnu.org/licenses/>. -- +-- -- +-- GNARL was developed by the GNARL team at Florida State University. -- -+-- Extensive contributions were provided by Ada Core Technologies, Inc. -- ++-- Extensive contributions were provided by Ada Core Technologies Inc. -- +-- -- +------------------------------------------------------------------------------ + @@ -1074,7 +870,7 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/s-osinte-cygwin.ads src/gcc-4.5.0/gcc/ada/s + + type Signal_Set is array (Natural range <>) of Signal; + -+ Unmasked : constant Signal_Set := ( ++ Unmasked : constant Signal_Set := ( + SIGTRAP, + -- To enable debugging on multithreaded applications, mark SIGTRAP to + -- be kept unmasked. @@ -1128,12 +924,13 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/s-osinte-cygwin.ads src/gcc-4.5.0/gcc/ada/s + pragma Convention (C, siginfo_t); + + type struct_sigaction is record -+ sa_handler : System.Address; -+ sa_mask : sigset_t; -+ sa_flags : unsigned_long; -+ sa_restorer : System.Address; ++ sa_handler : System.Address; ++ sa_mask : sigset_t; ++ sa_flags : unsigned_long; ++ sa_restorer : System.Address; + end record; + pragma Convention (C, struct_sigaction); ++ + type struct_sigaction_ptr is access all struct_sigaction; + + type Machine_State is record @@ -1228,17 +1025,17 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/s-osinte-cygwin.ads src/gcc-4.5.0/gcc/ada/s + Ada.Unchecked_Conversion (System.Address, Thread_Body); + + type pthread_t is new unsigned_long; -+ subtype Thread_Id is pthread_t; ++ subtype Thread_Id is pthread_t; + -+ function To_pthread_t is new Ada.Unchecked_Conversion -+ (unsigned_long, pthread_t); ++ function To_pthread_t is ++ new Ada.Unchecked_Conversion (unsigned_long, pthread_t); + -+ type pthread_mutex_t is limited private; -+ type pthread_cond_t is limited private; -+ type pthread_attr_t is limited private; -+ type pthread_mutexattr_t is limited private; -+ type pthread_condattr_t is limited private; -+ type pthread_key_t is private; ++ type pthread_mutex_t is limited private; ++ type pthread_cond_t is limited private; ++ type pthread_attr_t is limited private; ++ type pthread_mutexattr_t is limited private; ++ type pthread_condattr_t is limited private; ++ type pthread_key_t is private; + + PTHREAD_CREATE_DETACHED : constant := 1; + @@ -1899,10 +1696,9 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/s-osinte-cygwin.ads src/gcc-4.5.0/gcc/ada/s + end record; + +end System.OS_Interface; -diff -pruN origsrc/gcc-4.5.0/gcc/ada/s-taprop-cygwin.adb src/gcc-4.5.0/gcc/ada/s-taprop-cygwin.adb ---- origsrc/gcc-4.5.0/gcc/ada/s-taprop-cygwin.adb 1970-01-01 00:00:00.000000000 +0000 -+++ src/gcc-4.5.0/gcc/ada/s-taprop-cygwin.adb 2010-04-19 06:08:12.000000000 +0100 -@@ -0,0 +1,1339 @@ +--- origsrc/gcc-4.7.2/gcc/ada//s-taprop-cygwin.adb 1970-01-01 00:00:00.000000000 +0000 ++++ src/gcc-4.7.2/gcc/ada//s-taprop-cygwin.adb 2012-11-01 21:17:31.000000000 +0000 +@@ -0,0 +1,1337 @@ +------------------------------------------------------------------------------ +-- -- +-- GNU ADA RUN-TIME LIBRARY (GNARL) COMPONENTS -- @@ -1911,25 +1707,23 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/s-taprop-cygwin.adb src/gcc-4.5.0/gcc/ada/s +-- -- +-- B o d y -- +-- -- -+-- Copyright (C) 1992-2007, Free Software Foundation, Inc. -- ++-- Copyright (C) 1992-2011, Free Software Foundation, Inc. -- +-- -- +-- GNARL is free software; you can redistribute it and/or modify it under -- +-- terms of the GNU General Public License as published by the Free Soft- -- -+-- ware Foundation; either version 2, or (at your option) any later ver- -- -+-- sion. GNARL is distributed in the hope that it will be useful, but WITH- -- ++-- ware Foundation; either version 3, or (at your option) any later ver- -- ++-- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- +-- OUT 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 distributed with GNARL; see file COPYING. If not, write -- -+-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, -- -+-- Boston, MA 02110-1301, USA. -- ++-- or FITNESS FOR A PARTICULAR PURPOSE. -- +-- -- -+-- As a special exception, if other files instantiate generics from this -- -+-- unit, or you link this unit with other files to produce an executable, -- -+-- this unit does not by itself cause the resulting executable to be -- -+-- covered by the GNU General Public License. This exception does not -- -+-- however invalidate any other reasons why the executable file might be -- -+-- covered by the GNU Public License. -- ++-- As a special exception under Section 7 of GPL version 3, you are granted -- ++-- additional permissions described in the GCC Runtime Library Exception, -- ++-- version 3.1, as published by the Free Software Foundation. -- ++-- -- ++-- You should have received a copy of the GNU General Public License and -- ++-- a copy of the GCC Runtime Library Exception along with this program; -- ++-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- ++-- <http://www.gnu.org/licenses/>. -- +-- -- +-- GNARL was developed by the GNARL team at Florida State University. -- +-- Extensive contributions were provided by Ada Core Technologies, Inc. -- @@ -3242,63 +3036,39 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/s-taprop-cygwin.adb src/gcc-4.5.0/gcc/ada/s + end Initialize; + +end System.Task_Primitives.Operations; -diff -pruN origsrc/gcc-4.5.0/gcc/ada/sysdep.c src/gcc-4.5.0/gcc/ada/sysdep.c ---- origsrc/gcc-4.5.0/gcc/ada/sysdep.c 2010-04-22 12:15:22.093750000 +0100 -+++ src/gcc-4.5.0/gcc/ada/sysdep.c 2010-04-19 06:08:12.000000000 +0100 -@@ -405,7 +405,7 @@ getc_immediate_common (FILE *stream, +--- origsrc/gcc-4.7.2/gcc/ada//sysdep.c 2012-11-02 15:16:50.062500000 +0000 ++++ src/gcc-4.7.2/gcc/ada//sysdep.c 2012-11-02 15:50:59.968750000 +0000 +@@ -311,7 +311,7 @@ getc_immediate_common (FILE *stream, { - #if defined (linux) || defined (sun) || defined (sgi) || defined (__EMX__) \ + #if defined (linux) || defined (sun) || defined (sgi) \ || (defined (__osf__) && ! defined (__alpha_vxworks)) \ - || defined (__CYGWIN32__) || defined (__MACHTEN__) || defined (__hpux__) \ + || defined (__CYGWIN__) || defined (__MACHTEN__) || defined (__hpux__) \ || defined (_AIX) || (defined (__svr4__) && defined (i386)) \ || defined (__Lynx__) || defined (__FreeBSD__) || defined (__OpenBSD__) \ || defined (__GLIBC__) || defined (__APPLE__) -@@ -694,6 +694,40 @@ rts_get_nShowCmd (void) +@@ -592,6 +592,18 @@ rts_get_nShowCmd (void) } #endif /* WINNT */ + +#ifdef __CYGWIN__ + ++#include <malloc.h> ++ +size_t _msize(void *memblock) +{ + return (size_t) malloc_usable_size (memblock); +} + -+#include <windows.h> -+ -+int -+__gnat_is_windows_xp (void) -+{ -+ static int is_win_xp=0, is_win_xp_checked=0; -+ -+ if (!is_win_xp_checked) -+ { -+ OSVERSIONINFO version; -+ -+ is_win_xp_checked = 1; -+ -+ memset (&version, 0, sizeof (version)); -+ version.dwOSVersionInfoSize = sizeof (version); -+ -+ is_win_xp = GetVersionEx (&version) -+ && version.dwPlatformId == VER_PLATFORM_WIN32_NT -+ && (version.dwMajorVersion > 5 -+ || (version.dwMajorVersion == 5 && version.dwMinorVersion >= 1)); -+ } -+ return is_win_xp; -+} -+ +#endif /* __CYGWIN__ */ + #ifdef VMS /* This gets around a problem with using the old threads library on VMS 7.0. */ -diff -pruN origsrc/gcc-4.5.0/gcc/ada/system-cygwin.ads src/gcc-4.5.0/gcc/ada/system-cygwin.ads ---- origsrc/gcc-4.5.0/gcc/ada/system-cygwin.ads 1970-01-01 00:00:00.000000000 +0000 -+++ src/gcc-4.5.0/gcc/ada/system-cygwin.ads 2010-04-19 06:08:12.000000000 +0100 -@@ -0,0 +1,199 @@ +--- origsrc/gcc-4.7.2/gcc/ada//system-cygwin.ads 1970-01-01 00:00:00.000000000 +0000 ++++ src/gcc-4.7.2/gcc/ada//system-cygwin.ads 2012-11-01 21:17:31.000000000 +0000 +@@ -0,0 +1,198 @@ +------------------------------------------------------------------------------ +-- -- +-- GNAT RUN-TIME COMPONENTS -- @@ -3443,7 +3213,6 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/system-cygwin.ads src/gcc-4.5.0/gcc/ada/sys + Suppress_Standard_Library : constant Boolean := False; + Use_Ada_Main_Program_Name : constant Boolean := False; + ZCX_By_Default : constant Boolean := True; -+ GCC_ZCX_Support : constant Boolean := True; + + --------------------------- + -- Underlying Priorities -- @@ -3498,15 +3267,3 @@ diff -pruN origsrc/gcc-4.5.0/gcc/ada/system-cygwin.ads src/gcc-4.5.0/gcc/ada/sys + -- System.Task_Primitives.Operations. + +end System; -diff -pruN origsrc/gcc-4.5.0/gcc/ada/system-mingw.ads src/gcc-4.5.0/gcc/ada/system-mingw.ads ---- origsrc/gcc-4.5.0/gcc/ada/system-mingw.ads 2010-04-22 12:15:22.140625000 +0100 -+++ src/gcc-4.5.0/gcc/ada/system-mingw.ads 2010-04-19 06:08:12.000000000 +0100 -@@ -139,7 +139,7 @@ private - Always_Compatible_Rep : constant Boolean := False; - Suppress_Standard_Library : constant Boolean := False; - Use_Ada_Main_Program_Name : constant Boolean := False; -- ZCX_By_Default : constant Boolean := False; -+ ZCX_By_Default : constant Boolean := True; - GCC_ZCX_Support : constant Boolean := True; - - --------------------------- diff --git a/gcc47-boehm-gc-cygwin.patch b/gcc47-boehm-gc-cygwin.patch new file mode 100644 index 0000000..49f9ee0 --- /dev/null +++ b/gcc47-boehm-gc-cygwin.patch @@ -0,0 +1,57 @@ +--- origsrc/gcc-4.7.2/boehm-gc/win32_threads.c 2009-05-17 21:07:18.000000000 +0100 ++++ src/gcc-4.7.2/boehm-gc/win32_threads.c 2013-03-31 19:34:57.203125000 +0100 +@@ -707,6 +707,54 @@ void * GC_start_routine(void * arg) + return(result); + } + ++void GC_register_my_thread() ++{ ++ GC_thread me; ++ pthread_t my_pthread; ++ ++ my_pthread = pthread_self(); ++# if DEBUG_CYGWIN_THREADS ++ GC_printf1("Attaching thread 0x%lx\n", my_pthread); ++ GC_printf1("pid = %ld\n", (long) getpid()); ++# endif ++ ++ /* Check to ensure this thread isn't attached already. */ ++ LOCK(); ++ me = GC_lookup_thread (my_pthread); ++ UNLOCK(); ++ if (me != 0) ++ { ++# if DEBUG_CYGWIN_THREADS ++ GC_printf1("Attempt to re-attach known thread 0x%lx\n", my_pthread); ++# endif ++ return; ++ } ++ ++ LOCK(); ++ me = GC_new_thread(); ++ me -> flags |= DETACHED; ++ me -> pthread_id = pthread_self(); ++ UNLOCK(); ++} ++ ++void GC_unregister_my_thread() ++{ ++ pthread_t my_pthread; ++ GC_thread me; ++ ++ my_pthread = pthread_self(); ++ ++# if DEBUG_CYGWIN_THREADS ++ GC_printf1("Detaching thread 0x%lx\n", my_pthread); ++# endif ++ ++ LOCK(); ++ me = GC_lookup_thread(my_pthread); ++ UNLOCK(); ++ GC_thread_exit_proc ((void *)me); ++} ++ ++ + void GC_thread_exit_proc(void *arg) + { + GC_thread me = (GC_thread)arg; diff --git a/gcc47-cross-ecjx.patch b/gcc47-cross-ecjx.patch new file mode 100644 index 0000000..16179d1 --- /dev/null +++ b/gcc47-cross-ecjx.patch @@ -0,0 +1,52 @@ +--- a/libjava/configure.ac 2013-06-27 23:25:19.370920178 -0500 ++++ b/libjava/configure.ac 2013-06-27 23:25:44.904921607 -0500 +@@ -414,8 +414,8 @@ if test -n "${with_cross_host}"; then + # use ac_exeext, because that is for the target platform. + NATIVE=no + cross_host_exeext= +- GCJ_FOR_ECJX="${with_cross_host}-gcj" +- GCC_FOR_ECJX="${with_cross_host}-gcc" ++ GCJ_FOR_ECJX="gcj" ++ GCC_FOR_ECJX="gcc" + case "${with_cross_host}" in + *mingw* | *cygwin*) + cross_host_exeext=.exe +--- a/libjava/configure 2013-06-27 23:25:22.521920354 -0500 ++++ b/libjava/configure 2013-06-27 23:25:57.828922331 -0500 +@@ -6726,8 +6726,8 @@ if test -n "${with_cross_host}"; then + # use ac_exeext, because that is for the target platform. + NATIVE=no + cross_host_exeext= +- GCJ_FOR_ECJX="${with_cross_host}-gcj" +- GCC_FOR_ECJX="${with_cross_host}-gcc" ++ GCJ_FOR_ECJX="gcj" ++ GCC_FOR_ECJX="gcc" + case "${with_cross_host}" in + *mingw* | *cygwin*) + cross_host_exeext=.exe +--- a/libjava/Makefile.am 2011-08-05 09:37:48.000000000 -0500 ++++ b/libjava/Makefile.am 2012-06-12 02:57:16.508693300 -0500 +@@ -1167,7 +1167,11 @@ endif + else !NATIVE + + ecjx_LINK = $(GCJ_FOR_ECJX_LINK) $(ecjx_LDFLAGS) ++if INSTALL_ECJ_JAR + ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR) ++else ++ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) -Djava.class.path=$(ECJ_JAR) ++endif + ecjx_LDADD = + ecjx_DEPENDENCIES = + ecjx.$(OBJEXT): ecjx.cc +--- a/libjava/Makefile.in 2012-06-12 03:04:48.185527700 -0500 ++++ b/libjava/Makefile.in 2012-03-22 02:37:39.000000000 -0500 +@@ -8445,7 +8445,8 @@ ECJX_BASE_FLAGS = -findirect-dispatch \ + @NATIVE_TRUE@ecjx_LINK = $(GCJLINK) $(ecjx_LDFLAGS) + @ENABLE_SHARED_FALSE@@NATIVE_TRUE@ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR) -fbootclasspath=$(BOOTCLASSPATH) + @ENABLE_SHARED_TRUE@@NATIVE_TRUE@ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) -Djava.class.path=$(ECJ_JAR) +-@NATIVE_FALSE@ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR) ++@INSTALL_ECJ_JAR_FALSE@@NATIVE_FALSE@ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) -Djava.class.path=$(ECJ_JAR) ++@INSTALL_ECJ_JAR_TRUE@@NATIVE_FALSE@ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR) + @NATIVE_FALSE@ecjx_LDADD = + @NATIVE_TRUE@ecjx_LDADD = -L$(here)/.libs $(extra_ldflags) \ + @NATIVE_TRUE@ $(am__append_28) diff --git a/gcc47-cross-jardir.patch b/gcc47-cross-jardir.patch new file mode 100644 index 0000000..899a273 --- /dev/null +++ b/gcc47-cross-jardir.patch @@ -0,0 +1,22 @@ +--- origsrc/gcc-4.7.0/libjava/Makefile.am 2011-08-05 09:37:48.000000000 -0500 ++++ src/gcc-4.7.0/libjava/Makefile.am 2012-06-12 02:57:16.508693300 -0500 +@@ -223,7 +223,7 @@ dbexec_LTLIBRARIES = libjvm.la + + pkgconfigdir = $(libdir)/pkgconfig + +-jardir = $(datadir)/java ++jardir = $(datadir)/gcc-$(gcc_version)/$(target_noncanonical)/java + jar_DATA = libgcj-$(gcc_version).jar libgcj-tools-$(gcc_version).jar + if INSTALL_ECJ_JAR + jar_DATA += $(ECJ_BUILD_JAR) +--- origsrc/gcc-4.7.0/libjava/Makefile.in 2012-06-12 03:04:48.185527700 -0500 ++++ src/gcc-4.7.0/libjava/Makefile.in 2012-03-22 02:37:39.000000000 -0500 +@@ -938,7 +938,7 @@ CORE_PACKAGE_SOURCE_FILES_LO = $(filter- + @BUILD_SUBLIBS_TRUE@LIBJAVA_CORE_EXTRA = @LIBGCJ_SUBLIB_CORE_EXTRA_DEPS@ + dbexec_LTLIBRARIES = libjvm.la + pkgconfigdir = $(libdir)/pkgconfig +-jardir = $(datadir)/java ++jardir = $(datadir)/gcc-$(gcc_version)/$(target_noncanonical)/java + jar_DATA = libgcj-$(gcc_version).jar libgcj-tools-$(gcc_version).jar \ + $(am__append_5) + @JAVA_HOME_SET_FALSE@JAVA_HOME_DIR = $(prefix) diff --git a/gcc47-execstack.patch b/gcc47-execstack.patch new file mode 100644 index 0000000..abfe828 --- /dev/null +++ b/gcc47-execstack.patch @@ -0,0 +1,50 @@ +--- origsrc/gcc-4.7.2/gcc/config/i386//cygming.opt 2011-04-01 15:43:22.000000000 +0100 ++++ src/gcc-4.7.2/gcc/config/i386//cygming.opt 2012-11-01 20:56:56.406250000 +0000 +@@ -50,6 +50,10 @@ muse-libstdc-wrappers + Target Condition({defined (USE_CYGWIN_LIBSTDCXX_WRAPPERS)}) + Compile code that relies on Cygwin DLL wrappers to support C++ operator new/delete replacement + ++fset-stack-executable ++Common Report Var(flag_setstackexecutable) Init(1) Optimization ++For nested functions on stack executable permission is set. ++ + posix + Driver + +--- origsrc/gcc-4.7.2/gcc/config/i386//cygwin.h 2012-11-01 20:55:58.250000000 +0000 ++++ src/gcc-4.7.2/gcc/config/i386//cygwin.h 2012-11-01 20:11:22.000000000 +0000 +@@ -140,3 +140,11 @@ along with GCC; see the file COPYING3. + /* We should find a way to not have to update this manually. */ + #define LIBGCJ_SONAME "cyggcj" /*LIBGCC_EH_EXTN*/ "-13.dll" + ++/* Make stack executable to avoid DEP problems with trampolines. */ ++#define HAVE_ENABLE_EXECUTE_STACK ++#undef CHECK_EXECUTE_STACK_ENABLED ++#define CHECK_EXECUTE_STACK_ENABLED flag_setstackexecutable ++ ++#ifdef IN_LIBGCC2 ++#include <windows.h> ++#endif +--- origsrc/gcc-4.7.2/gcc/config/i386//mingw.opt 2011-04-01 15:43:22.000000000 +0100 ++++ src/gcc-4.7.2/gcc/config/i386//mingw.opt 2012-11-01 20:57:00.296875000 +0000 +@@ -28,8 +28,4 @@ Wpedantic-ms-format + C ObjC C++ ObjC++ Var(warn_pedantic_ms_format) Init(1) Warning + Warn about none ISO msvcrt scanf/printf width extensions + +-fset-stack-executable +-Common Report Var(flag_setstackexecutable) Init(1) Optimization +-For nested functions on stack executable permission is set. +- + ; Need to retain blank line above. +--- origsrc/gcc-4.7.2/libgcc//config.host 2012-11-01 20:55:58.234375000 +0000 ++++ src/gcc-4.7.2/libgcc//config.host 2012-11-01 20:11:20.000000000 +0000 +@@ -273,6 +273,9 @@ case ${host} in + i[34567]86-*-mingw* | x86_64-*-mingw*) + enable_execute_stack=config/i386/enable-execute-stack-mingw32.c + ;; ++i[34567]86-*-cygwin* | x86_64-*-cygwin*) ++ enable_execute_stack=config/i386/enable-execute-stack-mingw32.c ++ ;; + *) + enable_execute_stack=enable-execute-stack-empty.c; + ;; diff --git a/gcc47-java-jni.patch b/gcc47-java-jni.patch new file mode 100644 index 0000000..327bd70 --- /dev/null +++ b/gcc47-java-jni.patch @@ -0,0 +1,56 @@ +--- origsrc/gcc-4.5.0/libjava/classpath/configure.ac 2009-02-05 17:26:08.000000000 -0600 ++++ src/gcc-4.5.0/libjava/classpath/configure.ac 2009-12-06 01:58:25.091013300 -0600 +@@ -26,7 +26,7 @@ case "$host_os" in + cp_module="" + ;; + *) +- cp_module="-module" ++ cp_module="-module -avoid-version" + ;; + esac + +--- origsrc/gcc-4.7.2/libjava/classpath/configure 2011-11-29 14:12:00.000000000 -0600 ++++ src/gcc-4.7.2/libjava/classpath/configure 2013-03-01 01:48:05.585762700 -0600 +@@ -3172,7 +3172,7 @@ case "$host_os" in + cp_module="" + ;; + *) +- cp_module="-module" ++ cp_module="-module -avoid-version" + ;; + esac + +--- origsrc/gcc-4.7.2/libjava/include/posix.h 2011-01-03 14:52:22.000000000 -0600 ++++ src/gcc-4.7.2/libjava/include/posix.h 2013-03-06 20:26:16.157459700 -0600 +@@ -47,11 +47,17 @@ details. */ + #include <java/util/Properties.h> + + // Prefix and suffix for shared libraries. ++#ifdef __CYGWIN__ ++#define _Jv_platform_solib_prefix "cyg" ++#else + #define _Jv_platform_solib_prefix "lib" ++#endif + #if defined(__APPLE__) && defined(__MACH__) + #define _Jv_platform_solib_suffix ".dylib" + #elif defined(HPUX) && defined(HP_PA) + #define _Jv_platform_solib_suffix ".sl" ++#elif defined(__CYGWIN__) ++#define _Jv_platform_solib_suffix ".dll" + #else + #define _Jv_platform_solib_suffix ".so" + #endif +--- origsrc/gcc-4.7.2/libjava/java/net/natVMURLConnection.cc 2009-12-01 16:05:25.000000000 -0600 ++++ src/gcc-4.7.2/libjava/java/net/natVMURLConnection.cc 2013-03-06 20:20:42.202970700 -0600 +@@ -32,7 +32,11 @@ void + java::net::VMURLConnection::init () + { + #if defined (HAVE_MAGIC_T) && defined (HAVE_MAGIC_H) && defined (USE_LTDL) ++#ifdef __CYGWIN__ ++ lt_dlhandle handle = lt_dlopenext ("cygmagic-1.dll"); ++#else + lt_dlhandle handle = lt_dlopenext ("libmagic.so"); ++#endif + if (!handle) + return; + diff --git a/gcc47-libffi-noinst.patch b/gcc47-libffi-noinst.patch new file mode 100644 index 0000000..3ac66ea --- /dev/null +++ b/gcc47-libffi-noinst.patch @@ -0,0 +1,53 @@ +Only the convenience library is used in libjava, and the bundled version +is usually a few releases behind the standalone version. + +--- origsrc/gcc-4.7.2/Makefile.in 2012-08-06 09:34:27.000000000 -0500 ++++ src/gcc-4.7.2/Makefile.in 2013-03-10 21:27:05.825568600 -0500 +@@ -1573,7 +1573,6 @@ install-info-target: maybe-install-info- + install-info-target: maybe-install-info-target-libtermcap + install-info-target: maybe-install-info-target-winsup + install-info-target: maybe-install-info-target-libgloss +-install-info-target: maybe-install-info-target-libffi + install-info-target: maybe-install-info-target-libjava + install-info-target: maybe-install-info-target-zlib + install-info-target: maybe-install-info-target-boehm-gc +@@ -1651,7 +1650,6 @@ install-pdf-target: maybe-install-pdf-ta + install-pdf-target: maybe-install-pdf-target-libtermcap + install-pdf-target: maybe-install-pdf-target-winsup + install-pdf-target: maybe-install-pdf-target-libgloss +-install-pdf-target: maybe-install-pdf-target-libffi + install-pdf-target: maybe-install-pdf-target-libjava + install-pdf-target: maybe-install-pdf-target-zlib + install-pdf-target: maybe-install-pdf-target-boehm-gc +@@ -1729,7 +1727,6 @@ install-html-target: maybe-install-html- + install-html-target: maybe-install-html-target-libtermcap + install-html-target: maybe-install-html-target-winsup + install-html-target: maybe-install-html-target-libgloss +-install-html-target: maybe-install-html-target-libffi + install-html-target: maybe-install-html-target-libjava + install-html-target: maybe-install-html-target-zlib + install-html-target: maybe-install-html-target-boehm-gc +@@ -1807,7 +1804,6 @@ installcheck-target: maybe-installcheck- + installcheck-target: maybe-installcheck-target-libtermcap + installcheck-target: maybe-installcheck-target-winsup + installcheck-target: maybe-installcheck-target-libgloss +-installcheck-target: maybe-installcheck-target-libffi + installcheck-target: maybe-installcheck-target-libjava + installcheck-target: maybe-installcheck-target-zlib + installcheck-target: maybe-installcheck-target-boehm-gc +@@ -2402,7 +2398,6 @@ install-target: \ + maybe-install-target-libtermcap \ + maybe-install-target-winsup \ + maybe-install-target-libgloss \ +- maybe-install-target-libffi \ + maybe-install-target-libjava \ + maybe-install-target-zlib \ + maybe-install-target-boehm-gc \ +@@ -2500,7 +2495,6 @@ install-strip-target: \ + maybe-install-strip-target-libtermcap \ + maybe-install-strip-target-winsup \ + maybe-install-strip-target-libgloss \ +- maybe-install-strip-target-libffi \ + maybe-install-strip-target-libjava \ + maybe-install-strip-target-zlib \ + maybe-install-strip-target-boehm-gc \ diff --git a/gcc45-libstdc.diff b/gcc47-libstdc.patch index 79bc0c6..45ff50e 100644 --- a/gcc45-libstdc.diff +++ b/gcc47-libstdc.patch @@ -1,9 +1,8 @@ -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/config/os/mingw32/os_defines.h src/gcc-4.5.0/libstdc++-v3/config/os/mingw32/os_defines.h ---- origsrc/gcc-4.5.0/libstdc++-v3/config/os/mingw32/os_defines.h 2009-11-30 23:22:04.000000000 +0000 -+++ src/gcc-4.5.0/libstdc++-v3/config/os/mingw32/os_defines.h 2010-04-19 05:11:01.671875000 +0100 -@@ -60,4 +60,10 @@ - // See libstdc++/37522. - #define _GLIBCXX_HAVE_BROKEN_VSWPRINTF 1 +--- origsrc/gcc-4.7.2/libstdc++-v3/config/os/mingw32/os_defines.h 2011-12-16 18:43:06.000000000 +0000 ++++ src/gcc-4.7.2/libstdc++-v3/config/os/mingw32/os_defines.h 2012-10-31 16:49:35.703125000 +0000 +@@ -72,4 +72,10 @@ + #define _GLIBCXX_CDTOR_CALLABI __thiscall + #endif +#ifdef _DLL +#define _GLIBCXX_IMPORT __attribute__((dllimport)) @@ -12,9 +11,8 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/config/os/mingw32/os_defines.h src/gcc +#endif + #endif -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/config/os/newlib/os_defines.h src/gcc-4.5.0/libstdc++-v3/config/os/newlib/os_defines.h ---- origsrc/gcc-4.5.0/libstdc++-v3/config/os/newlib/os_defines.h 2009-11-30 23:22:04.000000000 +0000 -+++ src/gcc-4.5.0/libstdc++-v3/config/os/newlib/os_defines.h 2010-04-19 05:11:01.687500000 +0100 +--- origsrc/gcc-4.7.2/libstdc++-v3/config/os/newlib/os_defines.h 2011-01-03 20:52:22.000000000 +0000 ++++ src/gcc-4.7.2/libstdc++-v3/config/os/newlib/os_defines.h 2012-10-31 16:49:35.734375000 +0000 @@ -35,6 +35,8 @@ #ifdef __CYGWIN__ @@ -38,21 +36,9 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/config/os/newlib/os_defines.h src/gcc- #endif #endif -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/configure.host src/gcc-4.5.0/libstdc++-v3/configure.host ---- origsrc/gcc-4.5.0/libstdc++-v3/configure.host 2009-11-30 23:22:04.000000000 +0000 -+++ src/gcc-4.5.0/libstdc++-v3/configure.host 2010-04-19 05:11:01.703125000 +0100 -@@ -209,6 +209,7 @@ case "${host_os}" in - ;; - cygwin*) - os_include_dir="os/newlib" -+ OPT_LDFLAGS="-Wl,--exclude-modules-for-implib=\`cd ../libsupc++; ls *type_inf*.o -1 | tr '\012' ':'\`tinfo.o:tinfo2.o" - OPT_LDFLAGS="${OPT_LDFLAGS} -no-undefined -bindir \$(bindir)" - ;; - darwin | darwin[1-7] | darwin[1-7].*) -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/backward/strstream src/gcc-4.5.0/libstdc++-v3/include/backward/strstream ---- origsrc/gcc-4.5.0/libstdc++-v3/include/backward/strstream 2010-03-16 22:34:53.000000000 +0000 -+++ src/gcc-4.5.0/libstdc++-v3/include/backward/strstream 2010-04-19 05:11:01.703125000 +0100 -@@ -55,7 +55,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +--- origsrc/gcc-4.7.2/libstdc++-v3/include/backward/strstream 2011-02-01 01:31:42.000000000 +0000 ++++ src/gcc-4.7.2/libstdc++-v3/include/backward/strstream 2012-10-31 16:49:37.468750000 +0000 +@@ -62,7 +62,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION // Class strstreambuf, a streambuf class that manages an array of char. // Note that this class is not a template. @@ -61,7 +47,7 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/backward/strstream src/gcc-4.5 { public: // Types. -@@ -117,7 +117,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +@@ -124,7 +124,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION }; // Class istrstream, an istream that manages a strstreambuf. @@ -70,7 +56,7 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/backward/strstream src/gcc-4.5 { public: explicit istrstream(char*); -@@ -134,7 +134,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +@@ -141,7 +141,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION }; // Class ostrstream @@ -79,7 +65,7 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/backward/strstream src/gcc-4.5 { public: ostrstream(); -@@ -151,7 +151,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +@@ -158,7 +158,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION }; // Class strstream @@ -88,12 +74,11 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/backward/strstream src/gcc-4.5 { public: typedef char char_type; -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/basic_ios.tcc src/gcc-4.5.0/libstdc++-v3/include/bits/basic_ios.tcc ---- origsrc/gcc-4.5.0/libstdc++-v3/include/bits/basic_ios.tcc 2009-04-09 16:00:19.000000000 +0100 -+++ src/gcc-4.5.0/libstdc++-v3/include/bits/basic_ios.tcc 2010-04-19 05:11:01.703125000 +0100 -@@ -175,10 +175,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +--- origsrc/gcc-4.7.2/libstdc++-v3/include/bits/basic_ios.tcc 2011-03-04 21:51:56.000000000 +0000 ++++ src/gcc-4.7.2/libstdc++-v3/include/bits/basic_ios.tcc 2012-10-31 16:49:37.468750000 +0000 +@@ -176,10 +176,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + // Inhibit implicit instantiations for required instantiations, // which are defined via explicit instantiations elsewhere. - // NB: This syntax is a GNU extension. #if _GLIBCXX_EXTERN_TEMPLATE - extern template class basic_ios<char>; + extern template class _GLIBCXX_IMPORT basic_ios<char>; @@ -104,31 +89,30 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/basic_ios.tcc src/gcc-4.5 #endif #endif -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/c++config src/gcc-4.5.0/libstdc++-v3/include/bits/c++config ---- origsrc/gcc-4.5.0/libstdc++-v3/include/bits/c++config 2009-11-30 23:22:04.000000000 +0000 -+++ src/gcc-4.5.0/libstdc++-v3/include/bits/c++config 2010-04-19 05:11:01.718750000 +0100 -@@ -376,4 +376,8 @@ _GLIBCXX_END_NAMESPACE - # endif +--- origsrc/gcc-4.7.2/libstdc++-v3/include/bits/c++config 2011-11-02 04:23:33.000000000 +0000 ++++ src/gcc-4.7.2/libstdc++-v3/include/bits/c++config 2012-10-31 16:54:57.125000000 +0000 +@@ -225,6 +225,9 @@ namespace __gnu_cxx + # define _GLIBCXX_END_NAMESPACE_VERSION #endif +#ifndef _GLIBCXX_IMPORT +#define _GLIBCXX_IMPORT +#endif -+ - // End of prewritten config; the discovered settings follow. -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/codecvt.h src/gcc-4.5.0/libstdc++-v3/include/bits/codecvt.h ---- origsrc/gcc-4.5.0/libstdc++-v3/include/bits/codecvt.h 2010-02-10 05:45:24.000000000 +0000 -+++ src/gcc-4.5.0/libstdc++-v3/include/bits/codecvt.h 2010-04-19 05:11:01.750000000 +0100 -@@ -476,7 +476,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) + + // Inline namespaces for special modes: debug, parallel, profile. + #if defined(_GLIBCXX_DEBUG) || defined(_GLIBCXX_PARALLEL) \ +--- origsrc/gcc-4.7.2/libstdc++-v3/include/bits/codecvt.h 2011-10-14 01:12:40.000000000 +0100 ++++ src/gcc-4.7.2/libstdc++-v3/include/bits/codecvt.h 2012-10-31 16:49:37.484375000 +0000 +@@ -479,7 +479,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + // Inhibit implicit instantiations for required instantiations, // which are defined via explicit instantiations elsewhere. - // NB: This syntax is a GNU extension. #if _GLIBCXX_EXTERN_TEMPLATE - extern template class codecvt_byname<char, char, mbstate_t>; + extern template class _GLIBCXX_IMPORT codecvt_byname<char, char, mbstate_t>; extern template const codecvt<char, char, mbstate_t>& -@@ -487,7 +487,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +@@ -490,7 +490,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION has_facet<codecvt<char, char, mbstate_t> >(const locale&); #ifdef _GLIBCXX_USE_WCHAR_T @@ -137,12 +121,11 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/codecvt.h src/gcc-4.5.0/l extern template const codecvt<wchar_t, char, mbstate_t>& -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/fstream.tcc src/gcc-4.5.0/libstdc++-v3/include/bits/fstream.tcc ---- origsrc/gcc-4.5.0/libstdc++-v3/include/bits/fstream.tcc 2009-04-09 16:00:19.000000000 +0100 -+++ src/gcc-4.5.0/libstdc++-v3/include/bits/fstream.tcc 2010-04-19 05:11:01.750000000 +0100 -@@ -908,16 +908,16 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +--- origsrc/gcc-4.7.2/libstdc++-v3/include/bits/fstream.tcc 2011-03-04 21:51:56.000000000 +0000 ++++ src/gcc-4.7.2/libstdc++-v3/include/bits/fstream.tcc 2012-10-31 16:49:37.484375000 +0000 +@@ -965,16 +965,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + // Inhibit implicit instantiations for required instantiations, // which are defined via explicit instantiations elsewhere. - // NB: This syntax is a GNU extension. #if _GLIBCXX_EXTERN_TEMPLATE - extern template class basic_filebuf<char>; - extern template class basic_ifstream<char>; @@ -165,10 +148,9 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/fstream.tcc src/gcc-4.5.0 #endif #endif -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/ios_base.h src/gcc-4.5.0/libstdc++-v3/include/bits/ios_base.h ---- origsrc/gcc-4.5.0/libstdc++-v3/include/bits/ios_base.h 2010-02-17 05:43:24.000000000 +0000 -+++ src/gcc-4.5.0/libstdc++-v3/include/bits/ios_base.h 2010-04-19 05:07:26.125000000 +0100 -@@ -204,7 +204,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +--- origsrc/gcc-4.7.2/libstdc++-v3/include/bits/ios_base.h 2011-08-07 08:27:06.000000000 +0100 ++++ src/gcc-4.7.2/libstdc++-v3/include/bits/ios_base.h 2012-10-31 16:49:37.484375000 +0000 +@@ -198,7 +198,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * people will only see @c ios_base when they need to specify the full * name of the various I/O flags (e.g., the openmodes). */ @@ -177,7 +159,7 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/ios_base.h src/gcc-4.5.0/ { public: -@@ -214,7 +214,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +@@ -208,7 +208,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * * 27.4.2.1.1 Class ios_base::failure */ @@ -186,7 +168,7 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/ios_base.h src/gcc-4.5.0/ { public: // _GLIBCXX_RESOLVE_LIB_DEFECTS -@@ -529,7 +529,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +@@ -532,7 +532,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION // Used to initialize standard streams. In theory, g++ could use // -finit-priority to order this stuff correctly without going // through these machinations. @@ -195,19 +177,18 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/ios_base.h src/gcc-4.5.0/ { friend class ios_base; public: -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/istream.tcc src/gcc-4.5.0/libstdc++-v3/include/bits/istream.tcc ---- origsrc/gcc-4.5.0/libstdc++-v3/include/bits/istream.tcc 2009-09-05 01:18:07.000000000 +0100 -+++ src/gcc-4.5.0/libstdc++-v3/include/bits/istream.tcc 2010-04-19 05:11:01.750000000 +0100 -@@ -1018,7 +1018,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +--- origsrc/gcc-4.7.2/libstdc++-v3/include/bits/istream.tcc 2011-03-04 21:51:56.000000000 +0000 ++++ src/gcc-4.7.2/libstdc++-v3/include/bits/istream.tcc 2012-10-31 16:49:37.484375000 +0000 +@@ -1039,7 +1039,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + // Inhibit implicit instantiations for required instantiations, // which are defined via explicit instantiations elsewhere. - // NB: This syntax is a GNU extension. #if _GLIBCXX_EXTERN_TEMPLATE - extern template class basic_istream<char>; + extern template class _GLIBCXX_IMPORT basic_istream<char>; extern template istream& ws(istream&); extern template istream& operator>>(istream&, char&); extern template istream& operator>>(istream&, char*); -@@ -1041,10 +1041,10 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +@@ -1062,10 +1062,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION extern template istream& istream::_M_extract(long double&); extern template istream& istream::_M_extract(void*&); @@ -220,7 +201,7 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/istream.tcc src/gcc-4.5.0 extern template wistream& ws(wistream&); extern template wistream& operator>>(wistream&, wchar_t&); extern template wistream& operator>>(wistream&, wchar_t*); -@@ -1063,7 +1063,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +@@ -1084,7 +1084,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION extern template wistream& wistream::_M_extract(long double&); extern template wistream& wistream::_M_extract(void*&); @@ -229,10 +210,9 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/istream.tcc src/gcc-4.5.0 #endif #endif -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_classes.h src/gcc-4.5.0/libstdc++-v3/include/bits/locale_classes.h ---- origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_classes.h 2010-02-17 05:43:24.000000000 +0000 -+++ src/gcc-4.5.0/libstdc++-v3/include/bits/locale_classes.h 2010-04-19 05:11:01.765625000 +0100 -@@ -59,7 +59,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +--- origsrc/gcc-4.7.2/libstdc++-v3/include/bits/locale_classes.h 2011-12-10 15:33:06.000000000 +0000 ++++ src/gcc-4.7.2/libstdc++-v3/include/bits/locale_classes.h 2012-10-31 16:49:37.484375000 +0000 +@@ -61,7 +61,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * This library supports efficient construction and copying of locales * through a reference counting implementation of the locale class. */ @@ -241,7 +221,7 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_classes.h src/gcc- { public: // Types: -@@ -67,9 +67,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +@@ -69,9 +69,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION typedef int category; // Forward decls and friends: @@ -254,7 +234,7 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_classes.h src/gcc- friend class facet; friend class _Impl; -@@ -334,7 +334,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +@@ -337,7 +337,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * * Facets may not be copied or assigned. */ @@ -263,7 +243,7 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_classes.h src/gcc- { private: friend class locale; -@@ -429,7 +429,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +@@ -435,7 +435,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * cannot be used in a locale. The locale::id ensures that each class * type gets a unique identifier. */ @@ -272,7 +252,7 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_classes.h src/gcc- { private: friend class locale; -@@ -468,7 +468,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +@@ -474,7 +474,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION // Implementation object for locale. @@ -281,12 +261,11 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_classes.h src/gcc- { public: // Friends. -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_classes.tcc src/gcc-4.5.0/libstdc++-v3/include/bits/locale_classes.tcc ---- origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_classes.tcc 2009-04-18 22:19:18.000000000 +0100 -+++ src/gcc-4.5.0/libstdc++-v3/include/bits/locale_classes.tcc 2010-04-19 05:11:01.765625000 +0100 -@@ -241,8 +241,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +--- origsrc/gcc-4.7.2/libstdc++-v3/include/bits/locale_classes.tcc 2011-12-10 15:33:06.000000000 +0000 ++++ src/gcc-4.7.2/libstdc++-v3/include/bits/locale_classes.tcc 2012-10-31 16:49:37.500000000 +0000 +@@ -265,8 +265,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + // Inhibit implicit instantiations for required instantiations, // which are defined via explicit instantiations elsewhere. - // NB: This syntax is a GNU extension. #if _GLIBCXX_EXTERN_TEMPLATE - extern template class collate<char>; - extern template class collate_byname<char>; @@ -295,7 +274,7 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_classes.tcc src/gc extern template const collate<char>& -@@ -253,8 +253,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +@@ -277,8 +277,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION has_facet<collate<char> >(const locale&); #ifdef _GLIBCXX_USE_WCHAR_T @@ -306,10 +285,9 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_classes.tcc src/gc extern template const collate<wchar_t>& -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_facets.h src/gcc-4.5.0/libstdc++-v3/include/bits/locale_facets.h ---- origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_facets.h 2010-02-19 03:30:46.000000000 +0000 -+++ src/gcc-4.5.0/libstdc++-v3/include/bits/locale_facets.h 2010-04-19 05:11:01.765625000 +0100 -@@ -670,7 +670,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +--- origsrc/gcc-4.7.2/libstdc++-v3/include/bits/locale_facets.h 2012-02-23 22:14:56.000000000 +0000 ++++ src/gcc-4.7.2/libstdc++-v3/include/bits/locale_facets.h 2012-10-31 16:49:37.500000000 +0000 +@@ -673,7 +673,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * optimizations as well. */ template<> @@ -318,7 +296,7 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_facets.h src/gcc-4 { public: // Types: -@@ -1171,7 +1171,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +@@ -1174,7 +1174,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * __ctype_abstract_base<wchar_t>. */ template<> @@ -327,56 +305,54 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_facets.h src/gcc-4 { public: // Types: -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_facets.tcc src/gcc-4.5.0/libstdc++-v3/include/bits/locale_facets.tcc ---- origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_facets.tcc 2009-07-18 23:58:10.000000000 +0100 -+++ src/gcc-4.5.0/libstdc++-v3/include/bits/locale_facets.tcc 2010-04-19 05:11:01.781250000 +0100 -@@ -1276,11 +1276,11 @@ _GLIBCXX_END_LDBL_NAMESPACE +--- origsrc/gcc-4.7.2/libstdc++-v3/include/bits/locale_facets.tcc 2011-03-04 21:51:56.000000000 +0000 ++++ src/gcc-4.7.2/libstdc++-v3/include/bits/locale_facets.tcc 2012-10-31 17:00:42.531250000 +0000 +@@ -1277,11 +1277,11 @@ _GLIBCXX_END_NAMESPACE_LDBL + // Inhibit implicit instantiations for required instantiations, // which are defined via explicit instantiations elsewhere. - // NB: This syntax is a GNU extension. #if _GLIBCXX_EXTERN_TEMPLATE - extern template class numpunct<char>; - extern template class numpunct_byname<char>; -- extern template class _GLIBCXX_LDBL_NAMESPACE num_get<char>; -- extern template class _GLIBCXX_LDBL_NAMESPACE num_put<char>; +- extern template class _GLIBCXX_NAMESPACE_LDBL num_get<char>; +- extern template class _GLIBCXX_NAMESPACE_LDBL num_put<char>; - extern template class ctype_byname<char>; + extern template class _GLIBCXX_IMPORT numpunct<char>; + extern template class _GLIBCXX_IMPORT numpunct_byname<char>; -+ extern template class _GLIBCXX_IMPORT _GLIBCXX_LDBL_NAMESPACE num_get<char>; -+ extern template class _GLIBCXX_IMPORT _GLIBCXX_LDBL_NAMESPACE num_put<char>; ++ extern template class _GLIBCXX_IMPORT _GLIBCXX_NAMESPACE_LDBL num_get<char>; ++ extern template class _GLIBCXX_IMPORT _GLIBCXX_NAMESPACE_LDBL num_put<char>; + extern template class _GLIBCXX_IMPORT ctype_byname<char>; extern template const ctype<char>& -@@ -1315,11 +1315,11 @@ _GLIBCXX_END_LDBL_NAMESPACE +@@ -1316,11 +1316,11 @@ _GLIBCXX_END_NAMESPACE_LDBL has_facet<num_get<char> >(const locale&); #ifdef _GLIBCXX_USE_WCHAR_T - extern template class numpunct<wchar_t>; - extern template class numpunct_byname<wchar_t>; -- extern template class _GLIBCXX_LDBL_NAMESPACE num_get<wchar_t>; -- extern template class _GLIBCXX_LDBL_NAMESPACE num_put<wchar_t>; +- extern template class _GLIBCXX_NAMESPACE_LDBL num_get<wchar_t>; +- extern template class _GLIBCXX_NAMESPACE_LDBL num_put<wchar_t>; - extern template class ctype_byname<wchar_t>; + extern template class _GLIBCXX_IMPORT numpunct<wchar_t>; + extern template class _GLIBCXX_IMPORT numpunct_byname<wchar_t>; -+ extern template class _GLIBCXX_IMPORT _GLIBCXX_LDBL_NAMESPACE num_get<wchar_t>; -+ extern template class _GLIBCXX_IMPORT _GLIBCXX_LDBL_NAMESPACE num_put<wchar_t>; ++ extern template class _GLIBCXX_IMPORT _GLIBCXX_NAMESPACE_LDBL num_get<wchar_t>; ++ extern template class _GLIBCXX_IMPORT _GLIBCXX_NAMESPACE_LDBL num_put<wchar_t>; + extern template class _GLIBCXX_IMPORT ctype_byname<wchar_t>; extern template const ctype<wchar_t>& -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_facets_nonio.tcc src/gcc-4.5.0/libstdc++-v3/include/bits/locale_facets_nonio.tcc ---- origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_facets_nonio.tcc 2010-01-07 17:20:45.000000000 +0000 -+++ src/gcc-4.5.0/libstdc++-v3/include/bits/locale_facets_nonio.tcc 2010-04-19 05:11:01.781250000 +0100 -@@ -1214,19 +1214,19 @@ _GLIBCXX_END_LDBL_NAMESPACE +--- origsrc/gcc-4.7.2/libstdc++-v3/include/bits/locale_facets_nonio.tcc 2011-03-04 21:51:56.000000000 +0000 ++++ src/gcc-4.7.2/libstdc++-v3/include/bits/locale_facets_nonio.tcc 2012-10-31 17:00:42.546875000 +0000 +@@ -1216,19 +1216,19 @@ _GLIBCXX_END_NAMESPACE_LDBL + // Inhibit implicit instantiations for required instantiations, // which are defined via explicit instantiations elsewhere. - // NB: This syntax is a GNU extension. #if _GLIBCXX_EXTERN_TEMPLATE - extern template class moneypunct<char, false>; - extern template class moneypunct<char, true>; - extern template class moneypunct_byname<char, false>; - extern template class moneypunct_byname<char, true>; -- extern template class _GLIBCXX_LDBL_NAMESPACE money_get<char>; -- extern template class _GLIBCXX_LDBL_NAMESPACE money_put<char>; +- extern template class _GLIBCXX_NAMESPACE_LDBL money_get<char>; +- extern template class _GLIBCXX_NAMESPACE_LDBL money_put<char>; - extern template class __timepunct<char>; - extern template class time_put<char>; - extern template class time_put_byname<char>; @@ -388,8 +364,8 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_facets_nonio.tcc s + extern template class _GLIBCXX_IMPORT moneypunct<char, true>; + extern template class _GLIBCXX_IMPORT moneypunct_byname<char, false>; + extern template class _GLIBCXX_IMPORT moneypunct_byname<char, true>; -+ extern template class _GLIBCXX_IMPORT _GLIBCXX_LDBL_NAMESPACE money_get<char>; -+ extern template class _GLIBCXX_IMPORT _GLIBCXX_LDBL_NAMESPACE money_put<char>; ++ extern template class _GLIBCXX_IMPORT _GLIBCXX_NAMESPACE_LDBL money_get<char>; ++ extern template class _GLIBCXX_IMPORT _GLIBCXX_NAMESPACE_LDBL money_put<char>; + extern template class _GLIBCXX_IMPORT __timepunct<char>; + extern template class _GLIBCXX_IMPORT time_put<char>; + extern template class _GLIBCXX_IMPORT time_put_byname<char>; @@ -400,7 +376,7 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_facets_nonio.tcc s extern template const moneypunct<char, true>& -@@ -1289,19 +1289,19 @@ _GLIBCXX_END_LDBL_NAMESPACE +@@ -1291,19 +1291,19 @@ _GLIBCXX_END_NAMESPACE_LDBL has_facet<messages<char> >(const locale&); #ifdef _GLIBCXX_USE_WCHAR_T @@ -408,8 +384,8 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_facets_nonio.tcc s - extern template class moneypunct<wchar_t, true>; - extern template class moneypunct_byname<wchar_t, false>; - extern template class moneypunct_byname<wchar_t, true>; -- extern template class _GLIBCXX_LDBL_NAMESPACE money_get<wchar_t>; -- extern template class _GLIBCXX_LDBL_NAMESPACE money_put<wchar_t>; +- extern template class _GLIBCXX_NAMESPACE_LDBL money_get<wchar_t>; +- extern template class _GLIBCXX_NAMESPACE_LDBL money_put<wchar_t>; - extern template class __timepunct<wchar_t>; - extern template class time_put<wchar_t>; - extern template class time_put_byname<wchar_t>; @@ -421,8 +397,8 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_facets_nonio.tcc s + extern template class _GLIBCXX_IMPORT moneypunct<wchar_t, true>; + extern template class _GLIBCXX_IMPORT moneypunct_byname<wchar_t, false>; + extern template class _GLIBCXX_IMPORT moneypunct_byname<wchar_t, true>; -+ extern template class _GLIBCXX_IMPORT _GLIBCXX_LDBL_NAMESPACE money_get<wchar_t>; -+ extern template class _GLIBCXX_IMPORT _GLIBCXX_LDBL_NAMESPACE money_put<wchar_t>; ++ extern template class _GLIBCXX_IMPORT _GLIBCXX_NAMESPACE_LDBL money_get<wchar_t>; ++ extern template class _GLIBCXX_IMPORT _GLIBCXX_NAMESPACE_LDBL money_put<wchar_t>; + extern template class _GLIBCXX_IMPORT __timepunct<wchar_t>; + extern template class _GLIBCXX_IMPORT time_put<wchar_t>; + extern template class _GLIBCXX_IMPORT time_put_byname<wchar_t>; @@ -433,19 +409,18 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/locale_facets_nonio.tcc s extern template const moneypunct<wchar_t, true>& -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/ostream.tcc src/gcc-4.5.0/libstdc++-v3/include/bits/ostream.tcc ---- origsrc/gcc-4.5.0/libstdc++-v3/include/bits/ostream.tcc 2009-09-05 01:18:07.000000000 +0100 -+++ src/gcc-4.5.0/libstdc++-v3/include/bits/ostream.tcc 2010-04-19 05:11:01.781250000 +0100 -@@ -357,7 +357,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +--- origsrc/gcc-4.7.2/libstdc++-v3/include/bits/ostream.tcc 2011-03-04 21:51:56.000000000 +0000 ++++ src/gcc-4.7.2/libstdc++-v3/include/bits/ostream.tcc 2012-10-31 16:49:37.515625000 +0000 +@@ -358,7 +358,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + // Inhibit implicit instantiations for required instantiations, // which are defined via explicit instantiations elsewhere. - // NB: This syntax is a GNU extension. #if _GLIBCXX_EXTERN_TEMPLATE - extern template class basic_ostream<char>; + extern template class _GLIBCXX_IMPORT basic_ostream<char>; extern template ostream& endl(ostream&); extern template ostream& ends(ostream&); extern template ostream& flush(ostream&); -@@ -380,7 +380,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +@@ -381,7 +381,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION extern template ostream& ostream::_M_insert(const void*); #ifdef _GLIBCXX_USE_WCHAR_T @@ -454,12 +429,11 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/ostream.tcc src/gcc-4.5.0 extern template wostream& endl(wostream&); extern template wostream& ends(wostream&); extern template wostream& flush(wostream&); -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/sstream.tcc src/gcc-4.5.0/libstdc++-v3/include/bits/sstream.tcc ---- origsrc/gcc-4.5.0/libstdc++-v3/include/bits/sstream.tcc 2009-04-09 16:00:19.000000000 +0100 -+++ src/gcc-4.5.0/libstdc++-v3/include/bits/sstream.tcc 2010-04-19 05:11:01.796875000 +0100 -@@ -255,16 +255,16 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +--- origsrc/gcc-4.7.2/libstdc++-v3/include/bits/sstream.tcc 2011-03-04 21:51:56.000000000 +0000 ++++ src/gcc-4.7.2/libstdc++-v3/include/bits/sstream.tcc 2012-10-31 16:49:37.515625000 +0000 +@@ -271,16 +271,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + // Inhibit implicit instantiations for required instantiations, // which are defined via explicit instantiations elsewhere. - // NB: This syntax is a GNU extension. #if _GLIBCXX_EXTERN_TEMPLATE - extern template class basic_stringbuf<char>; - extern template class basic_istringstream<char>; @@ -482,19 +456,18 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/sstream.tcc src/gcc-4.5.0 #endif #endif -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/streambuf.tcc src/gcc-4.5.0/libstdc++-v3/include/bits/streambuf.tcc ---- origsrc/gcc-4.5.0/libstdc++-v3/include/bits/streambuf.tcc 2009-04-09 16:00:19.000000000 +0100 -+++ src/gcc-4.5.0/libstdc++-v3/include/bits/streambuf.tcc 2010-04-19 05:11:01.796875000 +0100 -@@ -146,7 +146,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +--- origsrc/gcc-4.7.2/libstdc++-v3/include/bits/streambuf.tcc 2011-03-04 21:51:56.000000000 +0000 ++++ src/gcc-4.7.2/libstdc++-v3/include/bits/streambuf.tcc 2012-10-31 16:49:37.515625000 +0000 +@@ -147,7 +147,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + // Inhibit implicit instantiations for required instantiations, // which are defined via explicit instantiations elsewhere. - // NB: This syntax is a GNU extension. #if _GLIBCXX_EXTERN_TEMPLATE - extern template class basic_streambuf<char>; + extern template class _GLIBCXX_IMPORT basic_streambuf<char>; extern template streamsize __copy_streambufs(basic_streambuf<char>*, -@@ -157,7 +157,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +@@ -158,7 +158,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION basic_streambuf<char>*, bool&); #ifdef _GLIBCXX_USE_WCHAR_T @@ -503,10 +476,9 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/bits/streambuf.tcc src/gcc-4.5 extern template streamsize __copy_streambufs(basic_streambuf<wchar_t>*, -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/ext/concurrence.h src/gcc-4.5.0/libstdc++-v3/include/ext/concurrence.h ---- origsrc/gcc-4.5.0/libstdc++-v3/include/ext/concurrence.h 2009-04-09 16:00:19.000000000 +0100 -+++ src/gcc-4.5.0/libstdc++-v3/include/ext/concurrence.h 2010-04-19 05:11:01.796875000 +0100 -@@ -60,7 +60,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) +--- origsrc/gcc-4.7.2/libstdc++-v3/include/ext/concurrence.h 2012-07-16 23:34:13.000000000 +0100 ++++ src/gcc-4.7.2/libstdc++-v3/include/ext/concurrence.h 2012-10-31 16:49:37.515625000 +0000 +@@ -65,7 +65,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION // NB: As this is used in libsupc++, need to only depend on // exception. No stdexception classes, no use of std::string. @@ -515,7 +487,7 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/ext/concurrence.h src/gcc-4.5. { public: virtual char const* -@@ -68,7 +68,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) +@@ -73,7 +73,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return "__gnu_cxx::__concurrence_lock_error"; } }; @@ -524,38 +496,36 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/ext/concurrence.h src/gcc-4.5. { public: virtual char const* -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/std/iostream src/gcc-4.5.0/libstdc++-v3/include/std/iostream ---- origsrc/gcc-4.5.0/libstdc++-v3/include/std/iostream 2010-02-04 18:20:34.000000000 +0000 -+++ src/gcc-4.5.0/libstdc++-v3/include/std/iostream 2010-04-19 05:11:01.796875000 +0100 -@@ -56,16 +56,16 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +--- origsrc/gcc-4.7.2/libstdc++-v3/include/std/iostream 2011-01-30 22:39:36.000000000 +0000 ++++ src/gcc-4.7.2/libstdc++-v3/include/std/iostream 2012-10-31 16:53:39.078125000 +0000 +@@ -58,16 +58,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * linked to above. */ //@{ -- extern istream cin; ///< Linked to standard input -- extern ostream cout; ///< Linked to standard output -- extern ostream cerr; ///< Linked to standard error (unbuffered) -- extern ostream clog; ///< Linked to standard error (buffered) -+ extern _GLIBCXX_IMPORT istream cin; ///< Linked to standard input -+ extern _GLIBCXX_IMPORT ostream cout; ///< Linked to standard output -+ extern _GLIBCXX_IMPORT ostream cerr; ///< Linked to standard error (unbuffered) -+ extern _GLIBCXX_IMPORT ostream clog; ///< Linked to standard error (buffered) +- extern istream cin; /// Linked to standard input +- extern ostream cout; /// Linked to standard output +- extern ostream cerr; /// Linked to standard error (unbuffered) +- extern ostream clog; /// Linked to standard error (buffered) ++ extern _GLIBCXX_IMPORT istream cin; /// Linked to standard input ++ extern _GLIBCXX_IMPORT ostream cout; /// Linked to standard output ++ extern _GLIBCXX_IMPORT ostream cerr; /// Linked to standard error (unbuffered) ++ extern _GLIBCXX_IMPORT ostream clog; /// Linked to standard error (buffered) #ifdef _GLIBCXX_USE_WCHAR_T -- extern wistream wcin; ///< Linked to standard input -- extern wostream wcout; ///< Linked to standard output -- extern wostream wcerr; ///< Linked to standard error (unbuffered) -- extern wostream wclog; ///< Linked to standard error (buffered) -+ extern _GLIBCXX_IMPORT wistream wcin; ///< Linked to standard input -+ extern _GLIBCXX_IMPORT wostream wcout; ///< Linked to standard output -+ extern _GLIBCXX_IMPORT wostream wcerr; ///< Linked to standard error (unbuffered) -+ extern _GLIBCXX_IMPORT wostream wclog; ///< Linked to standard error (buffered) +- extern wistream wcin; /// Linked to standard input +- extern wostream wcout; /// Linked to standard output +- extern wostream wcerr; /// Linked to standard error (unbuffered) +- extern wostream wclog; /// Linked to standard error (buffered) ++ extern _GLIBCXX_IMPORT wistream wcin; /// Linked to standard input ++ extern _GLIBCXX_IMPORT wostream wcout; /// Linked to standard output ++ extern _GLIBCXX_IMPORT wostream wcerr; /// Linked to standard error (unbuffered) ++ extern _GLIBCXX_IMPORT wostream wclog; /// Linked to standard error (buffered) #endif //@} -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/std/stdexcept src/gcc-4.5.0/libstdc++-v3/include/std/stdexcept ---- origsrc/gcc-4.5.0/libstdc++-v3/include/std/stdexcept 2009-04-09 16:00:19.000000000 +0100 -+++ src/gcc-4.5.0/libstdc++-v3/include/std/stdexcept 2010-04-19 05:11:01.812500000 +0100 -@@ -50,7 +50,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +--- origsrc/gcc-4.7.2/libstdc++-v3/include/std/stdexcept 2011-12-06 20:03:25.000000000 +0000 ++++ src/gcc-4.7.2/libstdc++-v3/include/std/stdexcept 2012-10-31 17:02:54.890625000 +0000 +@@ -53,7 +53,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * program runs (e.g., violations of class invariants). * @brief One of two subclasses of exception. */ @@ -564,24 +534,25 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/std/stdexcept src/gcc-4.5.0/li { string _M_msg; -@@ -70,14 +70,14 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +@@ -72,7 +72,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION /** Thrown by the library, or by you, to report domain errors (domain in * the mathematical sense). */ - class domain_error : public logic_error -+ class _GLIBCXX_IMPORT domain_error : public logic_error ++ class _GLIBCXX_IMPORT domain_error : public logic_error { public: explicit domain_error(const string& __arg); +@@ -80,7 +80,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION }; /** Thrown to report invalid arguments to functions. */ - class invalid_argument : public logic_error -+ class _GLIBCXX_IMPORT invalid_argument : public logic_error ++ class _GLIBCXX_IMPORT invalid_argument : public logic_error { public: explicit invalid_argument(const string& __arg); -@@ -85,7 +85,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +@@ -89,7 +89,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION /** Thrown when an object is constructed that would exceed its maximum * permitted size (e.g., a basic_string instance). */ @@ -590,7 +561,7 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/std/stdexcept src/gcc-4.5.0/li { public: explicit length_error(const string& __arg); -@@ -93,7 +93,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +@@ -98,7 +98,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION /** This represents an argument whose value is not within the expected * range (e.g., boundary checks in basic_string). */ @@ -599,7 +570,7 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/std/stdexcept src/gcc-4.5.0/li { public: explicit out_of_range(const string& __arg); -@@ -104,7 +104,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +@@ -110,7 +110,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION * the program executes. * @brief One of two subclasses of exception. */ @@ -608,7 +579,7 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/std/stdexcept src/gcc-4.5.0/li { string _M_msg; -@@ -123,7 +123,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +@@ -128,7 +128,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION }; /** Thrown to indicate range errors in internal computations. */ @@ -617,7 +588,7 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/std/stdexcept src/gcc-4.5.0/li { public: explicit range_error(const string& __arg); -@@ -137,7 +137,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) +@@ -144,7 +144,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION }; /** Thrown to indicate arithmetic underflow. */ @@ -626,37 +597,9 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/include/std/stdexcept src/gcc-4.5.0/li { public: explicit underflow_error(const string& __arg); -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/libsupc++/Makefile.am src/gcc-4.5.0/libstdc++-v3/libsupc++/Makefile.am ---- origsrc/gcc-4.5.0/libstdc++-v3/libsupc++/Makefile.am 2009-08-23 08:28:35.000000000 +0100 -+++ src/gcc-4.5.0/libstdc++-v3/libsupc++/Makefile.am 2010-04-19 05:11:01.812500000 +0100 -@@ -154,7 +154,8 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --ta - --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) - --LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) -+LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) \ -+ -no-undefined -bindir $(bindir) - - # 3) We'd have a problem when building the shared libstdc++ object if - # the rules automake generates would be used. We cannot allow g++ to -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/libsupc++/Makefile.in src/gcc-4.5.0/libstdc++-v3/libsupc++/Makefile.in ---- origsrc/gcc-4.5.0/libstdc++-v3/libsupc++/Makefile.in 2010-04-02 19:18:06.000000000 +0100 -+++ src/gcc-4.5.0/libstdc++-v3/libsupc++/Makefile.in 2010-04-19 05:11:01.812500000 +0100 -@@ -466,7 +466,9 @@ LTCXXCOMPILE = $(LIBTOOL) --tag CXX --ta - --mode=compile $(CXX) $(TOPLEVEL_INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) - --LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) -+LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS)) \ -+ -no-undefined -bindir $(bindir) -+ - - # 3) We'd have a problem when building the shared libstdc++ object if - # the rules automake generates would be used. We cannot allow g++ to -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/libsupc++/exception src/gcc-4.5.0/libstdc++-v3/libsupc++/exception ---- origsrc/gcc-4.5.0/libstdc++-v3/libsupc++/exception 2010-02-18 17:58:53.000000000 +0000 -+++ src/gcc-4.5.0/libstdc++-v3/libsupc++/exception 2010-04-19 05:09:20.750000000 +0100 -@@ -58,7 +58,7 @@ namespace std +--- origsrc/gcc-4.7.2/libstdc++-v3/libsupc++/exception 2011-12-07 04:03:25.000000000 +0800 ++++ src/gcc-4.7.2/libstdc++-v3/libsupc++/exception 2013-02-26 19:27:32.575916600 +0800 +@@ -59,7 +59,7 @@ namespace std * your own %exception classes, or use a different hierarchy, or to * throw non-class data (e.g., fundamental types). */ @@ -664,8 +607,8 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/libsupc++/exception src/gcc-4.5.0/libs + class _GLIBCXX_IMPORT exception { public: - exception() throw() { } -@@ -71,7 +71,7 @@ namespace std + exception() _GLIBCXX_USE_NOEXCEPT { } +@@ -72,7 +72,7 @@ namespace std /** If an %exception is thrown which is not listed in a function's * %exception specification, one of these may be thrown. */ @@ -673,10 +616,9 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/libsupc++/exception src/gcc-4.5.0/libs + class _GLIBCXX_IMPORT bad_exception : public exception { public: - bad_exception() throw() { } -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/libsupc++/new src/gcc-4.5.0/libstdc++-v3/libsupc++/new ---- origsrc/gcc-4.5.0/libstdc++-v3/libsupc++/new 2010-02-18 17:58:53.000000000 +0000 -+++ src/gcc-4.5.0/libstdc++-v3/libsupc++/new 2010-04-19 05:11:01.828125000 +0100 + bad_exception() _GLIBCXX_USE_NOEXCEPT { } +--- origsrc/gcc-4.7.2/libstdc++-v3/libsupc++/new 2011-10-12 19:40:58.000000000 +0100 ++++ src/gcc-4.7.2/libstdc++-v3/libsupc++/new 2012-10-31 16:49:37.578125000 +0000 @@ -53,7 +53,7 @@ namespace std * * @c bad_alloc (or classes derived from it) is used to report allocation @@ -686,100 +628,38 @@ diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/libsupc++/new src/gcc-4.5.0/libstdc++- { public: bad_alloc() throw() { } -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/libsupc++/typeinfo src/gcc-4.5.0/libstdc++-v3/libsupc++/typeinfo ---- origsrc/gcc-4.5.0/libstdc++-v3/libsupc++/typeinfo 2010-02-18 17:58:53.000000000 +0000 -+++ src/gcc-4.5.0/libstdc++-v3/libsupc++/typeinfo 2010-04-19 05:10:35.125000000 +0100 -@@ -84,7 +84,7 @@ namespace std +--- origsrc/gcc-4.7.2/libstdc++-v3/libsupc++/typeinfo 2012-01-27 19:38:56.000000000 +0000 ++++ src/gcc-4.7.2/libstdc++-v3/libsupc++/typeinfo 2012-10-31 17:07:07.796875000 +0000 +@@ -87,7 +87,7 @@ namespace std * The @c type_info class describes type information generated by * an implementation. */ -- class type_info -+ class _GLIBCXX_IMPORT type_info +- class type_info ++ class _GLIBCXX_IMPORT type_info { public: /** Destructor first. Being the first non-inline virtual function, this -@@ -171,7 +171,7 @@ namespace std +@@ -186,7 +186,7 @@ namespace std * * If you attempt an invalid @c dynamic_cast expression, an instance of * this class (or something derived from this class) is thrown. */ -- class bad_cast : public exception -+ class _GLIBCXX_IMPORT bad_cast : public exception +- class bad_cast : public exception ++ class _GLIBCXX_IMPORT bad_cast : public exception { public: - bad_cast() throw() { } -@@ -188,7 +188,7 @@ namespace std + bad_cast() _GLIBCXX_USE_NOEXCEPT { } +@@ -203,7 +203,7 @@ namespace std * @brief Thrown when a NULL pointer in a @c typeid expression is used. * @ingroup exceptions */ -- class bad_typeid : public exception -+ class _GLIBCXX_IMPORT bad_typeid : public exception +- class bad_typeid : public exception ++ class _GLIBCXX_IMPORT bad_typeid : public exception { public: - bad_typeid () throw() { } -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/scripts/testsuite_flags.in src/gcc-4.5.0/libstdc++-v3/scripts/testsuite_flags.in ---- origsrc/gcc-4.5.0/libstdc++-v3/scripts/testsuite_flags.in 2007-09-11 23:32:51.000000000 +0100 -+++ src/gcc-4.5.0/libstdc++-v3/scripts/testsuite_flags.in 2010-04-19 05:11:01.828125000 +0100 -@@ -27,6 +27,7 @@ EOF - BUILD_DIR=@glibcxx_builddir@ - SRC_DIR=@glibcxx_srcdir@ - PREFIX_DIR=@glibcxx_prefixdir@ -+target=@target@ - query=$1 - - case ${query} in -@@ -71,6 +72,12 @@ case ${query} in - ;; - --cxxldflags) - SECTIONLDFLAGS="@SECTION_LDFLAGS@ @LIBICONV@" -+ case ${target} in -+ *cygwin*) -+ SECTIONLDFLAGS="${SECTIONLDFLAGS} -Wl,--enable-auto-import" -+ ;; -+ esac -+ - echo ${SECTIONLDFLAGS} - ;; - *) -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/src/Makefile.am src/gcc-4.5.0/libstdc++-v3/src/Makefile.am ---- origsrc/gcc-4.5.0/libstdc++-v3/src/Makefile.am 2010-02-22 18:07:07.000000000 +0000 -+++ src/gcc-4.5.0/libstdc++-v3/src/Makefile.am 2010-04-19 05:11:01.828125000 +0100 -@@ -210,7 +210,8 @@ libstdc___la_DEPENDENCIES = \ - $(top_builddir)/libsupc++/libsupc++convenience.la - - libstdc___la_LDFLAGS = \ -- -version-info $(libtool_VERSION) ${version_arg} -lm -+ -version-info $(libtool_VERSION) ${version_arg} -lm \ -+ -no-undefined -bindir $(bindir) - - libstdc___la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS) - -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/src/Makefile.in src/gcc-4.5.0/libstdc++-v3/src/Makefile.in ---- origsrc/gcc-4.5.0/libstdc++-v3/src/Makefile.in 2010-04-02 19:18:06.000000000 +0100 -+++ src/gcc-4.5.0/libstdc++-v3/src/Makefile.in 2010-04-19 05:11:01.828125000 +0100 -@@ -452,7 +452,8 @@ libstdc___la_DEPENDENCIES = \ - $(top_builddir)/libsupc++/libsupc++convenience.la - - libstdc___la_LDFLAGS = \ -- -version-info $(libtool_VERSION) ${version_arg} -lm -+ -version-info $(libtool_VERSION) ${version_arg} -lm \ -+ -no-undefined -bindir $(bindir) - - libstdc___la_LINK = $(CXXLINK) $(libstdc___la_LDFLAGS) - -diff -pruN origsrc/gcc-4.5.0/libstdc++-v3/testsuite/lib/libstdc++.exp src/gcc-4.5.0/libstdc++-v3/testsuite/lib/libstdc++.exp ---- origsrc/gcc-4.5.0/libstdc++-v3/testsuite/lib/libstdc++.exp 2010-01-07 00:22:51.000000000 +0000 -+++ src/gcc-4.5.0/libstdc++-v3/testsuite/lib/libstdc++.exp 2010-04-19 05:11:01.843750000 +0100 -@@ -124,6 +124,9 @@ proc libstdc++_init { testfile } { - if { [string match "powerpc-*-darwin*" $target_triplet] } { - append DEFAULT_CXXFLAGS " -multiply_defined suppress" - } -+ if { [string match "*-*-cygwin*" $target_triplet] } { -+ append DEFAULT_CXXFLAGS " -Wl,--enable-auto-import" -+ } - } - v3track DEFAULT_CXXFLAGS 2 - -@@ -144,6 +147,9 @@ proc libstdc++_init { testfile } { + bad_typeid () _GLIBCXX_USE_NOEXCEPT { } +--- origsrc/gcc-4.7.2/libstdc++-v3/testsuite/lib/libstdc++.exp 2012-08-06 22:34:27.000000000 +0800 ++++ src/gcc-4.7.2/libstdc++-v3/testsuite/lib/libstdc++.exp 2013-02-26 19:31:07.934763700 +0800 +@@ -146,6 +146,9 @@ proc libstdc++_init { testfile } { set gccdir [file dirname $gccdir] append ld_library_path_tmp ":${gccdir}" } diff --git a/gcc47-misc-core.patch b/gcc47-misc-core.patch new file mode 100644 index 0000000..0c66eb0 --- /dev/null +++ b/gcc47-misc-core.patch @@ -0,0 +1,27 @@ +--- origsrc/gcc-4.7.2/gcc/cppdefault.c 2012-01-06 08:14:32.000000000 +0800 ++++ src/gcc-4.7.2/gcc/cppdefault.c 2013-02-26 19:32:22.836275000 +0800 +@@ -35,6 +35,8 @@ + # undef NATIVE_SYSTEM_HEADER_DIR + #else + # undef CROSS_INCLUDE_DIR ++# undef CROSS_INCLUDE_DIR_1 ++# undef CROSS_INCLUDE_DIR_2 + #endif + + const struct default_include cpp_include_defaults[] +@@ -84,6 +86,14 @@ const struct default_include cpp_include + /* One place the target system's headers might be. */ + { CROSS_INCLUDE_DIR, "GCC", 0, 0, 0, 0 }, + #endif ++#ifdef CROSS_INCLUDE_DIR_1 ++ /* One more place the target system's headers might be. */ ++ { CROSS_INCLUDE_DIR_1, "GCC", 0, 0, 0, 0 }, ++#endif ++#ifdef CROSS_INCLUDE_DIR_2 ++ /* One more place the target system's headers might be. */ ++ { CROSS_INCLUDE_DIR_2, "GCC", 0, 0, 0, 0 }, ++#endif + #ifdef TOOL_INCLUDE_DIR + /* Another place the target system's headers might be. */ + { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1, 0, 0 }, + diff --git a/gcc47-specs.patch b/gcc47-specs.patch new file mode 100644 index 0000000..8b82f3d --- /dev/null +++ b/gcc47-specs.patch @@ -0,0 +1,87 @@ +Accept -pthread and -rdynamic for compatibility with Linux. +Add --large-address-aware, and use --tsaware, only with EXEs. + +--- origsrc/gcc-4.7.2/gcc/config.gcc 2012-09-12 04:03:54.000000000 -0500 ++++ src/gcc-4.7.2/gcc/config.gcc 2013-03-11 03:41:03.674656700 -0500 +@@ -1417,7 +1417,7 @@ i[34567]86-*-cygwin*) + 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" +--- origsrc/gcc-4.7.2/gcc/config/i386/cygwin.h 2012-02-13 15:46:38.000000000 -0600 ++++ src/gcc-4.7.2/gcc/config/i386/cygwin.h 2013-03-06 00:13:25.986558800 -0600 +@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3. + #define EXTRA_OS_CPP_BUILTINS() /* Nothing. */ + + #undef CPP_SPEC +-#define CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE} \ ++#define CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE} %{pthread: } \ + -D__CYGWIN32__ -D__CYGWIN__ %{!ansi:-Dunix} -D__unix__ -D__unix \ + %{mwin32:-DWIN32 -D_WIN32 -D__WIN32 -D__WIN32__ %{!ansi:-DWINNT}} \ + %{!nostdinc:%{!mno-win32:-idirafter ../include/w32api%s -idirafter ../../include/w32api%s}}\ +@@ -49,11 +49,7 @@ along with GCC; see the file COPYING3. + %{static|static-libgcc:-lgcc -lgcc_eh} \ + %{!static: \ + %{!static-libgcc: \ +- %{!shared: \ +- %{!shared-libgcc:-lgcc -lgcc_eh} \ +- %{shared-libgcc:-lgcc_s -lgcc} \ +- } \ +- %{shared:-lgcc_s -lgcc} \ ++ -lgcc_s -lgcc \ + } \ + } " + #else +@@ -72,6 +72,7 @@ along with GCC; see the file COPYING3. + #undef LIB_SPEC + #define LIB_SPEC "\ + %{pg:-lgmon} \ ++ %{pthread: } \ + -lcygwin \ + %{mwindows:-lgdi32 -lcomdlg32} \ + -ladvapi32 -lshell32 -luser32 -lkernel32" +@@ -115,7 +116,9 @@ along with GCC; see the file COPYING3. + %{shared: --shared} %{mdll:--dll} \ + %{static:-Bstatic} %{!static:-Bdynamic} \ + %{shared|mdll: --enable-auto-image-base -e __cygwin_dll_entry@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. */ +--- origsrc/gcc-4.7.2/gcc/config/i386/cygwin.opt 1969-12-31 18:00:00.000000000 -0600 ++++ src/gcc-4.7.2/gcc/config/i386/cygwin.opt 2013-03-11 03:36:36.556378400 -0500 +@@ -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 --git a/gcc48-lto-plugin-soname.patch b/gcc48-lto-plugin-soname.patch new file mode 100644 index 0000000..2ca18db --- /dev/null +++ b/gcc48-lto-plugin-soname.patch @@ -0,0 +1,50 @@ +--- origsrc/gcc-4.8-20130310/gcc/config.host 2013-03-17 02:15:46.575313400 -0500 ++++ src/gcc-4.8-20130310/gcc/config.host 2013-03-17 03:10:31.035640300 -0500 +@@ -219,14 +219,14 @@ case ${host} in + out_host_hook_obj=host-cygwin.o + host_xmake_file="${host_xmake_file} i386/x-cygwin" + host_exeext=.exe +- host_lto_plugin_soname=cyglto_plugin-0.dll ++ host_lto_plugin_soname=cyglto_plugin.dll + ;; + i[34567]86-*-mingw32*) + host_xm_file=i386/xm-mingw32.h + host_xmake_file="${host_xmake_file} i386/x-mingw32" + host_exeext=.exe + out_host_hook_obj=host-mingw32.o +- host_lto_plugin_soname=liblto_plugin-0.dll ++ host_lto_plugin_soname=liblto_plugin.dll + ;; + x86_64-*-mingw*) + use_long_long_for_widest_fast_int=yes +@@ -234,7 +234,7 @@ case ${host} in + host_xmake_file="${host_xmake_file} i386/x-mingw32" + host_exeext=.exe + out_host_hook_obj=host-mingw32.o +- host_lto_plugin_soname=liblto_plugin-0.dll ++ host_lto_plugin_soname=liblto_plugin.dll + ;; + i[34567]86-*-uwin*) + echo "*** UWIN may not be used as a host platform because" +--- origsrc/gcc-4.8-20130310/lto-plugin/Makefile.am 2011-08-10 03:48:37.000000000 -0500 ++++ src/gcc-4.8-20130310/lto-plugin/Makefile.am 2013-03-17 03:11:08.995692600 -0500 +@@ -22,7 +22,7 @@ liblto_plugin_la_SOURCES = lto-plugin.c + liblto_plugin_la_LIBADD = \ + $(if $(wildcard ../libiberty/pic/libiberty.a),$(Wc)../libiberty/pic/libiberty.a,) + # Note that we intentionally override the bindir supplied by ACX_LT_HOST_FLAGS +-liblto_plugin_la_LDFLAGS = $(lt_host_flags) -module -bindir $(libexecsubdir) \ ++liblto_plugin_la_LDFLAGS = $(lt_host_flags) -module -avoid-version -bindir $(libexecsubdir) \ + $(if $(wildcard ../libiberty/pic/libiberty.a),,-Wc,../libiberty/libiberty.a) + liblto_plugin_la_DEPENDENCIES = $(if $(wildcard \ + ../libiberty/pic/libiberty.a),../libiberty/pic/libiberty.a,) +--- origsrc/gcc-4.8-20130310/lto-plugin/Makefile.in 2011-08-10 03:48:37.000000000 -0500 ++++ src/gcc-4.8-20130310/lto-plugin/Makefile.in 2013-03-17 03:12:11.625779100 -0500 +@@ -242,7 +242,7 @@ liblto_plugin_la_LIBADD = \ + $(if $(wildcard ../libiberty/pic/libiberty.a),$(Wc)../libiberty/pic/libiberty.a,) + + # Note that we intentionally override the bindir supplied by ACX_LT_HOST_FLAGS +-liblto_plugin_la_LDFLAGS = $(lt_host_flags) -module -bindir $(libexecsubdir) \ ++liblto_plugin_la_LDFLAGS = $(lt_host_flags) -module -avoid-version -bindir $(libexecsubdir) \ + $(if $(wildcard ../libiberty/pic/libiberty.a),,-Wc,../libiberty/libiberty.a) + + liblto_plugin_la_DEPENDENCIES = $(if $(wildcard \ @@ -1 +1 @@ -8e0b5c12212e185f3e4383106bfa9cc6 gcc-4.5.3.tar.bz2 +86f428a30379bdee0224e353ee2f999e gcc-4.7.3.tar.bz2 |