[packages/gcc6-java] - restored gcc 6.5.0, the last version with Java support

qboosh qboosh at pld-linux.org
Thu Dec 19 20:27:22 CET 2019


commit 2bd76b9b75158f9a171d498a1e89bbf3df2b7fd6
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Thu Dec 19 20:25:47 2019 +0100

    - restored gcc 6.5.0, the last version with Java support

 branch.sh                    |   8 +-
 gcc-enable-java-awt-qt.patch |  82 ++++
 gcc-info.patch               | 219 ++++++++++
 gcc-libjava-multilib.patch   |  47 +++
 gcc-moresparcs.patch         |   6 +-
 gcc-nodebug.patch            |  87 +++-
 gcc.spec                     | 960 ++++++++++++++++++++++++++++++++++++++-----
 7 files changed, 1288 insertions(+), 121 deletions(-)
---
diff --git a/gcc.spec b/gcc.spec
index 2457980..d8ab635 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,9 +1,15 @@
-# NOTE: despite lower soname, libffi is newer than standalone 3.0.10
 #
 # NOTE
 # - when adding new subpackages with external libraries (like libffi)
 #   or having own Version, do not use epoch 6 there, reset them to 0!
 #
+# TODO:
+# - gconf peer? (BR: GConf2-devel >= 2.6.0) (but libgcj needs split anyway)
+# - gstreamer peer? (BR: gstreamer-devel, gstreamer-plugins-base-devel >= 0.10.10)
+# - restore qt peer?
+# - package?
+#   /usr/bin/gjdoc [BR: antlr.jar] (but see gjdoc package, there are some additional jars?)
+#   /usr/share/man/man1/gjdoc.1.gz
 #
 # Conditional build:
 # - languages:
@@ -11,6 +17,7 @@
 %bcond_without	cxx		# build without C++ support
 %bcond_without	fortran		# build without Fortran support
 %bcond_without	go		# build without Go support
+%bcond_without	java		# build without Java support
 %bcond_without	objc		# build without Objective-C support
 %bcond_without	objcxx		# build without Objective-C++ support
 # - features:
@@ -18,10 +25,18 @@
 %bcond_without	multilib	# build without multilib support (which needs glibc[32&64]-devel)
 %bcond_without	multilibx32	# build with x32 multilib support on x86_64 (needs x32 glibc-devel)
 %bcond_without	profiling	# build without profiling
-%bcond_without	python		# build without libstdc++ printers for gdb
+%bcond_without	python		# build without libstdc++ printers for gdb and aot-compile for java
 %bcond_with	gcc_libffi	# packaging gcc libffi for system usage
+				# note: libgcj and libgo always have convenience gcc libffi linked in
+# - libgcj options:
+%bcond_without	alsa		# don't build libgcj ALSA MIDI interface
+%bcond_without	dssi		# don't build libgcj DSSI MIDI interface
+%bcond_without	gtk		# don't build libgcj GTK peer
+%bcond_without	apidocs		# do not build and package API docs
+%bcond_with	mozilla		# build libgcjwebplugin (needs fix for new xulrunner)
+%bcond_with	qt		# build libgcj Qt peer (currently doesn't build with libtool-2.x)
+%bcond_without	x		# don't build libgcj Xlib-dependent AWTs (incl. GTK/Qt)
 # - other:
-%bcond_without	apidocs		# do not package API docs
 %bcond_without	bootstrap	# omit 3-stage bootstrap
 %bcond_with	tests		# torture gcc
 %bcond_with	symvers		# enable versioned symbols in libstdc++ (WARNING: changes soname from .so.6 to so.7)
@@ -32,9 +47,10 @@
 %define		cxx_sover	6
 %endif
 
-# go and objcxx require C++
+# go, java and objcxx require C++
 %if %{without cxx}
 %undefine	with_go
+%undefine	with_java
 %undefine	with_objcxx
 %endif
 # objcxx requires objc
@@ -46,6 +62,11 @@
 %undefine	with_profiling
 %endif
 
+%if %{without x}
+%undefine	with_gtk
+%undefine	with_qt
+%endif
+
 %ifarch sparc64 x32
 # used to be broken on sparc64 (to be verified if needed)
 # broken since 5.x on x32 (to be verified if needed)
@@ -72,6 +93,9 @@
 # library for atomic operations not supported by hardware
 %define		with_atomic	1
 %endif
+%ifarch %{ix86} %{x8664} x32
+%define		with_cilkrts	1
+%endif
 %ifarch %{ix86} %{x8664} x32 %{arm} ppc ppc64 sparc sparcv9 sparc64
 # sanitizer feature (asan and ubsan are common for all supported archs)
 %define		with_Xsan	1
@@ -90,10 +114,12 @@
 %define		with_vtv	1
 %endif
 
-# Stable is: any major_ver and minor_ver >= 1.0
-# For PLD we usually use gcc when minor_ver >= 2.0 (first bugfix release or later)
-%define		major_ver	9
-%define		minor_ver	2.0
+%define		major_ver	6
+%define		minor_ver	5.0
+%define		ecj_ver		4.9
+# class data version seen with file(1) that this jvm is able to load
+%define		_classdataversion 50.0
+%define		gcj_soname_ver	17
 
 Summary:	GNU Compiler Collection: the C compiler and shared files
 Summary(es.UTF-8):	Colección de compiladores GNU: el compilador C y ficheros compartidos
@@ -101,31 +127,33 @@ Summary(pl.UTF-8):	Kolekcja kompilatorów GNU: kompilator C i pliki współdziel
 Summary(pt_BR.UTF-8):	Coleção dos compiladores GNU: o compilador C e arquivos compartilhados
 Name:		gcc
 Version:	%{major_ver}.%{minor_ver}
-Release:	3
+Release:	1
 Epoch:		6
 License:	GPL v3+
 Group:		Development/Languages
 Source0:	https://ftp.gnu.org/pub/gnu/gcc/gcc-%{version}/%{name}-%{version}.tar.xz
-# Source0-md5:	3818ad8600447f05349098232c2ddc78
+# Source0-md5:	edaeff1cc020b16a0c19a6d5e80dc2fd
 Source1:	%{name}-optimize-la.pl
 # check libffi version with libffi/configure.ac
 Source3:	libffi.pc.in
 Source4:	branch.sh
 # use branch.sh to update gcc-branch.diff
 Patch100:	%{name}-branch.diff
-# Patch100-md5:	3003bd5671e4add292a634bf5e2b153a
+# Patch100-md5:	5ad5a566cbaf57f985192534e5ef1c32
 Patch0:		%{name}-info.patch
 Patch2:		%{name}-nodebug.patch
 Patch3:		%{name}-ada-link.patch
 Patch4:		%{name}-ada-x32.patch
 
+Patch7:		%{name}-libjava-multilib.patch
+Patch8:		%{name}-enable-java-awt-qt.patch
 Patch10:	%{name}-moresparcs.patch
 Patch11:	%{name}-install-libffi.patch
 URL:		http://gcc.gnu.org/
 BuildRequires:	autoconf >= 2.64
 %{?with_tests:BuildRequires:	autogen >= 5.5.4}
 BuildRequires:	automake >= 1:1.11.1
-BuildRequires:	binutils >= 3:2.30
+BuildRequires:	binutils >= 3:2.23
 BuildRequires:	bison
 BuildRequires:	chrpath >= 0.13-2
 %{?with_tests:BuildRequires:	dejagnu >= 1.4.4}
@@ -170,6 +198,7 @@ BuildRequires:	glibc-devel(sparcv9)
 BuildRequires:	gmp-c++-devel >= 4.3.2
 BuildRequires:	gmp-devel >= 4.3.2
 BuildRequires:	isl-devel >= 0.15
+BuildRequires:	java-ecj >= %{ecj_ver}
 BuildRequires:	libmpc-devel >= 0.8.1
 BuildRequires:	mpfr-devel >= 2.4.2
 %if %{with python}
@@ -181,8 +210,42 @@ BuildRequires:	tar >= 1:1.22
 BuildRequires:	texinfo >= 4.7
 BuildRequires:	xz
 BuildRequires:	zlib-devel
+%if %{with java}
+%{?with_alsa:BuildRequires:	alsa-lib-devel}
+%if %{with dssi}
+BuildRequires:	dssi-devel
+BuildRequires:	jack-audio-connection-kit-devel
+%endif
+BuildRequires:	libtool >= 2:2
+BuildRequires:	libxml2-devel >= 1:2.6.8
+BuildRequires:	libxslt-devel >= 1.1.11
+BuildRequires:	perl-base
+BuildRequires:	perl-tools-pod
+BuildRequires:	pkgconfig
+BuildRequires:	sed >= 4.0
+BuildRequires:	unzip
+BuildRequires:	zip
+%if %{with gtk}
+BuildRequires:	cairo-devel >= 1.1.8
+BuildRequires:	freetype-devel >= 2
+BuildRequires:	gdk-pixbuf2-devel >= 2.0
+BuildRequires:	gtk+2-devel >= 2:2.8
+BuildRequires:	libart_lgpl-devel >= 2.1
+BuildRequires:	pango-devel
+BuildRequires:	xorg-lib-libXrandr-devel
+BuildRequires:	xorg-lib-libXrender-devel
+BuildRequires:	xorg-lib-libXt-devel
+BuildRequires:	xorg-lib-libXtst-devel
+%endif
+%if %{with qt}
+BuildRequires:	QtCore-devel >= 4.1.0
+BuildRequires:	QtGui-devel >= 4.1.0
+BuildRequires:	qt4-build >= 4.1.0
+%endif
+%{?with_mozilla:BuildRequires:	xulrunner-devel >= 1.8.1.3-1.20070321.5}
+%endif
 BuildConflicts:	pdksh < 5.2.14-50
-Requires:	binutils >= 3:2.30
+Requires:	binutils >= 3:2.23
 Requires:	gmp >= 4.3.2
 Requires:	isl >= 0.15
 Requires:	libgcc = %{epoch}:%{version}-%{release}
@@ -226,6 +289,7 @@ BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %endif
 %endif
 %define		gcclibdir	%{_libdir}/gcc/%{_target_platform}/%{version}
+%define		gcjdbexecdir	gcj-%{version}-%{gcj_soname_ver}
 
 %define		filterout	-fwrapv -fno-strict-aliasing -fsigned-char
 %define		filterout_ld	-Wl,--as-needed
@@ -234,7 +298,7 @@ BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 # receiving non constant format strings
 %define		Werror_cflags	%{nil}
 
-%define		skip_post_check_so	'.*(libasan|libcc1plugin|libcp1plugin|libgo|libxmlj|libubsan|lib-gnu-awt-xlib)\.so.*'
+%define		skip_post_check_so	'.*(libcc1plugin|libgo|libxmlj|lib-gnu-awt-xlib|libmpxwrappers)\.so.*'
 # private symbols
 %define		_noautoreq		.*\(GLIBC_PRIVATE\)
 
@@ -499,6 +563,146 @@ Static GNU OpenMP library - %{m2_desc} version.
 %description -n libgomp-multilib-%{multilib2}-static -l pl.UTF-8
 Statyczna biblioteka GNU OpenMP - wersja %{m2_desc}.
 
+%package -n libcilkrts
+Summary:	GCC Cilk Plus language extensions runtime library
+Summary(pl.UTF-8):	Biblioteka uruchomieniowa rozszerzeń Cilk Plus dla GCC
+License:	BSD
+Group:		Libraries
+Requires:	libstdc++ = %{epoch}:%{version}-%{release}
+
+%description -n libcilkrts
+This package contains the Cilk Plus C/C++ language extensions runtime
+library.
+
+%description -n libcilkrts -l pl.UTF-8
+Ten pakiet zawiera bibliotekę uruchomieniową rozszerzeń Cilk Plus dla
+języków C/C++.
+
+%package -n libcilkrts-devel
+Summary:	GCC development files for Cilk Plus language extensions
+Summary(pl.UTF-8):	Pliki programistyczne GCC dla rozszerzeń Cilk Plus
+License:	BSD
+Group:		Development/Libraries
+Requires:	libcilkrts = %{epoch}:%{version}-%{release}
+
+%description -n libcilkrts-devel
+This package contains development files for Cilk Plus C/C++ language
+extensions.
+
+%description -n libcilkrts-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne rozszerzeń Cilk Plus dla
+języków C/C++.
+
+%package -n libcilkrts-static
+Summary:	GCC Cilk Plus language extensions static library
+Summary(pl.UTF-8):	Biblioteka statyczna rozszerzeń Cilk Plus dla GCC
+License:	BSD
+Group:		Development/Libraries
+Requires:	libcilkrts-devel = %{epoch}:%{version}-%{release}
+
+%description -n libcilkrts-static
+This package contains Cilk Plus C/C++ language extensions static
+library.
+
+%description -n libcilkrts-static -l pl.UTF-8
+Ten pakiet zawiera bibliotekę statyczną rozszerzeń Cilk Plus dla
+języków C/C++.
+
+%package -n libcilkrts-multilib-32
+Summary:	GCC Cilk Plus language extensions runtime library - 32-bit version
+Summary(pl.UTF-8):	Biblioteka uruchomieniowa rozszerzeń Cilk Plus dla GCC - wersja 32-bitowa
+License:	BSD
+Group:		Libraries
+Requires:	libstdc++-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:	libcilkrts-multilib
+
+%description -n libcilkrts-multilib-32
+This package contains the Cilk Plus C/C++ language extensions runtime
+library in 32-bit version.
+
+%description -n libcilkrts-multilib-32 -l pl.UTF-8
+Ten pakiet zawiera bibliotekę uruchomieniową rozszerzeń Cilk Plus dla
+języków C/C++. W tym pakiecie znajduje się wersja 32-bitowa.
+
+%package -n libcilkrts-multilib-32-devel
+Summary:	GCC development files for Cilk Plus language extensions - 32-bit version
+Summary(pl.UTF-8):	Pliki programistyczne GCC dla rozszerzeń Cilk Plus - wersja 32-bitowa
+License:	BSD
+Group:		Development/Libraries
+Requires:	libcilkrts-devel = %{epoch}:%{version}-%{release}
+Requires:	libcilkrts-multilib-32 = %{epoch}:%{version}-%{release}
+Obsoletes:	libcilkrts-multilib-devel
+
+%description -n libcilkrts-multilib-32-devel
+This package contains development files for Cilk Plus C/C++ language
+extensions in 32-bit version.
+
+%description -n libcilkrts-multilib-32-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne rozszerzeń Cilk Plus dla
+języków C/C++. W tym pakiecie znajduje się wersja 32-bitowa.
+
+%package -n libcilkrts-multilib-32-static
+Summary:	GCC Cilk Plus language extensions static library - 32-bit version
+Summary(pl.UTF-8):	Biblioteka statyczna rozszerzeń Cilk Plus dla GCC - wersja 32-bitowa
+License:	BSD
+Group:		Development/Libraries
+Requires:	libcilkrts-multilib-32-devel = %{epoch}:%{version}-%{release}
+Obsoletes:	libcilkrts-multilib-static
+
+%description -n libcilkrts-multilib-32-static
+This package contains the Cilk Plus C/C++ language extensions static
+library in 32-bit version.
+
+%description -n libcilkrts-multilib-32-static -l pl.UTF-8
+Ten pakiet zawiera bibliotekę statyczną rozszerzeń Cilk Plus dla
+języków C/C++. W tym pakiecie znajduje się wersja 32-bitowa.
+
+%package -n libcilkrts-multilib-%{multilib2}
+Summary:	GCC Cilk Plus language extensions runtime library - %{m2_desc} version
+Summary(pl.UTF-8):	Biblioteka uruchomieniowa rozszerzeń Cilk Plus dla GCC - wersja %{m2_desc}
+License:	BSD
+Group:		Libraries
+Requires:	libstdc++-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libcilkrts-multilib-%{multilib2}
+This package contains the Cilk Plus C/C++ language extensions runtime
+library in %{m2_desc} version.
+
+%description -n libcilkrts-multilib-%{multilib2} -l pl.UTF-8
+Ten pakiet zawiera bibliotekę uruchomieniową rozszerzeń Cilk Plus dla
+języków C/C++. W tym pakiecie znajduje się wersja %{m2_desc}.
+
+%package -n libcilkrts-multilib-%{multilib2}-devel
+Summary:	GCC development files for Cilk Plus language extensions - %{m2_desc} version
+Summary(pl.UTF-8):	Pliki programistyczne GCC dla rozszerzeń Cilk Plus - wersja %{m2_desc}
+License:	BSD
+Group:		Development/Libraries
+Requires:	libcilkrts-devel = %{epoch}:%{version}-%{release}
+Requires:	libcilkrts-multilib-%{multilib2} = %{epoch}:%{version}-%{release}
+
+%description -n libcilkrts-multilib-%{multilib2}-devel
+This package contains development files for Cilk Plus C/C++ language
+extensions in %{m2_desc} version.
+
+%description -n libcilkrts-multilib-%{multilib2}-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne rozszerzeń Cilk Plus dla
+języków C/C++. W tym pakiecie znajduje się wersja %{m2_desc}.
+
+%package -n libcilkrts-multilib-%{multilib2}-static
+Summary:	GCC Cilk Plus language extensions static library - %{m2_desc} version
+Summary(pl.UTF-8):	Biblioteka statyczna rozszerzeń Cilk Plus dla GCC - wersja %{m2_desc}
+License:	BSD
+Group:		Development/Libraries
+Requires:	libcilkrts-multilib-%{multilib2}-devel = %{epoch}:%{version}-%{release}
+
+%description -n libcilkrts-multilib-%{multilib2}-static
+This package contains the Cilk Plus C/C++ language extensions static
+library in %{m2_desc} version.
+
+%description -n libcilkrts-multilib-%{multilib2}-static -l pl.UTF-8
+Ten pakiet zawiera bibliotekę statyczną rozszerzeń Cilk Plus dla
+języków C/C++. W tym pakiecie znajduje się wersja %{m2_desc}.
+
 %package ada
 Summary:	Ada language support for GCC
 Summary(es.UTF-8):	Soporte de Ada para GCC
@@ -1244,6 +1448,119 @@ Static GCC __float128 support library - %{m2_desc} version.
 %description -n libquadmath-multilib-%{multilib2}-static -l pl.UTF-8
 Wersja %{m2_desc} biblioteki statycznej GCC do obsługi typu __float128.
 
+%package java
+Summary:	Java language support for GCC
+Summary(es.UTF-8):	Soporte de Java para GCC
+Summary(pl.UTF-8):	Obsługa języka Java dla GCC
+Group:		Development/Languages/Java
+Requires:	%{name} = %{epoch}:%{version}-%{release}
+Requires:	java-ecj >= %{ecj_ver}
+Requires:	libgcj-devel = %{epoch}:%{version}-%{release}
+Provides:	gcc-java-tools
+Provides:	gcj = %{epoch}:%{version}-%{release}
+Obsoletes:	gcc-java-tools
+Obsoletes:	java-gnu-classpath-tools
+
+%description java
+This package adds experimental support for compiling Java(TM) programs
+and bytecode into native code. To use this you will also need the
+libgcj package.
+
+%description java -l es.UTF-8
+Este paquete añade soporte experimental para compilar programas
+Java(tm) y su bytecode en código nativo. Para usarlo también va a
+necesitar el paquete libgcj.
+
+%description java -l pl.UTF-8
+Ten pakiet dodaje możliwość kompilowania programów w języku Java(TM)
+oraz bajtkodu do kodu natywnego. Do używania go wymagany jest
+dodatkowo pakiet libgcj.
+
+%package java-aotcompile
+Summary:	Java AOT-compiler - compiling bytecode to native
+Summary(pl.UTF-8):	Kompilator AOT dla Javy - kompilacja bajtkodu do kodu natywnego
+License:	GPL v2+
+Group:		Development/Tools
+Requires:	%{name}-java = %{epoch}:%{version}-%{release}
+
+%description java-aotcompile
+aot-compile is a script that searches a directory for Java bytecode
+(as class files, or in jars) and uses gcj to compile it to native code
+and generate the databases from it.
+
+%description java-aotcompile -l pl.UTF-8
+aot-compile to skrypt wyszukujący w katalogu bajtkod Javy (w plikach
+class lub jarach) i kompilujący go przy użyciu gcj, a następnie
+generujący z niego bazy danych.
+
+%package -n libgcj
+Summary:	Java Class Libraries
+Summary(es.UTF-8):	Bibliotecas de clases de Java
+Summary(pl.UTF-8):	Biblioteki klas Javy
+License:	GPL v2+ with limited linking exception
+Group:		Libraries
+Requires:	jpackage-utils
+Requires:	libstdc++ = %{epoch}:%{version}-%{release}
+Requires:	libxml2 >= 1:2.6.8
+Requires:	libxslt >= 1.1.11
+%if %{with gtk}
+Requires:	cairo >= 1.1.8
+Requires:	gtk+2 >= 2:2.8
+Requires:	libart_lgpl >= 2.1
+%endif
+%if %{with qt}
+Requires:	QtCore >= 4.1.0
+Requires:	QtGui >= 4.1.0
+%endif
+Provides:	java(ClassDataVersion) = %{_classdataversion}
+Obsoletes:	libgcj3
+
+%description -n libgcj
+Java Class Libraries.
+
+%description -n libgcj -l es.UTF-8
+Bibliotecas de clases de Java.
+
+%description -n libgcj -l pl.UTF-8
+Biblioteki klas Javy.
+
+%package -n libgcj-devel
+Summary:	Development files for Java Class Libraries
+Summary(es.UTF-8):	Ficheros de desarrollo para las bibliotecas de clases de Java
+Summary(pl.UTF-8):	Pliki nagłówkowe bibliotek klas Javy
+License:	GPL v2+ with limited linking exception
+Group:		Development/Libraries
+Requires:	libgcj = %{epoch}:%{version}-%{release}
+Requires:	libstdc++-devel = %{epoch}:%{version}-%{release}
+Requires:	zlib-devel
+Obsoletes:	libgcj3-devel
+
+%description -n libgcj-devel
+Development files for Java Class Libraries.
+
+%description -n libgcj-devel -l es.UTF-8
+Ficheros de desarrollo para las bibliotecas de clases de Java.
+
+%description -n libgcj-devel -l pl.UTF-8
+Pliki nagłówkowe bibliotek klas Javy.
+
+%package -n libgcj-static
+Summary:	Static Java Class Libraries
+Summary(es.UTF-8):	Bibliotecas estáticas de clases de Java
+Summary(pl.UTF-8):	Statyczne biblioteki klas Javy
+License:	GPL v2+ with limited linking exception
+Group:		Development/Libraries
+Requires:	libgcj-devel = %{epoch}:%{version}-%{release}
+
+%description -n libgcj-static
+Static Java Class Libraries.
+
+%description -n libgcj-static -l es.UTF-8
+Bibliotecas estáticas de clases de Java.
+
+%description -n libgcj-static -l pl.UTF-8
+Statyczne biblioteki klas Javy.
+
 %package -n libffi
 Summary:	Foreign Function Interface library
 Summary(es.UTF-8):	Biblioteca de interfaz de funciones ajenas
@@ -2517,7 +2834,152 @@ więc wtyczki muszą być przebudowywane przy każdej aktualizacji GCC.
 # Packages with epoch 0
 # DO NOT MOVE THESE PACKAGES AROUND
 
-# PUT SUCH PACKAGES HERE
+%package -n libmpx
+Summary:	GCC Memory Protection Extensions language extensions runtime library
+Summary(pl.UTF-8):	Biblioteka uruchomieniowa rozszerzeń Memory Protection Extensions dla GCC
+Epoch:		0
+License:	BSD
+Group:		Libraries
+Requires:	libstdc++ = 6:%{version}-%{release}
+
+%description -n libmpx
+This package contains the Memory Protection Extensions C language
+extensions runtime library.
+
+%description -n libmpx -l pl.UTF-8
+Ten pakiet zawiera bibliotekę uruchomieniową rozszerzeń Memory
+Protection Extensions dla języka C.
+
+%package -n libmpx-devel
+Summary:	GCC development files for Memory Protection Extensions language extensions
+Summary(pl.UTF-8):	Pliki programistyczne GCC dla rozszerzeń Memory Protection Extensions
+Epoch:		0
+License:	BSD
+Group:		Development/Libraries
+Requires:	libmpx = %{version}-%{release}
+
+%description -n libmpx-devel
+This package contains development files for Memory Protection
+Extensions C language extensions.
+
+%description -n libmpx-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne rozszerzeń Memory Protection
+Extensions dla języka C.
+
+%package -n libmpx-static
+Summary:	GCC Memory Protection Extensions language extensions static library
+Summary(pl.UTF-8):	Biblioteka statyczna rozszerzeń Memory Protection Extensions dla GCC
+Epoch:		0
+License:	BSD
+Group:		Development/Libraries
+Requires:	libmpx-devel = %{version}-%{release}
+
+%description -n libmpx-static
+This package contains Memory Protection Extensions C language
+extensions static library.
+
+%description -n libmpx-static -l pl.UTF-8
+Ten pakiet zawiera bibliotekę statyczną rozszerzeń Memory Protection
+Extensions dla języka C.
+
+%package -n libmpx-multilib-32
+Summary:	GCC Memory Protection Extensions language extensions runtime library - 32-bit version
+Summary(pl.UTF-8):	Biblioteka uruchomieniowa rozszerzeń Memory Protection Extensions dla GCC - wersja 32-bitowa
+Epoch:		0
+License:	BSD
+Group:		Libraries
+Requires:	libstdc++-multilib-32 = %{version}-%{release}
+
+%description -n libmpx-multilib-32
+This package contains the Memory Protection Extensions C language
+extensions runtime library in 32-bit version.
+
+%description -n libmpx-multilib-32 -l pl.UTF-8
+Ten pakiet zawiera bibliotekę uruchomieniową rozszerzeń Memory
+Protection Extensions dla języka C. W tym pakiecie znajduje się wersja
+32-bitowa.
+
+%package -n libmpx-multilib-32-devel
+Summary:	GCC development files for Memory Protection Extensions language extensions - 32-bit version
+Summary(pl.UTF-8):	Pliki programistyczne GCC dla rozszerzeń Memory Protection Extensions - wersja 32-bitowa
+Epoch:		0
+License:	BSD
+Group:		Development/Libraries
+Requires:	libmpx-devel = %{version}-%{release}
+Requires:	libmpx-multilib-32 = %{version}-%{release}
+
+%description -n libmpx-multilib-32-devel
+This package contains development files for Memory Protection
+Extensions C language extensions in 32-bit version.
+
+%description -n libmpx-multilib-32-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne rozszerzeń Memory Protection
+Extensions dla języka C. W tym pakiecie znajduje się wersja 32-bitowa.
+
+%package -n libmpx-multilib-32-static
+Summary:	GCC Memory Protection Extensions language extensions static library - 32-bit version
+Summary(pl.UTF-8):	Biblioteka statyczna rozszerzeń Memory Protection Extensions dla GCC - wersja 32-bitowa
+Epoch:		0
+License:	BSD
+Group:		Development/Libraries
+Requires:	libmpx-multilib-32-devel = %{version}-%{release}
+
+%description -n libmpx-multilib-32-static
+This package contains the Memory Protection Extensions C language
+extensions static library in 32-bit version.
+
+%description -n libmpx-multilib-32-static -l pl.UTF-8
+Ten pakiet zawiera bibliotekę statyczną rozszerzeń Memory Protection
+Extensions dla języka C. W tym pakiecie znajduje się wersja 32-bitowa.
+
+%package -n libmpx-multilib-%{multilib2}
+Summary:	GCC Memory Protection Extensions language extensions runtime library
+Summary(pl.UTF-8):	Biblioteka uruchomieniowa rozszerzeń Memory Protection Extensions dla GCC
+Epoch:		0
+License:	BSD
+Group:		Libraries
+Requires:	libstdc++-multilib-%{multilib2} = 6:%{version}-%{release}
+
+%description -n libmpx-multilib-%{multilib2}
+This package contains the Memory Protection Extensions C language
+extensions runtime library.
+
+%description -n libmpx-multilib-%{multilib2} -l pl.UTF-8
+Ten pakiet zawiera bibliotekę uruchomieniową rozszerzeń Memory
+Protection Extensions dla języka C.
+
+%package -n libmpx-multilib-%{multilib2}-devel
+Summary:	GCC development files for Memory Protection Extensions language extensions
+Summary(pl.UTF-8):	Pliki programistyczne GCC dla rozszerzeń Memory Protection Extensions
+Epoch:		0
+License:	BSD
+Group:		Development/Libraries
+Requires:	libmpx-devel = %{version}-%{release}
+Requires:	libmpx-multilib-%{multilib2} = %{version}-%{release}
+
+%description -n libmpx-multilib-%{multilib2}-devel
+This package contains development files for Memory Protection
+Extensions C language extensions.
+
+%description -n libmpx-multilib-%{multilib2}-devel -l pl.UTF-8
+Ten pakiet zawiera pliki programistyczne rozszerzeń Memory Protection
+Extensions dla języka C.
+
+%package -n libmpx-multilib-%{multilib2}-static
+Summary:	GCC Memory Protection Extensions language extensions static library
+Summary(pl.UTF-8):	Biblioteka statyczna rozszerzeń Memory Protection Extensions dla GCC
+Epoch:		0
+License:	BSD
+Group:		Development/Libraries
+Requires:	libmpx-multilib-%{multilib2}-devel = %{version}-%{release}
+
+%description -n libmpx-multilib-%{multilib2}-static
+This package contains the Memory Protection Extensions C language
+extensions static library.
+
+%description -n libmpx-multilib-%{multilib2}-static -l pl.UTF-8
+Ten pakiet zawiera bibliotekę statyczną rozszerzeń Memory Protection
+Extensions dla języka C.
 
 %prep
 %setup -q
@@ -2527,6 +2989,10 @@ więc wtyczki muszą być przebudowywane przy każdej aktualizacji GCC.
 %patch3 -p1
 %patch4 -p1
 
+%patch7 -p0
+%if %{with qt}
+%patch8 -p1
+%endif
 %patch10 -p1
 %if %{with gcc_libffi}
 %patch11 -p0
@@ -2542,10 +3008,18 @@ echo "release" > gcc/DEV-PHASE
 cd gcc
 #{__autoconf}
 cd ..
+%if %{with qt}
+cd libjava/classpath
+%{__autoconf}
+cd ../..
+%endif
 cp -f /usr/share/automake/config.sub .
 
 rm -rf builddir && install -d builddir && cd builddir
 
+# http://www.mailinglistarchive.com/java%40gcc.gnu.org/msg02751.html
+export JAR=no
+
 CC="%{__cc}" \
 CFLAGS="%{rpmcflags}" \
 CXXFLAGS="%{rpmcxxflags}" \
@@ -2572,7 +3046,7 @@ TEXCONFIG=false \
 	--enable-gnu-unique-object \
 	--enable-initfini-array \
 	--disable-isl-version-check \
-	--enable-languages="c%{?with_cxx:,c++}%{?with_fortran:,fortran}%{?with_objc:,objc}%{?with_objcxx:,obj-c++}%{?with_ada:,ada}%{?with_go:,go}" \
+	--enable-languages="c%{?with_cxx:,c++}%{?with_fortran:,fortran}%{?with_objc:,objc}%{?with_objcxx:,obj-c++}%{?with_ada:,ada}%{?with_java:,java}%{?with_go:,go}" \
 	--%{?with_gomp:en}%{!?with_gomp:dis}able-libgomp \
 	--enable-libitm \
 	--enable-linker-build-id \
@@ -2598,6 +3072,7 @@ TEXCONFIG=false \
 	--with-cpu=ultrasparc \
 %endif
 	--with-demangler-in-ld \
+	--with-ecj-jar=%{_javadir}/ecj.jar \
 	--with-gnu-as \
 	--with-gnu-ld \
 	--with-linker-hash-style=gnu \
@@ -2617,7 +3092,7 @@ TEXCONFIG=false \
 	--with-system-libunwind \
 %endif
 	--with-system-zlib \
-	--without-x \
+	%{!?with_java:--without-x} \
 %if %{with cxx}
 	--enable-__cxa_atexit \
 	--enable-libstdcxx-allocator=new \
@@ -2628,6 +3103,23 @@ TEXCONFIG=false \
 	--enable-symvers=gnu%{?with_symvers:-versioned-namespace} \
 	--with-gxx-include-dir=%{_includedir}/c++/%{version} \
 	%{?with_vtv:--enable-vtable-verify} \
+%endif
+%if %{with java}
+	%{!?with_alsa:--disable-alsa} \
+	%{!?with_dssi:--disable-dssi} \
+	--disable-gconf-peer \
+	%{?with_gtk:--enable-gtk-cairo} \
+%if %{with x}
+	--enable-java-awt="xlib%{?with_gtk:,gtk}%{?with_qt:,qt}" \
+%endif
+	--enable-jni \
+	--enable-libgcj \
+	--enable-libgcj-database \
+	--enable-libgcj-multifile \
+	--disable-libjava-multilib \
+	%{?with_mozilla:--enable-plugin} \
+	--enable-static-libjava \
+	--enable-xmlj \
 %endif
 	--with-pkgversion="PLD-Linux" \
 	--with-bugurl="http://bugs.pld-linux.org" \
@@ -2642,6 +3134,7 @@ all := $(filter-out all Makefile,$(MAKECMDGOALS))
 all $(all):
 	$(MAKE) -C builddir $(MAKE_OPTS) $(all) \
 		%{?with_bootstrap:%{?with_profiling:profiledbootstrap}} \
+		GCJFLAGS="%{rpmcflags}" \
 		BOOT_CFLAGS="%{rpmcflags}" \
 		STAGE1_CFLAGS="%{rpmcflags} -O1 -g0" \
 		GNATLIBCFLAGS="%{rpmcflags}" \
@@ -2686,6 +3179,10 @@ ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-c++ \
 ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-g++ \
 	$RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-g++
 %endif
+%if %{with java}
+ln -f $RPM_BUILD_ROOT%{_bindir}/sparc64-pld-linux-gcj \
+	$RPM_BUILD_ROOT%{_bindir}/sparc-pld-linux-gcj
+%endif
 %endif
 %endif
 
@@ -2773,6 +3270,12 @@ ln -sf libgnarl-%{major_ver}.so $RPM_BUILD_ROOT%{_libdirm2}/libgnarl.so
 
 cd ..
 
+%if %{with java}
+install -d java-doc
+cp -f libjava/READ* java-doc
+ln -sf libgcj-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/libgcj.jar
+%endif
+
 %if %{with gcc_libffi}
 # still not installed by gcc?
 [ ! -f $RPM_BUILD_ROOT%{_pkgconfigdir}/libffi.pc ] || exit 1
@@ -2813,11 +3316,25 @@ for f in libitm.la libssp.la libssp_nonshared.la \
 	%{?with_lsan_m0:liblsan.la} \
 	%{?with_tsan_m0:libtsan.la} \
 	%{?with_atomic:libatomic.la} \
+%if %{with java}
+	%{?with_gcc_libffi:libffi.la} \
+	libgcj.la libgcj-tools.la libgij.la \
+	%{gcjdbexecdir}/libjvm.la \
+	%{gcjdbexecdir}/libxmlj.la \
+	%{?with_x:lib-gnu-awt-xlib.la} \
+	%{?with_gtk:%{gcjdbexecdir}/libgtkpeer.la %{gcjdbexecdir}/libjawt.la} \
+	%{?with_qt:%{gcjdbexecdir}/libqtpeer.la} \
+	%{?with_alsa:%{gcjdbexecdir}/libgjsmalsa.la} \
+	%{?with_dssi:%{gcjdbexecdir}/libgjsmdssi.la} \
+%endif
 	%{?with_objc:libobjc.la};
 do
 	file="$RPM_BUILD_ROOT%{_libdir}/$f"
 	%{__perl} %{SOURCE1} "$file" %{_libdir} >"${file}.fixed"
 	%{__mv} "${file}.fixed" "$file"
+
+	# normalize /lib/../lib/ path (libjawt.la)
+	sed -i -e 's#/%{_lib}/\.\./%{_lib}/#/%{_lib}/#g' "$file"
 done
 %if %{with multilib}
 for f in libitm.la libssp.la libssp_nonshared.la \
@@ -2828,6 +3345,7 @@ for f in libitm.la libssp.la libssp_nonshared.la \
 	%{?with_lsan_m1:liblsan.la} \
 	%{?with_tsan_m1:libtsan.la} \
 	%{?with_atomic:libatomic.la} \
+	%{?with_java:%{?with_gcc_libffi:libffi.la}} \
 	%{?with_objc:libobjc.la};
 do
 	%{__perl} %{SOURCE1} $RPM_BUILD_ROOT%{_libdir32}/$f %{_libdir32} > $RPM_BUILD_ROOT%{_libdir32}/$f.fixed
@@ -2842,6 +3360,7 @@ for f in libitm.la libssp.la libssp_nonshared.la \
 	%{?with_lsan_m2:liblsan.la} \
 	%{?with_tsan_m2:libtsan.la} \
 	%{?with_atomic:libatomic.la} \
+	%{?with_java:%{?with_gcc_libffi:libffi.la}} \
 	%{?with_objc:libobjc.la};
 do
 	%{__perl} %{SOURCE1} $RPM_BUILD_ROOT%{_libdirm2}/$f %{_libdirm2} > $RPM_BUILD_ROOT%{_libdirm2}/$f.fixed
@@ -2875,11 +3394,18 @@ for LIBDIR in %{_libdir} %{?with_multilib:%{_libdir32}} %{?with_multilib2:%{_lib
 done
 install -d $RPM_BUILD_ROOT%{py_sitescriptdir}
 %{__mv} $RPM_BUILD_ROOT%{_datadir}/gcc-%{version}/python/libstdcxx $RPM_BUILD_ROOT%{py_sitescriptdir}
+%if %{with java}
+%{__mv} $RPM_BUILD_ROOT%{_datadir}/gcc-%{version}/python/libjava $RPM_BUILD_ROOT%{py_sitescriptdir}
+%{__sed} -i -e '1s,#!/usr/bin/env python,#!/usr/bin/python,' $RPM_BUILD_ROOT%{_bindir}/aot-compile
+%endif
 %py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
 %py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
 %py_postclean
 %else
 %{__rm} -r $RPM_BUILD_ROOT%{_datadir}/gcc-%{version}/python/libstdcxx
+%if %{with java}
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/gcc-%{version}/python/libjava
+%endif
 %endif
 # script(s) always installed; see above for builds with python; if no python, just don't package
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libstdc++.so.*-gdb.py
@@ -2929,6 +3455,12 @@ rm -rf $RPM_BUILD_ROOT
 %postun	fortran -p /sbin/postshell
 -/usr/sbin/fix-info-dir -c %{_infodir}
 
+%post	java -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
+%postun	java -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
 %post	go -p /sbin/postshell
 -/usr/sbin/fix-info-dir -c %{_infodir}
 
@@ -2953,6 +3485,12 @@ rm -rf $RPM_BUILD_ROOT
 %postun	-n libgomp-devel -p /sbin/postshell
 -/usr/sbin/fix-info-dir -c %{_infodir}
 
+%post   -p /sbin/ldconfig -n libcilkrts
+%postun -p /sbin/ldconfig -n libcilkrts
+%post   -p /sbin/ldconfig -n libcilkrts-multilib-32
+%postun -p /sbin/ldconfig -n libcilkrts-multilib-32
+%post   -p /sbin/ldconfig -n libcilkrts-multilib-%{multilib2}
+%postun -p /sbin/ldconfig -n libcilkrts-multilib-%{multilib2}
 %post	-p /sbin/ldconfig -n libgcc
 %postun	-p /sbin/ldconfig -n libgcc
 %post	-p /sbin/ldconfig -n libgcc-multilib-32
@@ -2983,12 +3521,20 @@ rm -rf $RPM_BUILD_ROOT
 %postun	-p /sbin/ldconfig -n libgfortran-multilib-32
 %post	-p /sbin/ldconfig -n libgfortran-multilib-%{multilib2}
 %postun	-p /sbin/ldconfig -n libgfortran-multilib-%{multilib2}
+%post	-p /sbin/ldconfig -n libgcj
+%postun	-p /sbin/ldconfig -n libgcj
 %post	-p /sbin/ldconfig -n libffi
 %postun	-p /sbin/ldconfig -n libffi
 %post	-p /sbin/ldconfig -n libffi-multilib-32
 %postun	-p /sbin/ldconfig -n libffi-multilib-32
 %post	-p /sbin/ldconfig -n libffi-multilib-%{multilib2}
 %postun	-p /sbin/ldconfig -n libffi-multilib-%{multilib2}
+%post	-p /sbin/ldconfig -n libmpx
+%postun	-p /sbin/ldconfig -n libmpx
+%post	-p /sbin/ldconfig -n libmpx-multilib-32
+%postun	-p /sbin/ldconfig -n libmpx-multilib-32
+%post	-p /sbin/ldconfig -n libmpx-multilib-%{multilib2}
+%postun	-p /sbin/ldconfig -n libmpx-multilib-%{multilib2}
 %post	-p /sbin/ldconfig -n libobjc
 %postun	-p /sbin/ldconfig -n libobjc
 %post	-p /sbin/ldconfig -n libobjc-multilib-32
@@ -3100,7 +3646,6 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{gcclibdir}/include/ssp
 %{gcclibdir}/include/ssp/*.h
 %{gcclibdir}/include/float.h
-%{gcclibdir}/include/gcov.h
 %{gcclibdir}/include/iso646.h
 %{gcclibdir}/include/limits.h
 %{gcclibdir}/include/stdalign.h
@@ -3119,9 +3664,6 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/include/adxintrin.h
 %{gcclibdir}/include/ammintrin.h
 %{gcclibdir}/include/avx2intrin.h
-%{gcclibdir}/include/avx5124fmapsintrin.h
-%{gcclibdir}/include/avx5124vnniwintrin.h
-%{gcclibdir}/include/avx512bitalgintrin.h
 %{gcclibdir}/include/avx512bwintrin.h
 %{gcclibdir}/include/avx512cdintrin.h
 %{gcclibdir}/include/avx512dqintrin.h
@@ -3130,24 +3672,15 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/include/avx512ifmaintrin.h
 %{gcclibdir}/include/avx512ifmavlintrin.h
 %{gcclibdir}/include/avx512pfintrin.h
-%{gcclibdir}/include/avx512vbmi2intrin.h
-%{gcclibdir}/include/avx512vbmi2vlintrin.h
 %{gcclibdir}/include/avx512vbmiintrin.h
 %{gcclibdir}/include/avx512vbmivlintrin.h
 %{gcclibdir}/include/avx512vlbwintrin.h
 %{gcclibdir}/include/avx512vldqintrin.h
 %{gcclibdir}/include/avx512vlintrin.h
-%{gcclibdir}/include/avx512vnniintrin.h
-%{gcclibdir}/include/avx512vnnivlintrin.h
-%{gcclibdir}/include/avx512vpopcntdqintrin.h
-%{gcclibdir}/include/avx512vpopcntdqvlintrin.h
 %{gcclibdir}/include/avxintrin.h
 %{gcclibdir}/include/bmi2intrin.h
 %{gcclibdir}/include/bmiintrin.h
 %{gcclibdir}/include/bmmintrin.h
-%{gcclibdir}/include/cet.h
-%{gcclibdir}/include/cetintrin.h
-%{gcclibdir}/include/cldemoteintrin.h
 %{gcclibdir}/include/clflushoptintrin.h
 %{gcclibdir}/include/clwbintrin.h
 %{gcclibdir}/include/clzerointrin.h
@@ -3158,7 +3691,6 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/include/fma4intrin.h
 %{gcclibdir}/include/fmaintrin.h
 %{gcclibdir}/include/fxsrintrin.h
-%{gcclibdir}/include/gfniintrin.h
 %{gcclibdir}/include/ia32intrin.h
 %{gcclibdir}/include/immintrin.h
 %{gcclibdir}/include/lwpintrin.h
@@ -3166,25 +3698,18 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/include/mm3dnow.h
 %{gcclibdir}/include/mmintrin.h
 %{gcclibdir}/include/mm_malloc.h
-%{gcclibdir}/include/movdirintrin.h
 %{gcclibdir}/include/nmmintrin.h
 %{gcclibdir}/include/mwaitxintrin.h
-%{gcclibdir}/include/pconfigintrin.h
 %{gcclibdir}/include/pkuintrin.h
 %{gcclibdir}/include/pmmintrin.h
 %{gcclibdir}/include/popcntintrin.h
 %{gcclibdir}/include/prfchwintrin.h
 %{gcclibdir}/include/rdseedintrin.h
 %{gcclibdir}/include/rtmintrin.h
-%{gcclibdir}/include/sgxintrin.h
 %{gcclibdir}/include/shaintrin.h
 %{gcclibdir}/include/smmintrin.h
 %{gcclibdir}/include/tbmintrin.h
 %{gcclibdir}/include/tmmintrin.h
-%{gcclibdir}/include/vaesintrin.h
-%{gcclibdir}/include/vpclmulqdqintrin.h
-%{gcclibdir}/include/wbnoinvdintrin.h
-%{gcclibdir}/include/waitpkgintrin.h
 %{gcclibdir}/include/wmmintrin.h
 %{gcclibdir}/include/x86intrin.h
 %{gcclibdir}/include/xmmintrin.h
@@ -3196,17 +3721,9 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/include/xtestintrin.h
 %endif
 %ifarch %{arm}
-%{gcclibdir}/include/arm_acle.h
-%{gcclibdir}/include/arm_cmse.h
-%{gcclibdir}/include/arm_fp16.h
 %{gcclibdir}/include/arm_neon.h
 %{gcclibdir}/include/mmintrin.h
 %endif
-%ifarch aarch64
-%{gcclibdir}/include/arm_acle.h
-%{gcclibdir}/include/arm_fp16.h
-%{gcclibdir}/include/arm_neon.h
-%endif
 %ifarch ia64
 %{gcclibdir}/include/ia64intrin.h
 %endif
@@ -3215,18 +3732,9 @@ rm -rf $RPM_BUILD_ROOT
 %endif
 %ifarch mips
 %{gcclibdir}/include/loongson.h
-%{gcclibdir}/include/msa.h
 %endif
 %ifarch powerpc ppc ppc64
 %{gcclibdir}/include/altivec.h
-%{gcclibdir}/include/amo.h
-%{gcclibdir}/include/bmiintrin.h
-%{gcclibdir}/include/bmi2intrin.h
-%{gcclibdir}/include/emmintrin.h
-%{gcclibdir}/include/htmintrin.h
-%{gcclibdir}/include/htmxlintrin.h
-%{gcclibdir}/include/mm_malloc.h
-%{gcclibdir}/include/mmintrin.h
 %{gcclibdir}/include/paired.h
 %{gcclibdir}/include/ppc-asm.h
 %{gcclibdir}/include/ppu_intrinsics.h
@@ -3234,17 +3742,6 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/include/spe.h
 %{gcclibdir}/include/spu2vmx.h
 %{gcclibdir}/include/vec_types.h
-%{gcclibdir}/include/x86intrin.h
-%{gcclibdir}/include/xmmintrin.h
-%endif
-%ifarch s390
-%{gcclibdir}/include/htmintrin.h
-%{gcclibdir}/include/htmxlintrin.h
-%{gcclibdir}/include/s390intrin.h
-%{gcclibdir}/include/vecintrin.h
-%endif
-%ifarch sparc sparcv9 sparc64
-%{gcclibdir}/include/visintrin.h
 %endif
 %{?with_vtv:%{gcclibdir}/include/vtv_*.h}
 
@@ -3378,11 +3875,67 @@ rm -rf $RPM_BUILD_ROOT
 %endif
 %endif
 
+%if %{with cilkrts}
+%files -n libcilkrts
+%defattr(644,root,root,755)
+%doc libcilkrts/{ChangeLog,README}
+%attr(755,root,root) %{_libdir}/libcilkrts.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libcilkrts.so.5
+
+%files -n libcilkrts-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libcilkrts.so
+%{_libdir}/libcilkrts.la
+%{_libdir}/libcilkrts.spec
+%{gcclibdir}/include/cilk
+
+%files -n libcilkrts-static
+%defattr(644,root,root,755)
+%{_libdir}/libcilkrts.a
+
+%if %{with multilib}
+%files -n libcilkrts-multilib-32
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libcilkrts.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir32}/libcilkrts.so.5
+
+%files -n libcilkrts-multilib-32-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libcilkrts.so
+%{_libdir32}/libcilkrts.la
+%{_libdir32}/libcilkrts.spec
+
+%files -n libcilkrts-multilib-32-static
+%defattr(644,root,root,755)
+%{_libdir32}/libcilkrts.a
+%endif
+
+%if %{with multilib2}
+%files -n libcilkrts-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libcilkrts.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libcilkrts.so.5
+
+%files -n libcilkrts-multilib-%{multilib2}-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libcilkrts.so
+%{_libdirm2}/libcilkrts.la
+%{_libdirm2}/libcilkrts.spec
+
+%files -n libcilkrts-multilib-%{multilib2}-static
+%defattr(644,root,root,755)
+%{_libdirm2}/libcilkrts.a
+%endif
+%endif
+
 %if %{with ada}
 %files ada
 %defattr(644,root,root,755)
 %doc gcc/ada/ChangeLog
 %attr(755,root,root) %{_bindir}/gnat*
+%if %{with java}
+%exclude %{_bindir}/gnative2ascii
+%endif
 %attr(755,root,root) %{_libdir}/libgnarl-*.so
 %attr(755,root,root) %{_libdir}/libgnarl.so
 %attr(755,root,root) %{_libdir}/libgnat-*.so
@@ -3393,8 +3946,6 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/adalib/*.ali
 %ifarch %{ix86} %{x8664} x32
 %{gcclibdir}/adalib/libgmem.a
-%{gcclibdir}/adalib/libgnarl_pic.a
-%{gcclibdir}/adalib/libgnat_pic.a
 %endif
 %{_infodir}/gnat-style.info*
 %{_infodir}/gnat_rm.info*
@@ -3454,11 +4005,6 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %{gcclibdir}/32/adalib/libgnarl.a
 %{gcclibdir}/32/adalib/libgnat.a
-%ifarch %{x8664}
-# these exist only when host is x86_64???
-%{gcclibdir}/32/adalib/libgnarl_pic.a
-%{gcclibdir}/32/adalib/libgnat_pic.a
-%endif
 %endif
 
 %if %{with multilib2}
@@ -3473,11 +4019,6 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %{gcclibdir}/%{multilib2}/adalib/libgnarl.a
 %{gcclibdir}/%{multilib2}/adalib/libgnat.a
-%ifarch %{x8664}
-# these exist only when host is x86_64???
-%{gcclibdir}/%{multilib2}/adalib/libgnarl_pic.a
-%{gcclibdir}/%{multilib2}/adalib/libgnat_pic.a
-%endif
 %endif
 %endif
 
@@ -3526,6 +4067,14 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/extc++.h
 %{_includedir}/stdc++.h
 %{_includedir}/stdtr1c++.h
+%if %{with java}
+%exclude %{_includedir}/c++/%{version}/java
+%exclude %{_includedir}/c++/%{version}/javax
+%exclude %{_includedir}/c++/%{version}/gcj
+%exclude %{_includedir}/c++/%{version}/gnu
+%exclude %{_includedir}/c++/%{version}/org
+%exclude %{_includedir}/c++/%{version}/sun
+%endif
 
 %files -n libstdc++-static
 %defattr(644,root,root,755)
@@ -3601,7 +4150,6 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libgfortran.so
 %{_libdir}/libgfortran.spec
 %{_libdir}/libgfortran.la
-%{gcclibdir}/include/ISO_Fortran_binding.h
 %{gcclibdir}/libcaf_single.a
 %{gcclibdir}/libcaf_single.la
 #%{gcclibdir}/libgfortranbegin.la
@@ -3638,7 +4186,7 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc libgfortran/{AUTHORS,README,ChangeLog}
 %attr(755,root,root) %{_libdir}/libgfortran.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgfortran.so.5
+%attr(755,root,root) %ghost %{_libdir}/libgfortran.so.3
 
 %files -n libgfortran-static
 %defattr(644,root,root,755)
@@ -3648,7 +4196,7 @@ rm -rf $RPM_BUILD_ROOT
 %files -n libgfortran-multilib-32
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libgfortran.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libgfortran.so.5
+%attr(755,root,root) %ghost %{_libdir32}/libgfortran.so.3
 
 %files -n libgfortran-multilib-32-static
 %defattr(644,root,root,755)
@@ -3659,7 +4207,7 @@ rm -rf $RPM_BUILD_ROOT
 %files -n libgfortran-multilib-%{multilib2}
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdirm2}/libgfortran.so.*.*.*
-%attr(755,root,root) %ghost %{_libdirm2}/libgfortran.so.5
+%attr(755,root,root) %ghost %{_libdirm2}/libgfortran.so.3
 
 %files -n libgfortran-multilib-%{multilib2}-static
 %defattr(644,root,root,755)
@@ -3716,10 +4264,146 @@ rm -rf $RPM_BUILD_ROOT
 %endif
 %endif
 
+%if %{with java}
+%files java
+%defattr(644,root,root,755)
+%doc gcc/java/ChangeLog java-doc/*
+%attr(755,root,root) %{_bindir}/gappletviewer
+%attr(755,root,root) %{_bindir}/gc-analyze
+%attr(755,root,root) %{_bindir}/gcj
+%attr(755,root,root) %{_bindir}/gcj-dbtool
+%attr(755,root,root) %{_bindir}/gcjh
+%attr(755,root,root) %{_bindir}/gjar
+%attr(755,root,root) %{_bindir}/gjarsigner
+%attr(755,root,root) %{_bindir}/gjavah
+%attr(755,root,root) %{_bindir}/gkeytool
+%attr(755,root,root) %{_bindir}/gnative2ascii
+%attr(755,root,root) %{_bindir}/gorbd
+%attr(755,root,root) %{_bindir}/grmic
+%attr(755,root,root) %{_bindir}/grmid
+%attr(755,root,root) %{_bindir}/grmiregistry
+%attr(755,root,root) %{_bindir}/gserialver
+%attr(755,root,root) %{_bindir}/gtnameserv
+%attr(755,root,root) %{_bindir}/jcf-dump
+%attr(755,root,root) %{_bindir}/jv-convert
+%attr(755,root,root) %{_bindir}/rebuild-gcj-db
+%attr(755,root,root) %{_bindir}/*-gcj
+%attr(755,root,root) %{gcclibdir}/ecj1
+%attr(755,root,root) %{gcclibdir}/jc1
+%attr(755,root,root) %{gcclibdir}/jvgenmain
+%{_infodir}/cp-tools.info*
+%{_infodir}/gcj.info*
+%{_mandir}/man1/gappletviewer.1*
+%{_mandir}/man1/gc-analyze.1*
+%{_mandir}/man1/gcj.1*
+%{_mandir}/man1/gcj-dbtool.1*
+%{_mandir}/man1/gcjh.1*
+%{_mandir}/man1/gjar.1*
+%{_mandir}/man1/gjarsigner.1*
+%{_mandir}/man1/gjavah.1*
+%{_mandir}/man1/gkeytool.1*
+%{_mandir}/man1/gnative2ascii.1*
+%{_mandir}/man1/gorbd.1*
+%{_mandir}/man1/grmic.1*
+%{_mandir}/man1/grmid.1*
+%{_mandir}/man1/grmiregistry.1*
+%{_mandir}/man1/gserialver.1*
+%{_mandir}/man1/gtnameserv.1*
+%{_mandir}/man1/jcf-dump.1*
+%{_mandir}/man1/jv-convert.1*
+%{_mandir}/man1/rebuild-gcj-db*
+
+%if %{with python}
+%files java-aotcompile
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/aot-compile
+%dir %{py_sitescriptdir}/libjava
+%{py_sitescriptdir}/libjava/*.py[co]
+%{_mandir}/man1/aot-compile.1*
+%endif
+
+%files -n libgcj
+%defattr(644,root,root,755)
+%doc libjava/{ChangeLog,LIBGCJ_LICENSE,NEWS,README,THANKS}
+%attr(755,root,root) %{_bindir}/gij
+%attr(755,root,root) %{_libdir}/libgcj-tools.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libgcj-tools.so.%{gcj_soname_ver}
+%attr(755,root,root) %{_libdir}/libgcj.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libgcj.so.%{gcj_soname_ver}
+%attr(755,root,root) %{_libdir}/libgcj_bc.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libgcj_bc.so.1
+%attr(755,root,root) %{_libdir}/libgcj_bc.so
+%attr(755,root,root) %{_libdir}/libgij.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libgij.so.%{gcj_soname_ver}
+%{?with_x:%attr(755,root,root) %{_libdir}/lib-gnu-awt-xlib.so.*.*.*}
+%{?with_x:%attr(755,root,root) %ghost %{_libdir}/lib-gnu-awt-xlib.so.%{gcj_soname_ver}}
+%dir %{_libdir}/%{gcjdbexecdir}
+%{_libdir}/%{gcjdbexecdir}/classmap.db
+%{?with_mozilla:%attr(755,root,root) %{_libdir}/%{gcjdbexecdir}/libgcjwebplugin.so}
+%{?with_alsa:%attr(755,root,root) %{_libdir}/%{gcjdbexecdir}/libgjsmalsa.so*}
+%{?with_dssi:%attr(755,root,root) %{_libdir}/%{gcjdbexecdir}/libgjsmdssi.so*}
+%{?with_gtk:%attr(755,root,root) %{_libdir}/%{gcjdbexecdir}/libgtkpeer.so}
+%{?with_gtk:%attr(755,root,root) %{_libdir}/%{gcjdbexecdir}/libjawt.so}
+%attr(755,root,root) %{_libdir}/%{gcjdbexecdir}/libjavamath.so
+%attr(755,root,root) %{_libdir}/%{gcjdbexecdir}/libjvm.so
+%{?with_qt:%attr(755,root,root) %{_libdir}/%{gcjdbexecdir}/libqtpeer.so}
+%attr(755,root,root) %{_libdir}/%{gcjdbexecdir}/libxmlj.so*
+%{_libdir}/logging.properties
+%{_javadir}/libgcj*.jar
+%{_mandir}/man1/gij.1*
+
+%files -n libgcj-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libgcj-tools.so
+%{_libdir}/libgcj-tools.la
+%attr(755,root,root) %{_libdir}/libgcj.so
+%{_libdir}/libgcj.la
+%attr(755,root,root) %{_libdir}/libgij.so
+%{_libdir}/libgij.la
+%if %{with x}
+%attr(755,root,root) %{_libdir}/lib-gnu-awt-xlib.so
+%{_libdir}/lib-gnu-awt-xlib.la
+%endif
+%{_libdir}/libgcj.spec
+%dir %{_libdir}/security
+%{_libdir}/security/*
+%{?with_alsa:%{_libdir}/%{gcjdbexecdir}/libgjsmalsa.la}
+%{?with_dssi:%{_libdir}/%{gcjdbexecdir}/libgjsmdssi.la}
+%{?with_gtk:%{_libdir}/%{gcjdbexecdir}/libgtkpeer.la}
+%{?with_gtk:%{_libdir}/%{gcjdbexecdir}/libjawt.la}
+%{_libdir}/%{gcjdbexecdir}/libjavamath.la
+%{_libdir}/%{gcjdbexecdir}/libjvm.la
+%{?with_qt:%{_libdir}/%{gcjdbexecdir}/libqtpeer.la}
+%{?with_mozilla:%{_libdir}/%{gcjdbexecdir}/libgcjwebplugin.la}
+%{_libdir}/%{gcjdbexecdir}/libxmlj.la
+%{gcclibdir}/include/gcj
+%{gcclibdir}/include/jawt.h
+%{gcclibdir}/include/jawt_md.h
+%{gcclibdir}/include/jni.h
+%{gcclibdir}/include/jni_md.h
+%{gcclibdir}/include/jvmpi.h
+%{_includedir}/c++/%{version}/java
+%{_includedir}/c++/%{version}/javax
+%{_includedir}/c++/%{version}/gcj
+%{_includedir}/c++/%{version}/gnu
+%{_includedir}/c++/%{version}/org
+%{_includedir}/c++/%{version}/sun
+%{_pkgconfigdir}/libgcj-%{major_ver}.pc
+
+%files -n libgcj-static
+%defattr(644,root,root,755)
+%{_libdir}/libgcj-tools.a
+%{_libdir}/libgcj.a
+%{_libdir}/libgcj_bc.a
+%{_libdir}/libgij.a
+%{?with_x:%{_libdir}/lib-gnu-awt-xlib.a}
+%{_libdir}/%{gcjdbexecdir}/libjvm.a
+%endif
+
 %if %{with gcc_libffi}
 %files -n libffi
 %defattr(644,root,root,755)
-%doc libffi/{ChangeLog,LICENSE,README}
+%doc libffi/{ChangeLog,ChangeLog.libgcj,LICENSE,README}
 %attr(755,root,root) %{_libdir}/libffi.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libffi.so.4
 
@@ -3842,11 +4526,8 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/gccgo
 %attr(755,root,root) %{_bindir}/go
 %attr(755,root,root) %{_bindir}/gofmt
-%attr(755,root,root) %{gcclibdir}/buildid
 %attr(755,root,root) %{gcclibdir}/cgo
 %attr(755,root,root) %{gcclibdir}/go1
-%attr(755,root,root) %{gcclibdir}/test2json
-%attr(755,root,root) %{gcclibdir}/vet
 %dir %{_libdir}/go
 %{_libdir}/go/%{version}
 %{_mandir}/man1/go.1*
@@ -3872,7 +4553,7 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc libgo/{LICENSE,PATENTS,README}
 %attr(755,root,root) %{_libdir}/libgo.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libgo.so.14
+%attr(755,root,root) %ghost %{_libdir}/libgo.so.9
 
 %files -n libgo-devel
 %defattr(644,root,root,755)
@@ -3880,6 +4561,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libgo.la
 %{_libdir}/libgobegin.a
 %{_libdir}/libgolibbegin.a
+%{_libdir}/libnetgo.a
 
 %files -n libgo-static
 %defattr(644,root,root,755)
@@ -3889,7 +4571,7 @@ rm -rf $RPM_BUILD_ROOT
 %files -n libgo-multilib-32
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libgo.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libgo.so.14
+%attr(755,root,root) %ghost %{_libdir32}/libgo.so.9
 
 %files -n libgo-multilib-32-devel
 %defattr(644,root,root,755)
@@ -3897,6 +4579,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir32}/libgo.la
 %{_libdir32}/libgobegin.a
 %{_libdir32}/libgolibbegin.a
+%{_libdir32}/libnetgo.a
 
 %files -n libgo-multilib-32-static
 %defattr(644,root,root,755)
@@ -3907,7 +4590,7 @@ rm -rf $RPM_BUILD_ROOT
 %files -n libgo-multilib-%{multilib2}
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdirm2}/libgo.so.*.*.*
-%attr(755,root,root) %ghost %{_libdirm2}/libgo.so.14
+%attr(755,root,root) %ghost %{_libdirm2}/libgo.so.9
 
 %files -n libgo-multilib-%{multilib2}-devel
 %defattr(644,root,root,755)
@@ -3915,6 +4598,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdirm2}/libgo.la
 %{_libdirm2}/libgobegin.a
 %{_libdirm2}/libgolibbegin.a
+%{_libdirm2}/libnetgo.a
 
 %files -n libgo-multilib-%{multilib2}-static
 %defattr(644,root,root,755)
@@ -3927,7 +4611,7 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc libsanitizer/ChangeLog* libsanitizer/LICENSE.TXT
 %attr(755,root,root) %{_libdir}/libasan.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libasan.so.5
+%attr(755,root,root) %ghost %{_libdir}/libasan.so.3
 
 %files -n libasan-devel
 %defattr(644,root,root,755)
@@ -3944,7 +4628,7 @@ rm -rf $RPM_BUILD_ROOT
 %files -n libasan-multilib-32
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libasan.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libasan.so.5
+%attr(755,root,root) %ghost %{_libdir32}/libasan.so.3
 
 %files -n libasan-multilib-32-devel
 %defattr(644,root,root,755)
@@ -3961,7 +4645,7 @@ rm -rf $RPM_BUILD_ROOT
 %files -n libasan-multilib-%{multilib2}
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdirm2}/libasan.so.*.*.*
-%attr(755,root,root) %ghost %{_libdirm2}/libasan.so.5
+%attr(755,root,root) %ghost %{_libdirm2}/libasan.so.3
 
 %files -n libasan-multilib-%{multilib2}-devel
 %defattr(644,root,root,755)
@@ -3984,7 +4668,6 @@ rm -rf $RPM_BUILD_ROOT
 %files -n liblsan-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/liblsan.so
-%{_libdir}/liblsan_preinit.o
 %{_libdir}/liblsan.la
 %{gcclibdir}/include/sanitizer/lsan_interface.h
 
@@ -4002,7 +4685,6 @@ rm -rf $RPM_BUILD_ROOT
 %files -n liblsan-multilib-%{multilib2}-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdirm2}/liblsan.so
-%{_libdirm2}/liblsan_preinit.o
 %{_libdirm2}/liblsan.la
 # it looks like duplicate of file from liblsan-devel, but actually it isn't:
 # these packages are mutually exclusive
@@ -4024,9 +4706,7 @@ rm -rf $RPM_BUILD_ROOT
 %files -n libtsan-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libtsan.so
-%{_libdir}/libtsan_preinit.o
 %{_libdir}/libtsan.la
-%{gcclibdir}/include/sanitizer/tsan_interface.h
 
 %files -n libtsan-static
 %defattr(644,root,root,755)
@@ -4043,12 +4723,7 @@ rm -rf $RPM_BUILD_ROOT
 %files -n libtsan-multilib-%{multilib2}-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdirm2}/libtsan.so
-%{_libdirm2}/libtsan_preinit.o
 %{_libdirm2}/libtsan.la
-# it looks like duplicate of file from libtsan-devel, but actually it isn't:
-# these packages are mutually exclusive
-# (either liblsan-devel.x86_64 or liblsan-multilib-64.x32)
-%{gcclibdir}/include/sanitizer/tsan_interface.h
 
 %files -n libtsan-multilib-%{multilib2}-static
 %defattr(644,root,root,755)
@@ -4059,7 +4734,7 @@ rm -rf $RPM_BUILD_ROOT
 %files -n libubsan
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libubsan.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libubsan.so.1
+%attr(755,root,root) %ghost %{_libdir}/libubsan.so.0
 
 %files -n libubsan-devel
 %defattr(644,root,root,755)
@@ -4074,7 +4749,7 @@ rm -rf $RPM_BUILD_ROOT
 %files -n libubsan-multilib-32
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir32}/libubsan.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir32}/libubsan.so.1
+%attr(755,root,root) %ghost %{_libdir32}/libubsan.so.0
 
 %files -n libubsan-multilib-32-devel
 %defattr(644,root,root,755)
@@ -4090,7 +4765,7 @@ rm -rf $RPM_BUILD_ROOT
 %files -n libubsan-multilib-%{multilib2}
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdirm2}/libubsan.so.*.*.*
-%attr(755,root,root) %ghost %{_libdirm2}/libubsan.so.1
+%attr(755,root,root) %ghost %{_libdirm2}/libubsan.so.0
 
 %files -n libubsan-multilib-%{multilib2}-devel
 %defattr(644,root,root,755)
@@ -4208,7 +4883,6 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libcc1.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libcc1.so.0
 %attr(755,root,root) %{gcclibdir}/plugin/libcc1plugin.so.*
-%attr(755,root,root) %{gcclibdir}/plugin/libcp1plugin.so.*
 
 %files plugin-devel
 %defattr(644,root,root,755)
@@ -4216,7 +4890,77 @@ rm -rf $RPM_BUILD_ROOT
 %{gcclibdir}/plugin/gengtype
 %{gcclibdir}/plugin/gtype.state
 %{gcclibdir}/plugin/include
-%{gcclibdir}/plugin/libcc1plugin.la
+%attr(755,root,root) %{gcclibdir}/plugin/libcc1plugin.la
 %attr(755,root,root) %{gcclibdir}/plugin/libcc1plugin.so
-%{gcclibdir}/plugin/libcp1plugin.la
-%attr(755,root,root) %{gcclibdir}/plugin/libcp1plugin.so
+
+# see libmpx/configure.tgt for supported architectures
+%ifarch %{x8664} %{ix86}
+%files -n libmpx
+%defattr(644,root,root,755)
+%doc libmpx/ChangeLog
+%attr(755,root,root) %{_libdir}/libmpx.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmpx.so.2
+%attr(755,root,root) %{_libdir}/libmpxwrappers.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmpxwrappers.so.2
+
+%files -n libmpx-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libmpx.so
+%attr(755,root,root) %{_libdir}/libmpxwrappers.so
+%{_libdir}/libmpx.la
+%{_libdir}/libmpxwrappers.la
+%{_libdir}/libmpx.spec
+
+%files -n libmpx-static
+%defattr(644,root,root,755)
+%{_libdir}/libmpx.a
+%{_libdir}/libmpxwrappers.a
+%endif
+
+%if %{with multilib}
+%files -n libmpx-multilib-32
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libmpx.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir32}/libmpx.so.2
+%attr(755,root,root) %{_libdir32}/libmpxwrappers.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir32}/libmpxwrappers.so.2
+
+%files -n libmpx-multilib-32-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir32}/libmpx.so
+%attr(755,root,root) %{_libdir32}/libmpxwrappers.so
+%{_libdir32}/libmpx.la
+%{_libdir32}/libmpxwrappers.la
+%{_libdir32}/libmpx.spec
+
+%files -n libmpx-multilib-32-static
+%defattr(644,root,root,755)
+%{_libdir32}/libmpx.a
+%{_libdir32}/libmpxwrappers.a
+%endif
+
+%if %{with multilib2}
+# see libmpx/configure.tgt for supported architectures;
+# no x32 there as of gcc 6.x
+%if "%{multilib2}" != "x32"
+%files -n libmpx-multilib-%{multilib2}
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libmpx.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libmpx.so.2
+%attr(755,root,root) %{_libdirm2}/libmpxwrappers.so.*.*.*
+%attr(755,root,root) %ghost %{_libdirm2}/libmpxwrappers.so.2
+
+%files -n libmpx-multilib-%{multilib2}-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdirm2}/libmpx.so
+%attr(755,root,root) %{_libdirm2}/libmpxwrappers.so
+%{_libdirm2}/libmpx.la
+%{_libdirm2}/libmpxwrappers.la
+%{_libdirm2}/libmpx.spec
+
+%files -n libmpx-multilib-%{multilib2}-static
+%defattr(644,root,root,755)
+%{_libdirm2}/libmpx.a
+%{_libdirm2}/libmpxwrappers.a
+%endif
+%endif
diff --git a/branch.sh b/branch.sh
index 786711f..e2e55c0 100755
--- a/branch.sh
+++ b/branch.sh
@@ -2,16 +2,14 @@
 set -e
 package=gcc
 svn=svn://gcc.gnu.org/svn/$package
-branch=branches/$package-9-branch
-tag=tags/${package}_9_2_0_release
+branch=branches/$package-6-branch
+tag=tags/${package}_6_5_0_release
 out=$package-branch.diff
 
 # use filterdiff, etc to exclude bad chunks from diff
 filter() {
 	# remove revno's for smaller diffs
-	# replace svn nonexistend with '0' date, so patch will know that file needs to be removed from disk
-	sed -e 's,^\([-+]\{3\} .*\)\t(revision [0-9]\+)$,\1,' | \
-	sed -e 's,^\([-+]\{3\} .*\t\)(nonexistent)$,\11970-01-01 01:00:00.000000000 +0100,'
+	sed -e 's,^\([-+]\{3\} .*\)\t(revision [0-9]\+)$,\1,'
 }
 
 old=$svn/$tag
diff --git a/gcc-enable-java-awt-qt.patch b/gcc-enable-java-awt-qt.patch
new file mode 100644
index 0000000..d5bfb65
--- /dev/null
+++ b/gcc-enable-java-awt-qt.patch
@@ -0,0 +1,82 @@
+--- trunk/libjava/classpath/configure.ac	2006-07-02 15:32:04.000000000 +0200
++++ trunk/libjava/classpath/configure.ac	2006-07-02 19:18:28.913906000 +0200
+@@ -502,7 +502,8 @@
+       AC_CHECK_FILE([$EXTRA_QT_INCLUDE_DIR/QWidget],
+ 	QT_CFLAGS="$QT_CFLAGS -I$EXTRA_QT_INCLUDE_DIR",
+ 	AC_MSG_WARN([QWidget not found])))
+-	AC_CHECK_PROG(MOC, [moc], [moc])
++	QT4DIR=`$PKG_CONFIG --variable=prefix QtGui`
++	AC_CHECK_PROG(MOC, [moc], [$QT4DIR/bin/moc], [], $QT4DIR/bin)
+ 	AC_CHECK_PROG(MOC, [moc-qt4], [moc-qt4])
+     fi
+     if test "x$HAVE_QT4" = "xno"; then
+--- trunk/libjava/classpath/native/jni/qt-peer/Makefile.am	2007-06-04 01:18:43.000000000 +0200
++++ trunk/libjava/classpath/native/jni/qt-peer/Makefile.am	2008-03-06 16:32:36.000000000 +0100
+@@ -1,8 +1,7 @@
+ # Qt AWT backend for Classpath
+ #
+ 
+-## GCJ LOCAL: don't install this library
+-noinst_LTLIBRARIES = libqtpeer.la
++nativeexeclib_LTLIBRARIES = libqtpeer.la
+ 
+ AM_LDFLAGS = @CLASSPATH_MODULE@ @QT_LIBS@
+ AM_CPPFLAGS = @CLASSPATH_INCLUDES@
+--- trunk/libjava/classpath/native/jni/qt-peer/Makefile.in	2007-08-04 12:53:49.000000000 +0200
++++ trunk/libjava/classpath/native/jni/qt-peer/Makefile.in	2008-03-06 15:24:38.000000000 +0100
+@@ -64,7 +64,8 @@
+ mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
+ CONFIG_HEADER = $(top_builddir)/include/config.h
+ CONFIG_CLEAN_FILES =
+-LTLIBRARIES = $(noinst_LTLIBRARIES)
++nativeexeclibLTLIBRARIES_INSTALL = $(INSTALL)
++LTLIBRARIES = $(nativeexeclib_LTLIBRARIES)
+ libqtpeer_la_LIBADD =
+ am_libqtpeer_la_OBJECTS = componentevent.lo keybindings.lo \
+ 	mainqtthread.lo mainthreadinterface.lo nativewrapper.lo \
+@@ -357,7 +358,7 @@
+ target_vendor = @target_vendor@
+ toolexeclibdir = @toolexeclibdir@
+ vm_classes = @vm_classes@
+-noinst_LTLIBRARIES = libqtpeer.la
++nativeexeclib_LTLIBRARIES = libqtpeer.la
+ AM_LDFLAGS = @CLASSPATH_MODULE@ @QT_LIBS@
+ AM_CPPFLAGS = @CLASSPATH_INCLUDES@
+ AM_CXXFLAGS = @QT_CFLAGS@ \
+@@ -475,7 +476,7 @@
+ 	  rm -f "$${dir}/so_locations"; \
+ 	done
+ libqtpeer.la: $(libqtpeer_la_OBJECTS) $(libqtpeer_la_DEPENDENCIES) 
+-	$(CXXLINK)  $(libqtpeer_la_LDFLAGS) $(libqtpeer_la_OBJECTS) $(libqtpeer_la_LIBADD) $(LIBS)
++	$(LINK) -rpath $(nativeexeclibdir) $(libqtpeer_la_LDFLAGS) $(libqtpeer_la_OBJECTS) $(libqtpeer_la_LIBADD) $(LIBS)
+ 
+ mostlyclean-compile:
+ 	-rm -f *.$(OBJEXT)
+@@ -686,7 +687,18 @@
+ 
+ install-data-am:
+ 
+-install-exec-am:
++install-nativeexeclibLTLIBRARIES: $(nativeexeclib_LTLIBRARIES)
++	@$(NORMAL_INSTALL)
++	test -z "$(nativeexeclibdir)" || $(mkdir_p) "$(DESTDIR)$(nativeexeclibdir)"
++	@list='$(nativeexeclib_LTLIBRARIES)'; for p in $$list; do \
++	  if test -f $$p; then \
++	    f=$(am__strip_dir) \
++	    echo " $(LIBTOOL) --mode=install $(nativeexeclibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(nativeexeclibdir)/$$f'"; \
++	    $(LIBTOOL) --mode=install $(nativeexeclibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(nativeexeclibdir)/$$f"; \
++	  else :; fi; \
++	done
++
++install-exec-am: install-nativeexeclibLTLIBRARIES
+ 
+ install-info: install-info-am
+ 
+@@ -720,6 +732,7 @@
+ 	distclean-tags distdir dvi dvi-am html html-am info info-am \
+ 	install install-am install-data install-data-am install-exec \
+ 	install-exec-am install-info install-info-am install-man \
++	install-nativeexeclibLTLIBRARIES \
+ 	install-strip installcheck installcheck-am installdirs \
+ 	maintainer-clean maintainer-clean-generic mostlyclean \
+ 	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
diff --git a/gcc-info.patch b/gcc-info.patch
index 1536e1c..27c65be 100644
--- a/gcc-info.patch
+++ b/gcc-info.patch
@@ -118,6 +118,183 @@
  @end direntry
  This file documents the use and the internals of
  the GNU Fortran compiler, (@command{gfortran}).
+--- gcc-4.9.2/gcc/java/gcj.texi.orig	2014-01-02 22:25:41.000000000 +0100
++++ gcc-4.9.2/gcc/java/gcj.texi	2015-01-13 20:25:09.094821767 +0100
+@@ -53,29 +53,21 @@
+ 
+ @ifinfo
+ @format
+- at dircategory Software development
++ at dircategory Programming Languages:
+ @direntry
+-* Gcj: (gcj).               Ahead-of-time compiler for the Java language
++* Gcj: (gcj).				Ahead-of-time compiler for the Java language
+ @end direntry
+ 
+- at dircategory Individual utilities
++ at dircategory Programming tools:
+ @direntry
+-* jcf-dump: (gcj)Invoking jcf-dump.
+-                            Print information about Java class files
+-* gij: (gcj)Invoking gij.   GNU interpreter for Java bytecode
+-* gcj-dbtool: (gcj)Invoking gcj-dbtool.
+-                            Tool for manipulating class file databases.
+-* jv-convert: (gcj)Invoking jv-convert.
+-                            Convert file from one encoding to another
+-* grmic: (gcj)Invoking grmic.
+-                            Generate stubs for Remote Method Invocation.
+-* gc-analyze: (gcj)Invoking gc-analyze.
+-                            Analyze Garbage Collector (GC) memory dumps.
+-* aot-compile: (gcj)Invoking aot-compile.
+-                            Compile bytecode to native and generate databases.
+-* rebuild-gcj-db: (gcj)Invoking rebuild-gcj-db.
+-                            Merge the per-solib databases made by aot-compile
+-                            into one system-wide database.
++* jcf-dump: (gcj)jcf-dump.		Print information about Java class files
++* gij: (gcj)gij.			GNU interpreter for Java bytecode
++* jv-convert: (gcj)jv-convert.		Convert file from one encoding to another
++* gcj-dbtool: (gcj)gcj-dbtool.		Db tool
++* grmic: (gcj)grmic.			Generate stubs for Remote Method Invocation
++* gc-analyze: (gcj)gc-analyze.		Analyze Garbage Collector (GC) memory dumps
++* aot-compile: (gcj)aot-compile.	Compile bytecode to native and generate databases
++* rebuild-gcj-db: (gcj)rebuild-gcj-db.	Merge the per-solib databases made by aot-compile into one system-wide database
+ @end direntry
+ @end format
+ 
+@@ -108,33 +100,31 @@
+ @file{.class} files.
+ 
+ @menu
+-* Copying::             The GNU General Public License
++* Copying::		The GNU General Public License
+ * GNU Free Documentation License::
+-                        How you can share and copy this manual
+-* Invoking gcj::        Compiler options supported by @command{gcj}
+-* Compatibility::       Compatibility between gcj and other tools for Java
+-* Invoking jcf-dump::   Print information about class files
+-* Invoking gij::        Interpreting Java bytecodes
+-* Invoking gcj-dbtool:: Tool for manipulating class file databases.
+-* Invoking jv-convert:: Converting from one encoding to another
+-* Invoking grmic::      Generate stubs for Remote Method Invocation.
+-* Invoking gc-analyze:: Analyze Garbage Collector (GC) memory dumps.
+-* Invoking aot-compile:: Compile bytecode to native and generate databases.
+-* Invoking rebuild-gcj-db:: Merge the per-solib databases made by aot-compile
+-                            into one system-wide database.
+-* About CNI::           Description of the Compiled Native Interface
+-* System properties::   Modifying runtime behavior of the libgcj library
+-* Resources::           Where to look for more information
+-* Index::               Index.
++			How you can share and copy this manual
++* gcj::			Compiler options supported by @command{gcj}
++* Compatibility::	Compatibility between gcj and other tools for Java
++* jcf-dump::		Print information about class files
++* gij::			Interpreting Java bytecodes
++* gcj-dbtool::		Tool for manipulating class file databases.
++* jv-convert::		Converting from one encoding to another
++* grmic::		Generate stubs for Remote Method Invocation.
++* gc-analyze::		Analyze Garbage Collector (GC) memory dumps.
++* aot-compile::		Compile bytecode to native and generate databases.
++* rebuild-gcj-db::	Merge the per-solib databases made by aot-compile into one system-wide database.
++* About CNI::		Description of the Compiled Native Interface
++* System properties::	Modifying runtime behavior of the libgcj library
++* Resources::		Where to look for more information
++* Index::		Index.
+ @end menu
+ 
+-
+ @include gpl_v3.texi
+ 
+ @include fdl.texi
+ 
+ 
+- at node Invoking gcj
++ at node gcj
+ @chapter Invoking gcj
+ 
+ @c man title gcj Ahead-of-time compiler for the Java language
+@@ -685,8 +675,8 @@
+ @code{-findirect-dispatch} then add them to the system-wide
+ classmap.db file using @code{gcj-dbtool}, they will be automatically
+ loaded by the @code{libgcj} system classloader.  This is the new,
+-preferred classname-to-library resolution mechanism.  @xref{Invoking
+-gcj-dbtool}, for more information on using the classmap database.
++preferred classname-to-library resolution mechanism.  @xref{gcj-dbtool},
++for more information on using the classmap database.
+ 
+ @item
+ The old classname-to-library lookup mechanism is still supported
+@@ -733,7 +723,7 @@
+ @end itemize
+ 
+ 
+- at node Invoking jcf-dump
++ at node jcf-dump
+ @chapter Invoking jcf-dump
+ 
+ @c man title jcf-dump print information about Java class files
+@@ -793,7 +783,7 @@
+ 
+ @c man end
+ 
+- at node Invoking gij
++ at node gij
+ @chapter Invoking gij
+ 
+ @c man title gij GNU interpreter for Java bytecode
+@@ -922,7 +912,7 @@
+ 
+ @c man end
+ 
+- at node Invoking gcj-dbtool
++ at node gcj-dbtool
+ @chapter Invoking gcj-dbtool.
+ 
+ @c man title gcj-dbtool Manipulate class file mapping databases for libgcj
+@@ -1013,7 +1003,7 @@
+ 
+ @c man end
+ 
+- at node Invoking jv-convert
++ at node jv-convert
+ @chapter Invoking jv-convert
+ 
+ @c man title jv-convert Convert file from one encoding to another
+@@ -1072,7 +1062,7 @@
+ 
+ @c man end
+ 
+- at node Invoking grmic
++ at node grmic
+ @chapter Invoking grmic
+ 
+ @c man title grmic Generate stubs for Remote Method Invocation
+@@ -1151,7 +1141,7 @@
+ @c man end
+ 
+ 
+- at node Invoking gc-analyze
++ at node gc-analyze
+ @chapter Invoking gc-analyze
+ 
+ @c man title gc-analyze Analyze Garbage Collector (GC) memory dumps
+@@ -1234,7 +1224,7 @@
+ 
+ @c man end
+ 
+- at node Invoking aot-compile
++ at node aot-compile
+ @chapter Invoking aot-compile
+ 
+ @c man title aot-compile Compile bytecode to native and generate databases
+@@ -1292,7 +1282,7 @@
+ 
+ @c man end
+ 
+- at node Invoking rebuild-gcj-db
++ at node rebuild-gcj-db
+ @chapter Invoking rebuild-gcj-db
+ 
+ @c man title rebuild-gcj-db Merge the per-solib databases made by aot-compile into one system-wide database.
 --- a/gcc/doc/install.texi	2005-11-30 12:02:42.000000000 +0100
 +++ b/gcc/doc/install.texi	2005-12-11 02:44:22.598279768 +0100
 @@ -87,9 +87,9 @@
@@ -146,6 +323,20 @@
  @end direntry
  @end format
  
+--- gcc-4.8.2/libjava/classpath/doc/cp-tools.texinfo.orig	2013-02-21 10:40:44.000000000 +0100
++++ gcc-4.8.2/libjava/classpath/doc/cp-tools.texinfo	2014-04-21 08:05:30.116078643 +0200
+@@ -35,9 +35,9 @@
+ @ifnotplaintext
+ @setchapternewpage on
+ 
+- at dircategory GNU Libraries
++ at dircategory Libraries:
+ @direntry
+-* Classpath Tools: (cp-tools).  GNU Classpath Tools Guide
++* Classpath Tools: (cp-tools).		GNU Classpath Tools Guide
+ @end direntry
+ @end ifnotplaintext
+ @end ifinfo
 --- gcc-4.8.2/libgomp/libgomp.texi.orig	2013-01-14 19:18:49.000000000 +0100
 +++ gcc-4.8.2/libgomp/libgomp.texi	2014-04-21 08:06:10.259411139 +0200
 @@ -29,9 +29,9 @@
@@ -202,6 +393,34 @@
  @end direntry
  
  @titlepage
+--- gcc-4.9.2/libjava/classpath/doc/cp-hacking.texinfo.orig	2010-10-12 17:55:12.000000000 +0200
++++ gcc-4.9.2/libjava/classpath/doc/cp-hacking.texinfo	2015-01-13 20:20:39.751499738 +0100
+@@ -14,9 +14,9 @@
+ Copyright (C) 1998,1999,2000,2001,2002,2003,2004,2005,2007,2009 Free Software Foundation, Inc.
+ 
+ @ifnotplaintext
+- at dircategory GNU Libraries
++ at dircategory Libraries:
+ @direntry
+-* Classpath Hacking: (cp-hacking).  GNU Classpath Hacker's Guide
++* Classpath Hacking: (cp-hacking).	GNU Classpath Hacker's Guide
+ @end direntry
+ @end ifnotplaintext
+ @end ifinfo
+--- gcc-4.9.2/libjava/classpath/doc/cp-vmintegration.texinfo.orig	2008-06-28 15:29:13.000000000 +0200
++++ gcc-4.9.2/libjava/classpath/doc/cp-vmintegration.texinfo	2015-01-13 20:21:24.928164508 +0100
+@@ -15,9 +15,9 @@
+ Copyright (C) 1998-2002, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+ 
+ @ifnotplaintext
+- at dircategory GNU Libraries
++ at dircategory Libraries:
+ @direntry
+-* VM Integration: (cp-vmintegration).  GNU Classpath VM Integration Guide
++* VM Integration: (cp-vmintegration).	GNU Classpath VM Integration Guide
+ @end direntry
+ @end ifnotplaintext
+ @end ifinfo
 --- gcc-4.9.2/libiberty/libiberty.texi.orig	2015-01-13 20:22:23.151495398 +0100
 +++ gcc-4.9.2/libiberty/libiberty.texi	2015-01-13 20:22:25.921495282 +0100
 @@ -11,10 +11,9 @@
diff --git a/gcc-libjava-multilib.patch b/gcc-libjava-multilib.patch
new file mode 100644
index 0000000..0ae37c1
--- /dev/null
+++ b/gcc-libjava-multilib.patch
@@ -0,0 +1,47 @@
+--- libjava/configure.ac.jj	2007-12-07 17:55:50.000000000 +0100
++++ libjava/configure.ac	2007-12-07 18:36:56.000000000 +0100
+@@ -82,6 +82,13 @@ AC_ARG_ENABLE(java-maintainer-mode,
+ 	[allow rebuilding of .class and .h files]))
+ AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes)
+ 
++AC_ARG_ENABLE(libjava-multilib,
++	AS_HELP_STRING([--enable-libjava-multilib], [build libjava as multilib]))
++if test "$enable_libjava_multilib" = no; then
++  multilib=no
++  ac_configure_args="$ac_configure_args --disable-multilib"
++fi
++
+ # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
+ GCC_NO_EXECUTABLES
+ 
+--- libjava/configure.jj	2007-12-07 17:55:50.000000000 +0100
++++ libjava/configure	2007-12-07 18:39:58.000000000 +0100
+@@ -1018,6 +1018,8 @@ Optional Features:
+   --enable-gconf-peer     compile GConf native peers for util.preferences
+   --enable-java-maintainer-mode
+                           allow rebuilding of .class and .h files
++  --enable-libjava-multilib
++                          build libjava as multilib
+   --disable-dependency-tracking  speeds up one-time build
+   --enable-dependency-tracking   do not reject slow dependency extractors
+   --enable-maintainer-mode  enable make rules and dependencies not useful
+@@ -1848,6 +1850,16 @@ else
+ fi
+ 
+ 
++# Check whether --enable-libjava-multilib was given.
++if test "${enable_libjava_multilib+set}" = set; then
++  enableval=$enable_libjava_multilib;
++fi
++
++if test "$enable_libjava_multilib" = no; then
++  multilib=no
++  ac_configure_args="$ac_configure_args --disable-multilib"
++fi
++
+ # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
+ 
+ 
+
+	Jakub
+
diff --git a/gcc-moresparcs.patch b/gcc-moresparcs.patch
index 0a243b5..9d62700 100644
--- a/gcc-moresparcs.patch
+++ b/gcc-moresparcs.patch
@@ -9,13 +9,13 @@
  	tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/tso.h"
  	extra_options="${extra_options} sparc/long-double-switch.opt"
  	case ${target} in
-@@ -2878,7 +2878,7 @@ sparc64-*-rtems*)
+@@ -2454,7 +2454,7 @@
  	extra_options="${extra_options}"
- 	tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
+ 	tmake_file="${tmake_file} sparc/t-sparc t-rtems"
  	;;
 -sparc64-*-linux*)
 +sparc64*-*-linux*)
- 	tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default64.h sparc/linux64.h sparc/tso.h"
+ 	tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h gnu-user.h linux.h glibc-stdint.h sparc/default-64.h sparc/linux64.h sparc/tso.h"
  	extra_options="${extra_options} sparc/long-double-switch.opt"
  	tmake_file="${tmake_file} sparc/t-sparc sparc/t-linux64"
 --- gcc-4.7.1/libgcc/config.host.orig	2012-04-30 19:39:57.000000000 +0200
diff --git a/gcc-nodebug.patch b/gcc-nodebug.patch
index 2ecd3b2..4707f5b 100644
--- a/gcc-nodebug.patch
+++ b/gcc-nodebug.patch
@@ -9,14 +9,13 @@
  BOOT_CFLAGS = -O $(CFLAGS)
  # These exists to be overridden by the t-* files, respectively.
  T_CFLAGS =
-@@ -105,13 +105,13 @@ TEXI2PDF = texi2pdf
+@@ -105,12 +105,12 @@ TEXI2PDF = texi2pdf
  GNATBIND_FLAGS = -static -x
  ADA_CFLAGS =
  ADAFLAGS = -W -Wall -gnatpg -gnata
 -FORCE_DEBUG_ADAFLAGS = -g
 +FORCE_DEBUG_ADAFLAGS =
  NO_INLINE_ADAFLAGS = -fno-inline
- NO_OMIT_ADAFLAGS = -fno-omit-frame-pointer
  NO_SIBLING_ADAFLAGS = -fno-optimize-sibling-calls
  NO_REORDER_ADAFLAGS = -fno-toplevel-reorder
  GNATLIBFLAGS = -W -Wall -gnatpg -nostdinc
@@ -69,6 +68,86 @@
  LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(HOST_LIBGCC2_CFLAGS) \
  		 $(LIBGCC2_DEBUG_CFLAGS) -DIN_LIBGCC2 \
  		 -fbuilding-libgcc -fno-stack-protector \
+--- gcc-4.7.1/libjava/classpath/tools/Makefile.am.orig	2011-09-29 13:37:47.000000000 +0200
++++ gcc-4.7.1/libjava/classpath/tools/Makefile.am	2012-07-12 18:29:33.452403949 +0200
+@@ -355,8 +355,8 @@
+ if JAVA_MAINTAINER_MODE
+ ## Compile ASM separately as it is latin-1 encoded.
+ 	AC=`echo $(JCOMPILER) | sed -e 's/UTF-8/ISO-8859-1/g'`; \
+-	  $$AC -g -w -d $(srcdir)/asm @asm.lst
+-	$(JCOMPILER) $(USE_JAVAC_FLAGS) -g -d $(srcdir)/classes @classes.lst @vm-tools.lst
++	  $$AC -w -d $(srcdir)/asm @asm.lst
++	$(JCOMPILER) $(USE_JAVAC_FLAGS) -d $(srcdir)/classes @classes.lst @vm-tools.lst
+ endif
+ ## END GCJ LOCAL
+ ## Copy over tools resource files.
+--- gcc-4.7.1/libjava/classpath/tools/Makefile.in.orig	2011-09-29 13:37:47.000000000 +0200
++++ gcc-4.7.1/libjava/classpath/tools/Makefile.in	2012-07-12 18:29:52.035736502 +0200
+@@ -1413,8 +1413,8 @@
+ 	fi
+ 	cat classes.lst asm.lst vm-tools.lst > all-classes.lst
+ @JAVA_MAINTAINER_MODE_TRUE@	AC=`echo $(JCOMPILER) | sed -e 's/UTF-8/ISO-8859-1/g'`; \
+- at JAVA_MAINTAINER_MODE_TRUE@	  $$AC -g -w -d $(srcdir)/asm @asm.lst
+- at JAVA_MAINTAINER_MODE_TRUE@	$(JCOMPILER) $(USE_JAVAC_FLAGS) -g -d $(srcdir)/classes @classes.lst @vm-tools.lst
++ at JAVA_MAINTAINER_MODE_TRUE@	  $$AC -w -d $(srcdir)/asm @asm.lst
++ at JAVA_MAINTAINER_MODE_TRUE@	$(JCOMPILER) $(USE_JAVAC_FLAGS) -d $(srcdir)/classes @classes.lst @vm-tools.lst
+ 	@list=`cd $(srcdir)/resource && find gnu/classpath/tools com/sun/tools/javac \
+ 	       sun/rmi/rmic $(GJDOC_EX) -name \*.properties -print -o -name \*.jav -print`; \
+ 	for p in $$list; do \
+--- gcc-4.7.1/libjava/Makefile.am.orig	2011-08-05 16:37:48.000000000 +0200
++++ gcc-4.7.1/libjava/Makefile.am	2012-07-12 18:30:07.649069180 +0200
+@@ -399,7 +399,7 @@
+ ## Extra CFLAGS used for JNI C sources shared with GNU Classpath.
+ PEDANTIC_CFLAGS = -ansi -pedantic -Wall -Wno-long-long
+ 
+-JCFLAGS = -g
++JCFLAGS =
+ JC1FLAGS = @LIBGCJ_JAVAFLAGS@ $(GCJFLAGS)
+ 
+ LIBFFIINCS = @LIBFFIINCS@
+--- gcc-4.7.1/libjava/Makefile.in.orig	2012-06-14 10:48:08.000000000 +0200
++++ gcc-4.7.1/libjava/Makefile.in	2012-07-12 18:30:20.642401968 +0200
+@@ -1032,7 +1032,7 @@
+ @BUILD_LIBGCJ_REDUCED_REFLECTION_FALSE at LIBGCJ_REDUCED_REFLECTION_FLAGS = 
+ @BUILD_LIBGCJ_REDUCED_REFLECTION_TRUE at LIBGCJ_REDUCED_REFLECTION_FLAGS = -freduced-reflection
+ PEDANTIC_CFLAGS = -ansi -pedantic -Wall -Wno-long-long
+-JCFLAGS = -g
++JCFLAGS =
+ JC1FLAGS = @LIBGCJ_JAVAFLAGS@ $(GCJFLAGS)
+ AM_CPPFLAGS = -I$(top_srcdir) \
+ 	-Iinclude -I$(top_srcdir)/include \
+--- gcc-4.7.1/libjava/testsuite/Makefile.am.orig	2010-05-04 00:37:50.000000000 +0200
++++ gcc-4.7.1/libjava/testsuite/Makefile.am	2012-07-12 18:30:54.965733863 +0200
+@@ -83,11 +83,11 @@
+ 	  testtmpdir=`echo $$test | sed -e 's,/,_,g'`T; \
+ 	  rm -rf $$testtmpdir; $(mkdir_p) $$testtmpdir; \
+ 	  if test -n "$$testdep"; then \
+-	    $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \
++	    $(GCJ) -C -w --encoding=UTF-8 -bootclasspath \
+ 	      $(top_builddir)/libgcj-$(gcc_version).jar::$$testtmpdir \
+ 	      -d $$testtmpdir $(srcdir)/$$testdep || exit; \
+ 	  fi; \
+-	  $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \
++	  $(GCJ) -C -w --encoding=UTF-8 -bootclasspath \
+ 	    $(top_builddir)/libgcj-$(gcc_version).jar:$$testtmpdir \
+ 	    -d $$testtmpdir $(srcdir)/$$test || exit; \
+ 	  case "$$test" in \
+--- gcc-4.7.1/libjava/testsuite/Makefile.in.orig	2012-05-21 20:14:01.000000000 +0200
++++ gcc-4.7.1/libjava/testsuite/Makefile.in	2012-07-12 18:31:09.359066590 +0200
+@@ -569,11 +569,11 @@
+ @JAVA_MAINTAINER_MODE_TRUE@	  testtmpdir=`echo $$test | sed -e 's,/,_,g'`T; \
+ @JAVA_MAINTAINER_MODE_TRUE@	  rm -rf $$testtmpdir; $(mkdir_p) $$testtmpdir; \
+ @JAVA_MAINTAINER_MODE_TRUE@	  if test -n "$$testdep"; then \
+- at JAVA_MAINTAINER_MODE_TRUE@	    $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \
++ at JAVA_MAINTAINER_MODE_TRUE@	    $(GCJ) -C -w --encoding=UTF-8 -bootclasspath \
+ @JAVA_MAINTAINER_MODE_TRUE@	      $(top_builddir)/libgcj-$(gcc_version).jar::$$testtmpdir \
+ @JAVA_MAINTAINER_MODE_TRUE@	      -d $$testtmpdir $(srcdir)/$$testdep || exit; \
+ @JAVA_MAINTAINER_MODE_TRUE@	  fi; \
+- at JAVA_MAINTAINER_MODE_TRUE@	  $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \
++ at JAVA_MAINTAINER_MODE_TRUE@	  $(GCJ) -C -w --encoding=UTF-8 -bootclasspath \
+ @JAVA_MAINTAINER_MODE_TRUE@	    $(top_builddir)/libgcj-$(gcc_version).jar:$$testtmpdir \
+ @JAVA_MAINTAINER_MODE_TRUE@	    -d $$testtmpdir $(srcdir)/$$test || exit; \
+ @JAVA_MAINTAINER_MODE_TRUE@	  case "$$test" in \
 --- gcc-4.7.1/libstdc++-v3/include/Makefile.am.orig	2012-03-23 12:00:54.000000000 +0100
 +++ gcc-4.7.1/libstdc++-v3/include/Makefile.am	2012-07-12 18:31:29.102399096 +0200
 @@ -1154,22 +1154,22 @@
@@ -138,14 +217,12 @@
  BOOT_LDFLAGS=
  BOOT_ADAFLAGS=-gnatpg -gnata
  
-@@ -618,8 +618,8 @@ CXXFLAGS_FOR_TARGET = @CXXFLAGS_FOR_TARG
+@@ -574,7 +574,7 @@
  LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
  LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
  LDFLAGS_FOR_TARGET = @LDFLAGS_FOR_TARGET@
 -GOCFLAGS_FOR_TARGET = -O2 -g
--GDCFLAGS_FOR_TARGET = -O2 -g
 +GOCFLAGS_FOR_TARGET = -O2
-+GDCFLAGS_FOR_TARGET = -O2
  
  FLAGS_FOR_TARGET = @FLAGS_FOR_TARGET@
  SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/gcc6-java.git/commitdiff/ae39b21bfcf1d362a2939b0783a539ea6d195b37



More information about the pld-cvs-commit mailing list