4.3.0-0.3
This commit is contained in:
parent
080629bad7
commit
9093a333b8
@ -1 +1,2 @@
|
||||
gcc-4.3.0-20071212.tar.bz2
|
||||
fastjar-0.95.tar.gz
|
||||
|
16
gcc43-ada-profiledbootstrap.patch
Normal file
16
gcc43-ada-profiledbootstrap.patch
Normal file
@ -0,0 +1,16 @@
|
||||
--- gcc/ada/Make-lang.in.jj 2007-12-07 14:47:58.000000000 +0100
|
||||
+++ gcc/ada/Make-lang.in 2007-12-14 13:20:46.000000000 +0100
|
||||
@@ -286,11 +286,11 @@ TARGET_ADA_SRCS =
|
||||
# Since the RTL should be built with the latest compiler, remove the
|
||||
# stamp target in the parent directory whenever gnat1 is rebuilt
|
||||
gnat1$(exeext): $(TARGET_ADA_SRCS) $(GNAT1_OBJS) $(ADA_BACKEND) $(LIBDEPS)
|
||||
- $(GCC_LINK) -o $@ $(GNAT1_OBJS) $(ADA_BACKEND) $(LIBS) $(SYSLIBS)
|
||||
+ $(GCC_LINK) -o $@ $(GNAT1_OBJS) $(ADA_BACKEND) $(ALL_CFLAGS) $(LIBS) $(SYSLIBS)
|
||||
$(RM) stamp-gnatlib2 stamp-tools
|
||||
|
||||
gnatbind$(exeext): ada/b_gnatb.o $(CONFIG_H) $(GNATBIND_OBJS)
|
||||
- $(GCC_LINK) -o $@ ada/b_gnatb.o $(GNATBIND_OBJS) $(LIBS) $(SYSLIBS)
|
||||
+ $(GCC_LINK) -o $@ ada/b_gnatb.o $(GNATBIND_OBJS) $(ALL_CFLAGS) $(LIBS) $(SYSLIBS)
|
||||
|
||||
# use cross-gcc
|
||||
gnat-cross: force
|
64
gcc43-pr29978.patch
Normal file
64
gcc43-pr29978.patch
Normal file
@ -0,0 +1,64 @@
|
||||
2007-12-14 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/29978
|
||||
* config/i386/i386.c (ix86_expand_branch): Optimize LE/LEU/GT/GTU
|
||||
DImode comparisons against constant with all 1's in the lower word.
|
||||
|
||||
* gcc.target/i386/pr29978.c: New test.
|
||||
|
||||
--- gcc/config/i386/i386.c.jj 2007-12-14 00:26:23.000000000 +0100
|
||||
+++ gcc/config/i386/i386.c 2007-12-14 14:14:51.000000000 +0100
|
||||
@@ -12093,16 +12093,28 @@ ix86_expand_branch (enum rtx_code code,
|
||||
|
||||
/* Otherwise, if we are doing less-than or greater-or-equal-than,
|
||||
op1 is a constant and the low word is zero, then we can just
|
||||
- examine the high word. */
|
||||
+ examine the high word. Similarly for low word -1 and
|
||||
+ less-or-equal-than or greater-than. */
|
||||
|
||||
- if (CONST_INT_P (hi[1]) && lo[1] == const0_rtx)
|
||||
+ if (CONST_INT_P (hi[1]))
|
||||
switch (code)
|
||||
{
|
||||
case LT: case LTU: case GE: case GEU:
|
||||
- ix86_compare_op0 = hi[0];
|
||||
- ix86_compare_op1 = hi[1];
|
||||
- ix86_expand_branch (code, label);
|
||||
- return;
|
||||
+ if (lo[1] == const0_rtx)
|
||||
+ {
|
||||
+ ix86_compare_op0 = hi[0];
|
||||
+ ix86_compare_op1 = hi[1];
|
||||
+ ix86_expand_branch (code, label);
|
||||
+ return;
|
||||
+ }
|
||||
+ case LE: case LEU: case GT: case GTU:
|
||||
+ if (lo[1] == constm1_rtx)
|
||||
+ {
|
||||
+ ix86_compare_op0 = hi[0];
|
||||
+ ix86_compare_op1 = hi[1];
|
||||
+ ix86_expand_branch (code, label);
|
||||
+ return;
|
||||
+ }
|
||||
default:
|
||||
break;
|
||||
}
|
||||
--- gcc/testsuite/gcc.target/i386/pr29978.c.jj 2007-12-14 14:26:17.000000000 +0100
|
||||
+++ gcc/testsuite/gcc.target/i386/pr29978.c 2007-12-14 14:26:04.000000000 +0100
|
||||
@@ -0,0 +1,16 @@
|
||||
+/* PR target/29978 */
|
||||
+/* { dg-do compile } */
|
||||
+/* { dg-options "-Os" } */
|
||||
+
|
||||
+void g ();
|
||||
+
|
||||
+void
|
||||
+f (long long v)
|
||||
+{
|
||||
+ if (v > 0xfffffffffLL)
|
||||
+ g ();
|
||||
+ g ();
|
||||
+}
|
||||
+
|
||||
+/* Verify there are no redundant jumps jl .L2; jle .L2 */
|
||||
+/* { dg-final { scan-assembler-not "jl\[^e\]*\\.L" { target ilp32 } } } */
|
80
gcc43-pr34003.patch
Normal file
80
gcc43-pr34003.patch
Normal file
@ -0,0 +1,80 @@
|
||||
2007-12-13 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR bootstrap/34003
|
||||
* c-decl.c (merge_decls): Copy RTL from olddecl to newdecl.
|
||||
* config/pa/pa.c (pa_encode_section_info): If !first, preserve
|
||||
SYMBOL_FLAG_REFERENCED flag.
|
||||
|
||||
* gcc.dg/pr34003-1.c: New test.
|
||||
* gcc.dg/pr34003-2.c: New.
|
||||
|
||||
--- gcc/c-decl.c.jj 2007-11-26 22:14:08.000000000 +0100
|
||||
+++ gcc/c-decl.c 2007-12-13 20:11:33.000000000 +0100
|
||||
@@ -1670,6 +1670,9 @@ merge_decls (tree newdecl, tree olddecl,
|
||||
}
|
||||
}
|
||||
|
||||
+ /* Keep the old rtl since we can safely use it. */
|
||||
+ if (HAS_RTL_P (olddecl))
|
||||
+ COPY_DECL_RTL (olddecl, newdecl);
|
||||
|
||||
/* Merge the type qualifiers. */
|
||||
if (TREE_READONLY (newdecl))
|
||||
--- gcc/config/pa/pa.c.jj 2007-12-13 18:56:21.000000000 +0100
|
||||
+++ gcc/config/pa/pa.c 2007-12-13 20:32:04.000000000 +0100
|
||||
@@ -7834,6 +7834,12 @@ hppa_encode_label (rtx sym)
|
||||
static void
|
||||
pa_encode_section_info (tree decl, rtx rtl, int first)
|
||||
{
|
||||
+ int old_referenced = 0;
|
||||
+
|
||||
+ if (!first && MEM_P (rtl) && GET_CODE (XEXP (rtl, 0)) == SYMBOL_REF)
|
||||
+ old_referenced
|
||||
+ = SYMBOL_REF_FLAGS (XEXP (rtl, 0)) & SYMBOL_FLAG_REFERENCED;
|
||||
+
|
||||
default_encode_section_info (decl, rtl, first);
|
||||
|
||||
if (first && TEXT_SPACE_P (decl))
|
||||
@@ -7842,6 +7848,8 @@ pa_encode_section_info (tree decl, rtx r
|
||||
if (TREE_CODE (decl) == FUNCTION_DECL)
|
||||
hppa_encode_label (XEXP (rtl, 0));
|
||||
}
|
||||
+ else if (old_referenced)
|
||||
+ SYMBOL_REF_FLAGS (XEXP (rtl, 0)) |= old_referenced;
|
||||
}
|
||||
|
||||
/* This is sort of inverse to pa_encode_section_info. */
|
||||
--- gcc/testsuite/gcc.dg/pr34003-1.c.jj 2007-12-13 21:07:51.000000000 +0100
|
||||
+++ gcc/testsuite/gcc.dg/pr34003-1.c 2007-12-13 21:07:15.000000000 +0100
|
||||
@@ -0,0 +1,8 @@
|
||||
+/* PR bootstrap/34003 */
|
||||
+/* { dg-do link } */
|
||||
+/* { dg-options "-O0" } */
|
||||
+/* { dg-additional-sources "pr34003-2.c" } */
|
||||
+
|
||||
+extern void foo (void);
|
||||
+int bar (void) { foo (); return 1; }
|
||||
+extern void foo (void);
|
||||
--- gcc/testsuite/gcc.dg/pr34003-2.c.jj 2007-12-13 21:07:59.000000000 +0100
|
||||
+++ gcc/testsuite/gcc.dg/pr34003-2.c 2007-12-13 21:09:35.000000000 +0100
|
||||
@@ -0,0 +1,20 @@
|
||||
+/* PR bootstrap/34003 */
|
||||
+/* { dg-do compile } */
|
||||
+/* { dg-options "-O0" } */
|
||||
+
|
||||
+extern void abort (void);
|
||||
+
|
||||
+int seen = 0;
|
||||
+
|
||||
+void foo (void)
|
||||
+{
|
||||
+ ++seen;
|
||||
+}
|
||||
+
|
||||
+int main (void)
|
||||
+{
|
||||
+ extern int bar (void);
|
||||
+ if (bar () != 1 || seen != 1)
|
||||
+ abort ();
|
||||
+ return 0;
|
||||
+}
|
50
gcc43.spec
50
gcc43.spec
@ -1,6 +1,6 @@
|
||||
%define DATE 20071212
|
||||
%define gcc_version 4.3.0
|
||||
%define gcc_release 0.2
|
||||
%define gcc_release 0.3
|
||||
%define _unpackaged_files_terminate_build 0
|
||||
%define multilib_64_archs sparc64 ppc64 s390x x86_64
|
||||
%define include_gappletviewer 1
|
||||
@ -41,6 +41,8 @@ Source0: gcc-%{version}-%{DATE}.tar.bz2
|
||||
Source1: libgcc_post_upgrade.c
|
||||
Source2: README.libgcjwebplugin.so
|
||||
Source3: protoize.1
|
||||
%define fastjar_ver 0.95
|
||||
Source4: http://download.savannah.nongnu.org/releases/fastjar/fastjar-%{fastjar_ver}.tar.gz
|
||||
URL: http://gcc.gnu.org
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||
# Need binutils with -pie support >= 2.14.90.0.4-4
|
||||
@ -140,6 +142,9 @@ Patch12: gcc43-rh341221.patch
|
||||
Patch13: gcc43-libjava-test.patch
|
||||
Patch14: gcc43-pr34427.patch
|
||||
Patch15: gcc43-libjava-gcjpath.patch
|
||||
Patch16: gcc43-pr34003.patch
|
||||
Patch17: gcc43-ada-profiledbootstrap.patch
|
||||
Patch18: gcc43-pr29978.patch
|
||||
|
||||
# On ARM EABI systems, we do want -gnueabi to be part of the
|
||||
# target triple.
|
||||
@ -438,13 +443,18 @@ which are required to run programs compiled with the GNAT.
|
||||
%patch13 -p0 -b .libjava-test~
|
||||
%patch14 -p0 -E -b .pr34427~
|
||||
%patch15 -p0 -b .libjava-gcjpath~
|
||||
%patch16 -p0 -b .pr34003~
|
||||
%patch17 -p0 -b .ada-profiledbootstrap~
|
||||
%patch18 -p0 -b .pr29978~
|
||||
|
||||
tar xzf %{SOURCE4}
|
||||
|
||||
%if %{bootstrap_java}
|
||||
tar xjf %{SOURCE10}
|
||||
%endif
|
||||
|
||||
sed -i -e 's/4\.3\.0/4.3.0/' gcc/BASE-VER
|
||||
echo '(Red Hat %{version}-%{gcc_release})' > gcc/DEV-PHASE
|
||||
echo 'Red Hat %{version}-%{gcc_release}' > gcc/DEV-PHASE
|
||||
|
||||
cp -a libstdc++-v3/config/cpu/i{4,3}86/atomicity.h
|
||||
|
||||
@ -477,6 +487,17 @@ fi
|
||||
|
||||
%build
|
||||
|
||||
%if %{build_java}
|
||||
# gjar isn't usable, so even when GCC source tree no longer includes
|
||||
# fastjar, build it anyway.
|
||||
mkdir fastjar-%{fastjar_ver}/obj-%{gcc_target_platform}
|
||||
cd fastjar-%{fastjar_ver}/obj-%{gcc_target_platform}
|
||||
../configure CFLAGS="$RPM_OPT_FLAGS" --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir}
|
||||
make %{?_smp_mflags}
|
||||
export PATH=`pwd`${PATH:+:$PATH}
|
||||
cd ../../
|
||||
%endif
|
||||
|
||||
rm -fr obj-%{gcc_target_platform}
|
||||
mkdir obj-%{gcc_target_platform}
|
||||
cd obj-%{gcc_target_platform}
|
||||
@ -634,7 +655,7 @@ for i in ../gcc/doc/*.texi; do mv -f $i.orig $i; done
|
||||
# Copy various doc files here and there
|
||||
cd ..
|
||||
mkdir -p rpm.doc/gfortran rpm.doc/objc
|
||||
mkdir -p rpm.doc/boehm-gc rpm.doc/libffi rpm.doc/libjava
|
||||
mkdir -p rpm.doc/boehm-gc rpm.doc/fastjar rpm.doc/libffi rpm.doc/libjava
|
||||
mkdir -p rpm.doc/changelogs/{gcc/cp,gcc/java,gcc/ada,libstdc++-v3,libobjc,libmudflap,libgomp}
|
||||
sed -e 's,@VERSION@,%{gcc_version},' %{SOURCE2} > rpm.doc/README.libgcjwebplugin.so
|
||||
|
||||
@ -657,6 +678,9 @@ done)
|
||||
(cd boehm-gc; for i in ChangeLog*; do
|
||||
cp -p $i ../rpm.doc/boehm-gc/$i.gc
|
||||
done)
|
||||
(cd fastjar-%{fastjar_ver}; for i in ChangeLog* README*; do
|
||||
cp -p $i ../rpm.doc/fastjar/$i.fastjar
|
||||
done)
|
||||
(cd libffi; for i in ChangeLog* README* LICENSE; do
|
||||
cp -p $i ../rpm.doc/libffi/$i.libffi
|
||||
done)
|
||||
@ -690,6 +714,7 @@ if [ ! -f /usr/lib/locale/de_DE/LC_CTYPE ]; then
|
||||
fi
|
||||
|
||||
%if %{build_java}
|
||||
export PATH=`pwd`/../fastjar-%{fastjar_ver}/obj-%{gcc_target_platform}${PATH:+:$PATH}
|
||||
%if !%{bootstrap_java}
|
||||
export PATH=`pwd`/java_hacks${PATH:+:$PATH}
|
||||
%endif
|
||||
@ -820,6 +845,10 @@ else
|
||||
fi
|
||||
|
||||
%if %{build_java}
|
||||
pushd ../fastjar-%{fastjar_ver}/obj-%{gcc_target_platform}
|
||||
make install DESTDIR=$RPM_BUILD_ROOT
|
||||
popd
|
||||
|
||||
if [ "%{_lib}" != "lib" ]; then
|
||||
mkdir -p $RPM_BUILD_ROOT%{_prefix}/%{_lib}/pkgconfig
|
||||
sed '/^libdir/s/lib$/%{_lib}/' $RPM_BUILD_ROOT%{_prefix}/lib/pkgconfig/libgcj-*.pc \
|
||||
@ -1112,11 +1141,15 @@ fi
|
||||
/sbin/ldconfig
|
||||
/sbin/install-info \
|
||||
--info-dir=%{_infodir} %{_infodir}/cp-tools.info.gz || :
|
||||
/sbin/install-info \
|
||||
--info-dir=%{_infodir} %{_infodir}/fastjar.info.gz || :
|
||||
|
||||
%preun -n libgcj
|
||||
if [ $1 = 0 ]; then
|
||||
/sbin/install-info --delete \
|
||||
--info-dir=%{_infodir} %{_infodir}/cp-tools.info.gz || :
|
||||
/sbin/install-info --delete \
|
||||
--info-dir=%{_infodir} %{_infodir}/fastjar.info.gz || :
|
||||
fi
|
||||
|
||||
%postun -n libgcj -p /sbin/ldconfig
|
||||
@ -1465,6 +1498,8 @@ fi
|
||||
%{_prefix}/bin/jv-convert
|
||||
%{_prefix}/bin/gij
|
||||
%{_prefix}/bin/gjar
|
||||
%{_prefix}/bin/fastjar
|
||||
%{_prefix}/bin/grepjar
|
||||
%{_prefix}/bin/grmic
|
||||
%{_prefix}/bin/grmid
|
||||
%{_prefix}/bin/grmiregistry
|
||||
@ -1478,6 +1513,8 @@ fi
|
||||
%{_mandir}/man1/gappletviewer.1*
|
||||
%endif
|
||||
%{_prefix}/bin/gjarsigner
|
||||
%{_mandir}/man1/fastjar.1*
|
||||
%{_mandir}/man1/grepjar.1*
|
||||
%{_mandir}/man1/gjar.1*
|
||||
%{_mandir}/man1/gjarsigner.1*
|
||||
%{_mandir}/man1/jv-convert.1*
|
||||
@ -1490,6 +1527,7 @@ fi
|
||||
%{_mandir}/man1/grmid.1*
|
||||
%{_mandir}/man1/gserialver.1*
|
||||
%{_mandir}/man1/gtnameserv.1*
|
||||
%{_infodir}/fastjar.info*
|
||||
%{_infodir}/cp-tools.info*
|
||||
%{_prefix}/%{_lib}/libgcj.so.*
|
||||
%{_prefix}/%{_lib}/libgcj-tools.so.*
|
||||
@ -1546,7 +1584,7 @@ fi
|
||||
%{_prefix}/include/c++/%{gcc_version}/org
|
||||
%{_prefix}/include/c++/%{gcc_version}/sun
|
||||
%{_prefix}/%{_lib}/pkgconfig/libgcj-*.pc
|
||||
%doc rpm.doc/boehm-gc/* rpm.doc/libffi/*
|
||||
%doc rpm.doc/boehm-gc/* rpm.doc/fastjar/* rpm.doc/libffi/*
|
||||
%doc rpm.doc/libjava/*
|
||||
|
||||
%files -n libgcj-src
|
||||
@ -1615,6 +1653,10 @@ fi
|
||||
%doc rpm.doc/changelogs/libmudflap/ChangeLog*
|
||||
|
||||
%changelog
|
||||
* Fri Dec 14 2007 Jakub Jelinek <jakub@redhat.com> 4.3.0-0.3
|
||||
- build fastjar, gjar is uncomparably worse
|
||||
- fix profiledbootstrap and use it
|
||||
|
||||
* Wed Dec 12 2007 Jakub Jelinek <jakub@redhat.com> 4.3.0-0.2
|
||||
- update from the trunk
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user