summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYaakov Selkowitz <yselkowitz@users.sourceforge.net>2014-06-10 15:05:23 -0500
committerYaakov Selkowitz <yselkowitz@users.sourceforge.net>2014-06-10 15:05:23 -0500
commit3894d909e48c302c358eefa4981830b076e3e972 (patch)
tree63f32b8850c8c638551114209c4f07b9adfd93f3
parentb7a08e809ac4ba3b76b691f54391cfbf39d11847 (diff)
downloadcygwin-gcc-3894d909e48c302c358eefa4981830b076e3e972.tar.gz
cygwin-gcc-3894d909e48c302c358eefa4981830b076e3e972.tar.xz
cygwin-gcc-3894d909e48c302c358eefa4981830b076e3e972.zip
cygwin-gcc 4.8.3
-rw-r--r--cygwin-gcc.spec139
-rw-r--r--gcc48-libatomic-cygwin.patch60
-rw-r--r--gcc48-libgcc-references.patch45
-rw-r--r--gcc49-default-manifest.patch31
-rw-r--r--sources2
5 files changed, 76 insertions, 201 deletions
diff --git a/cygwin-gcc.spec b/cygwin-gcc.spec
index 51f2053..162e830 100644
--- a/cygwin-gcc.spec
+++ b/cygwin-gcc.spec
@@ -2,25 +2,20 @@
# and the name of libgcj-*.pc
%global gcc_major 4
%global gcc_minor 8
-%global gcc_micro 2
+%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 2
+%global gcc_release 1
%global build_ada 0
# building cross-gnat requires matching X.Y version of native gnat
-%if 0%{?fedora} >= 19 && 0%{?fedora} < 22 || 0%{?rhel} == 7
+%if 0%{?fedora} >= 19 && 0%{?fedora} < 21 || 0%{?rhel} == 7
%ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha
%global build_ada 1
%endif
%endif
-%if 0%{?rhel} >= 7
-%global build_java 0
-%else
-%global build_java 1
-%endif
%global __os_install_post /usr/lib/rpm/brp-compress %{nil}
@@ -53,31 +48,18 @@ BuildRequires: gettext
%if %{build_ada}
BuildRequires: gcc-gnat
%endif
-%if %{build_java}
-BuildRequires: cygwin32-libiconv
-BuildRequires: cygwin32-zlib
-BuildRequires: gcc-c++
-BuildRequires: gcc-java
-%endif
Source0: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{gcc_version}/gcc-%{gcc_version}.tar.bz2
Patch0: gcc46-textdomain.patch
Patch1: gcc47-ada.patch
-Patch3: gcc47-libffi-noinst.patch
Patch4: gcc47-libstdc-cygwin.patch
-Patch7: gcc47-cross-jardir.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: gcc48-specs-cygwin.patch
Patch19: gcc48-lto-plugin-soname.patch
-Patch20: gcc48-java-soname.patch
Patch21: gcc48-libatomic-cygwin.patch
-Patch22: gcc48-libgcc-references.patch
Patch23: gcc48-Wimplicit-decls.patch
+Patch24: gcc49-default-manifest.patch
%description
@@ -106,6 +88,9 @@ Provides: cygwin(cyggomp-1.dll)
Provides: cygwin(cygssp-0.dll)
Provides: %{name} = %{version}-%{release}
Obsoletes: %{name} < 4.7
+# prevent update errors
+Obsoletes: %{name}-java < %{version}-%{release}
+Obsoletes: cygwin32-gcc-java < %{version}-%{release}
%description -n cygwin32-gcc
@@ -198,46 +183,18 @@ Obsoletes: %{name}-gnat < 4.7
Cygwin cross-compiler for Ada.
-%package -n cygwin32-gcc-java
-Summary: Cygwin cross-compiler for Java
-Group: Development/Languages
-Requires: cygwin32-gcc = %{version}-%{release}
-Requires: ecj
-Requires: cygwin32-libiconv
-Requires: cygwin32-zlib
-# We don't run the automatic dependency scripts which would
-# normally detect and provide the following DLL:
-Provides: cygwin32(cyggcj-14.dll)
-Provides: cygwin32(cyggcj-noncore-14.dll)
-Provides: cygwin32(cyggcj-tools-14.dll)
-Provides: cygwin32(cyggij-14.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 -p2
%patch1 -p2
-%patch3 -p2
%patch4 -p2
-%patch7 -p2
-%patch9 -p1
-%patch10 -p2
%patch13 -p1
-%patch14 -p2
%patch15 -p2
-%patch16 -p2
%patch17 -p0
%patch19 -p2
-%patch20 -p0
%patch21 -p2
-%patch22 -p0
%patch23 -p2
+%patch24 -p0
echo %{gcc_version} > gcc/BASE-VER
echo 'Fedora Cygwin %{gcc_version}-%{gcc_release}' > gcc/DEV-PHASE
@@ -250,9 +207,6 @@ pushd build_cyg32
%if %{build_ada}
enablelada=,ada
%endif
-%if %{build_java}
-enableljava=,java
-%endif
CC="%{__cc} ${RPM_OPT_FLAGS}" \
../configure \
@@ -280,7 +234,7 @@ CC="%{__cc} ${RPM_OPT_FLAGS}" \
%if 0%{?fedora} >= 15 || 0%{?rhel} == 7
--enable-graphite \
%endif
- --enable-languages="c,c++,objc,obj-c++${enableljava},fortran${enablelada},lto" \
+ --enable-languages="c,c++,objc,obj-c++,fortran${enablelada},lto" \
--enable-lto --disable-symvers \
--enable-libgomp --disable-libitm --enable-libssp \
--enable-libquadmath --enable-libquadmath-support \
@@ -288,13 +242,6 @@ CC="%{__cc} ${RPM_OPT_FLAGS}" \
%if %{build_ada}
--enable-libada \
%endif
-%if %{build_java}
- --enable-libjava \
- --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
make %{?_smp_mflags} all
@@ -312,32 +259,10 @@ make DESTDIR=$RPM_BUILD_ROOT install
rm -rf $RPM_BUILD_ROOT%{_infodir}
rm -f $RPM_BUILD_ROOT%{_libdir}/libiberty*
rm -f $RPM_BUILD_ROOT%{_mandir}/man7/*
-%if %{build_java}
-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}/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 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}/%{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/%{cygwin32_target}-cpp \
$RPM_BUILD_ROOT/lib/%{cygwin32_target}-cpp
@@ -349,14 +274,6 @@ 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 libgcj pkg-config files into sysroot
-mkdir -p $RPM_BUILD_ROOT%{cygwin32_libdir}/pkgconfig
-mv $RPM_BUILD_ROOT%{_libdir}/pkgconfig/* \
- $RPM_BUILD_ROOT%{cygwin32_libdir}/pkgconfig
-%endif
-
# Don't want the *.la files.
find $RPM_BUILD_ROOT -name '*.la' -delete
@@ -494,40 +411,12 @@ rm -rf $RPM_BUILD_ROOT
%endif
-%if %{build_java}
-%files -n cygwin32-gcc-java
-%defattr(-,root,root,-)
-%{_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-14.dll
-%{cygwin32_bindir}/cyggcj-noncore-14.dll
-%{cygwin32_bindir}/cyggcj-tools-14.dll
-%{cygwin32_bindir}/cyggij-14.dll
-%{cygwin32_bindir}/cygjvm.dll
-%{cygwin32_libdir}/pkgconfig/libgcj-4.8.pc
-%{_datadir}/gcc-%{gcc_version}/%{cygwin32_target}/java
-%endif
-
-
%changelog
+* Tue Jun 10 2014 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - 4.8.3-1
+- Version bump.
+- Remove java support (dropped from F21/EL7).
+- Added patch to support default manifest.
+
* Tue Jan 21 2014 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> - 4.8.2-2
- Fix 64-bit builtin types for i686-cygwin target.
diff --git a/gcc48-libatomic-cygwin.patch b/gcc48-libatomic-cygwin.patch
index 2ab3dc6..af28245 100644
--- a/gcc48-libatomic-cygwin.patch
+++ b/gcc48-libatomic-cygwin.patch
@@ -38,8 +38,29 @@
m4_include([../config/multi.m4])
m4_include([../config/override.m4])
m4_include([../config/stdint.m4])
---- origsrc/gcc-4.8-20130310/libatomic/configure 2013-03-10 17:37:36.000000000 -0500
-+++ src/gcc-4.8-20130310/libatomic/configure 2013-03-17 05:29:38.288507000 -0500
+--- origsrc/gcc-4.8-20130310/libatomic/configure.ac 2013-01-14 12:16:23.000000000 -0600
++++ src/gcc-4.8-20130310/libatomic/configure.ac 2013-03-17 05:29:30.655070400 -0500
+@@ -143,6 +143,7 @@
+
+ # Configure libtool
+ AM_PROG_LIBTOOL
++ACX_LT_HOST_FLAGS
+ AC_SUBST(enable_shared)
+ AC_SUBST(enable_static)
+ AM_MAINTAINER_MODE
+--- origsrc/gcc-4.8-20130310/libatomic/configure.tgt 2013-01-14 12:16:23.000000000 -0600
++++ src/gcc-4.8-20130310/libatomic/configure.tgt 2013-03-17 04:50:09.727033000 -0500
+@@ -108,7 +108,7 @@
+ *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu \
+ | *-*-netbsd* | *-*-freebsd* | *-*-openbsd* \
+ | *-*-solaris2* | *-*-sysv4* | *-*-irix6* | *-*-osf* | *-*-hpux11* \
+- | *-*-darwin* | *-*-aix*)
++ | *-*-darwin* | *-*-aix* | *-*-cygwin*)
+ # POSIX system. The OS is supported.
+ config_path="${config_path} posix"
+ ;;
+--- origsrc/gcc-4.8-20130310/libatomic/configure 2014-05-22 17:13:49.000000000 +0800
++++ src/gcc-4.8-20130310/libatomic/configure 2014-05-24 12:40:30.720760000 +0800
@@ -627,6 +627,7 @@
MAINTAINER_MODE_TRUE
enable_static
@@ -48,25 +69,25 @@
CPP
OTOOL64
OTOOL
-@@ -11013,7 +11014,7 @@
+@@ -11019,7 +11020,7 @@
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11016 "configure"
-+#line 11017 "configure"
+-#line 11022 "configure"
++#line 11023 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11119,7 +11120,7 @@
+@@ -11125,7 +11126,7 @@
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
--#line 11122 "configure"
-+#line 11123 "configure"
+-#line 11128 "configure"
++#line 11129 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
-@@ -11357,6 +11358,28 @@
+@@ -11363,6 +11364,28 @@
@@ -95,24 +116,3 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
---- origsrc/gcc-4.8-20130310/libatomic/configure.ac 2013-01-14 12:16:23.000000000 -0600
-+++ src/gcc-4.8-20130310/libatomic/configure.ac 2013-03-17 05:29:30.655070400 -0500
-@@ -143,6 +143,7 @@
-
- # Configure libtool
- AM_PROG_LIBTOOL
-+ACX_LT_HOST_FLAGS
- AC_SUBST(enable_shared)
- AC_SUBST(enable_static)
- AM_MAINTAINER_MODE
---- origsrc/gcc-4.8-20130310/libatomic/configure.tgt 2013-01-14 12:16:23.000000000 -0600
-+++ src/gcc-4.8-20130310/libatomic/configure.tgt 2013-03-17 04:50:09.727033000 -0500
-@@ -108,7 +108,7 @@
- *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu \
- | *-*-netbsd* | *-*-freebsd* | *-*-openbsd* \
- | *-*-solaris2* | *-*-sysv4* | *-*-irix6* | *-*-osf* | *-*-hpux11* \
-- | *-*-darwin* | *-*-aix*)
-+ | *-*-darwin* | *-*-aix* | *-*-cygwin*)
- # POSIX system. The OS is supported.
- config_path="${config_path} posix"
- ;;
diff --git a/gcc48-libgcc-references.patch b/gcc48-libgcc-references.patch
deleted file mode 100644
index c8918b8..0000000
--- a/gcc48-libgcc-references.patch
+++ /dev/null
@@ -1,45 +0,0 @@
---- libgcc/config/i386/cygming-crtbegin.c.orig 2013-07-25 18:39:34.579552100 +0800
-+++ libgcc/config/i386/cygming-crtbegin.c 2013-07-25 18:43:51.778712300 +0800
-@@ -100,6 +100,8 @@
- extern void __gcc_register_frame (void);
- extern void __gcc_deregister_frame (void);
-
-+static HANDLE libgcc_dll;
-+
- void
- __gcc_register_frame (void)
- {
-@@ -112,8 +114,11 @@
- void (*register_frame_fn) (const void *, struct object *);
- HANDLE h = GetModuleHandle (LIBGCC_SONAME);
- if (h)
-- register_frame_fn = (void (*) (const void *, struct object *))
-- GetProcAddress (h, "__register_frame_info");
-+ {
-+ libgcc_dll = LoadLibrary (LIBGCC_SONAME); /* Hold reference */
-+ register_frame_fn = (void (*) (const void *, struct object *))
-+ GetProcAddress (h, "__register_frame_info");
-+ }
- else
- register_frame_fn = __register_frame_info;
- if (register_frame_fn)
-@@ -142,13 +147,16 @@
- {
- #if DWARF2_UNWIND_INFO
- void * (*deregister_frame_fn) (const void *);
-- HANDLE h = GetModuleHandle (LIBGCC_SONAME);
-- if (h)
-+ if (libgcc_dll)
- deregister_frame_fn = (void* (*) (const void *))
-- GetProcAddress (h, "__deregister_frame_info");
-+ GetProcAddress (libgcc_dll, "__deregister_frame_info");
- else
- deregister_frame_fn = __deregister_frame_info;
- if (deregister_frame_fn)
- deregister_frame_fn (__EH_FRAME_BEGIN__);
-+
-+if (libgcc_dll)
-+ FreeLibrary (libgcc_dll);
-+
- #endif
- }
diff --git a/gcc49-default-manifest.patch b/gcc49-default-manifest.patch
new file mode 100644
index 0000000..afb2c77
--- /dev/null
+++ b/gcc49-default-manifest.patch
@@ -0,0 +1,31 @@
+2014-04-23 Nick Clifton <nickc@redhat.com>
+
+ * config/i386/cygwin.h (ENDFILE_SPEC): Include
+ default-manifest.o if it can be found in the search path.
+ * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
+
+Index: gcc/config/i386/cygwin.h
+===================================================================
+--- gcc/config/i386/cygwin.h (revision 209670)
++++ gcc/config/i386/cygwin.h (working copy)
+@@ -45,6 +45,7 @@
+ #undef ENDFILE_SPEC
+ #define ENDFILE_SPEC \
+ "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s}\
++ %{!shared:%:if-exists(default-manifest.o%s)}\
+ crtend.o%s"
+
+ /* Normally, -lgcc is not needed since everything in it is in the DLL, but we
+Index: gcc/config/i386/mingw32.h
+===================================================================
+--- gcc/config/i386/mingw32.h (revision 209670)
++++ gcc/config/i386/mingw32.h (working copy)
+@@ -148,6 +148,7 @@
+ #undef ENDFILE_SPEC
+ #define ENDFILE_SPEC \
+ "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
++ %{!shared:%:if-exists(default-manifest.o%s)}\
+ crtend.o%s"
+
+ /* Override startfile prefix defaults. */
+
diff --git a/sources b/sources
index bad02c9..b707160 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-a3d7d63b9cb6b6ea049469a0c4a43c9d gcc-4.8.2.tar.bz2
+7c60f24fab389f77af203d2516ee110f gcc-4.8.3.tar.bz2