rpms/gcc/devel .cvsignore, 1.131, 1.132 gcc41-ldbl-default-libstdc++.patch, 1.3, 1.4 gcc41-ldbl-default.patch, 1.2, 1.3 gcc41-ldbl-mangle-as-g.patch, 1.1, 1.2 gcc41-ppc32-ldbl.patch, 1.1, 1.2 gcc41.spec, 1.29, 1.30 sources, 1.133, 1.134 gcc41-gc-pthread_create.patch, 1.2, NONE
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Fri Feb 10 15:19:36 UTC 2006
Author: jakub
Update of /cvs/dist/rpms/gcc/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv11922
Modified Files:
.cvsignore gcc41-ldbl-default-libstdc++.patch
gcc41-ldbl-default.patch gcc41-ldbl-mangle-as-g.patch
gcc41-ppc32-ldbl.patch gcc41.spec sources
Removed Files:
gcc41-gc-pthread_create.patch
Log Message:
4.1.0-0.24
Index: .cvsignore
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/.cvsignore,v
retrieving revision 1.131
retrieving revision 1.132
diff -u -r1.131 -r1.132
--- .cvsignore 6 Feb 2006 10:04:18 -0000 1.131
+++ .cvsignore 10 Feb 2006 15:19:31 -0000 1.132
@@ -1 +1 @@
-gcc-4.1.0-20060206.tar.bz2
+gcc-4.1.0-20060210.tar.bz2
gcc41-ldbl-default-libstdc++.patch:
config.h.in | 3 +
config/linker-map.gnu | 79 +++++++++++++++++++++++-----
config/locale/generic/c_locale.cc | 9 ++-
config/locale/gnu/c_locale.cc | 9 ++-
config/os/gnu-linux/ldbl-extra.ver | 19 ++++++
configure | 88 ++++++++++++++++++++++++++++++-
configure.ac | 19 ++++++
include/Makefile.am | 9 ++-
include/Makefile.in | 9 ++-
include/bits/c++config | 22 +++++++
include/bits/locale_facets.h | 61 +++++++++++++++++++++
include/bits/locale_facets.tcc | 82 +++++++++++++++++++++++++----
include/bits/localefwd.h | 4 +
src/Makefile.am | 31 +++++++++--
src/Makefile.in | 52 +++++++++++++++---
src/compatibility-ldbl.cc | 73 +++++++++++++++++++++++++
src/compatibility.cc | 104 ++++++++++++++++++++++++++++++++++++-
src/complex_io.cc | 19 ++++++
src/istream-inst.cc | 18 ++++++
src/limits.cc | 33 +++++++++++
src/locale-inst.cc | 50 +++++++++++++++++
src/locale-misc-inst.cc | 19 ++++++
src/locale.cc | 43 +++++++++++++--
src/ostream-inst.cc | 18 ++++++
src/wlocale-inst.cc | 44 +++++++++++++++
testsuite/testsuite_abi.cc | 11 ++-
26 files changed, 863 insertions(+), 65 deletions(-)
View full diff with command:
/usr/bin/cvs -f diff -kk -u -N -r 1.3 -r 1.4 gcc41-ldbl-default-libstdc++.patch
Index: gcc41-ldbl-default-libstdc++.patch
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/gcc41-ldbl-default-libstdc++.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- gcc41-ldbl-default-libstdc++.patch 6 Feb 2006 10:04:21 -0000 1.3
+++ gcc41-ldbl-default-libstdc++.patch 10 Feb 2006 15:19:31 -0000 1.4
@@ -1,4 +1,4 @@
-2006-02-04 Jakub Jelinek <jakub at redhat.com>
+2006-02-07 Jakub Jelinek <jakub at redhat.com>
Benjamin Kosnik <bkoz at redhat.com>
* configure.ac (_GLIBCXX_LONG_DOUBLE_COMPAT): New check.
@@ -8,18 +8,12 @@
* configure: Rebuilt.
* config.h.in: Rebuilt.
* config/os/gnu-linux/ldbl-extra.ver: New file.
- * src/Makefile.am (libstdc++-symbol.ver): Append instead of
- insert in the middle if port specific symbol file requests it.
- (ldbl_compat_sources): New variable.
- (sources): Use it.
- (compatibility-ldbl.lo, compatibility-ldbl.o): New rules.
- * src/Makefile.in: Rebuilt.
* config/linker-map.gnu: Make sure no __float128 symbols are
exported.
- * include/bits/localefwd.h: Surround std::{money,num}_{get,put}
- with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
- (_GLIBCXX_LDBL_NAMESPACE, _GLIBCXX_BEGIN_LDBL_NAMESPACE,
+ * include/bits/c++config (_GLIBCXX_LONG_DOUBLE_COMPAT,
+ _GLIBCXX_LDBL_NAMESPACE, _GLIBCXX_BEGIN_LDBL_NAMESPACE,
_GLIBCXX_END_LDBL_NAMESPACE): Define.
+ * include/bits/localefwd.h: Use them to conditionally scope facets.
* include/bits/locale_facets.h: Surround std::{money,num}_{get,put}
with _GLIBCXX_BEGIN_LDBL_NAMESPACE and _GLIBCXX_END_LDBL_NAMESPACE.
[_GLIBCXX_LONG_DOUBLE_COMPAT] (std::money_get): Add __do_get method.
@@ -31,500 +25,380 @@
(std::money_get::__do_get, std::money_put::__do_put,
std::num_get::__do_get, std::num_put::__do_put): New
specializations.
+ * include/Makefile.am: Conditionally define
+ _GLIBCXX_LONG_DOUBLE_COMPAT in c++config.
+ * include/Makefile.in: Regenerate.
* src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT] (_GLIBCXX_LOC_ID,
_GLIBCXX_SYNC_ID): Define, use them.
* src/compatibility-ldbl.cc: New file.
* src/complex_io.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Add compatibility
symbols.
- * src/istream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/limits.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
- * src/locale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
+ * src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
+ * src/locale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
+ * src/locale-misc-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
+ * src/istream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/ostream-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
+ * src/locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/wlocale-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* src/compatibility.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
- * src/locale-misc-inst.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
* config/locale/generic/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
Likewise.
- * config/locale/gnu/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]: Likewise.
+ * config/locale/gnu/c_locale.cc [_GLIBCXX_LONG_DOUBLE_COMPAT]:
+ Likewise.
+ * src/Makefile.am (libstdc++-symbol.ver): Append instead of
+ insert in the middle if port specific symbol file requests it.
+ (ldbl_compat_sources): New variable.
+ (sources): Use it.
+ (compatibility-ldbl.lo, compatibility-ldbl.o): New rules.
+ * src/Makefile.in: Rebuilt.
+ * testsuite/testsuite_abi.cc: Recognize GLIBCXX_LDBL_3.4,
+ GLIBCXX_LDBL_3.4.7, CXXABI_LDBL_1.3.
---- libstdc++-v3/include/bits/locale_facets.h.jj 2006-02-04 10:42:42.000000000 +0100
-+++ libstdc++-v3/include/bits/locale_facets.h 2006-02-04 10:44:51.000000000 +0100
-@@ -1,6 +1,6 @@
- // Locale support -*- C++ -*-
+--- libstdc++-v3/configure.ac.jj 2006-02-02 16:38:33.000000000 +0100
++++ libstdc++-v3/configure.ac 2006-02-10 14:53:36.000000000 +0100
+@@ -281,6 +281,25 @@ fi
+ # This depends on GLIBCXX CHECK_LINKER_FEATURES, but without it assumes no.
+ GLIBCXX_ENABLE_SYMVERS([yes])
--// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-+// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
++ac_ldbl_compat=no
++case "$target" in
++ powerpc*-*-*gnu* | \
++ sparc*-*-linux* | \
++ s390*-*-linux* | \
++ alpha*-*-linux*)
++ AC_TRY_COMPILE(, [
++#if !defined __LONG_DOUBLE_128__ || (defined(__sparc__) && defined(__arch64__))
++#error no need for long double compatibility
++#endif
++ ], [ac_ldbl_compat=yes], [ac_ldbl_compat=no])
++ if test "$ac_ldbl_compat" = yes; then
++ AC_DEFINE([_GLIBCXX_LONG_DOUBLE_COMPAT],1,
++ [Define if compatibility should be provided for -mlong-double-64.])
++ port_specific_symbol_files="\$(top_srcdir)/config/os/gnu-linux/ldbl-extra.ver"
++ fi
++esac
++GLIBCXX_CONDITIONAL(GLIBCXX_LDBL_COMPAT, test $ac_ldbl_compat = yes)
++
+ # This depends on GLIBCXX_ENABLE_SYMVERS and GLIBCXX_IS_NATIVE.
+ GLIBCXX_CONFIGURE_TESTSUITE
+
+--- libstdc++-v3/src/locale.cc.jj 2006-02-02 16:38:25.000000000 +0100
++++ libstdc++-v3/src/locale.cc 2006-02-10 14:57:26.000000000 +0100
+@@ -1,4 +1,4 @@
+-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
++// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
-@@ -1910,6 +1910,7 @@ namespace std
- ~numpunct_byname() { }
- };
-
-+_GLIBCXX_BEGIN_LDBL_NAMESPACE
- /**
- * @brief Facet for parsing number strings.
- *
-@@ -2176,13 +2177,27 @@ namespace std
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
- double&) const;
+@@ -41,6 +41,21 @@ namespace __gnu_internal
+ static __glibcxx_mutex_define_initialized(locale_cache_mutex);
+ }
-+ // XXX GLIBCXX_ABI Deprecated
-+#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__
-+ virtual iter_type
-+ __do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
-+ double&) const;
-+#else
- virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
- long double&) const;
++// XXX GLIBCXX_ABI Deprecated
++#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
++# define _GLIBCXX_LOC_ID(mangled) extern std::locale::id mangled
++_GLIBCXX_LOC_ID (_ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE);
++_GLIBCXX_LOC_ID (_ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE);
++_GLIBCXX_LOC_ID (_ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE);
++_GLIBCXX_LOC_ID (_ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE);
++# ifdef _GLIBCXX_USE_WCHAR_T
++_GLIBCXX_LOC_ID (_ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE);
++_GLIBCXX_LOC_ID (_ZNSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE);
++_GLIBCXX_LOC_ID (_ZNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE);
++_GLIBCXX_LOC_ID (_ZNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE);
++# endif
+#endif
-
- virtual iter_type
- do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
- void*&) const;
+
-+ // XXX GLIBCXX_ABI Deprecated
-+#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__
-+ virtual iter_type
-+ do_get(iter_type, iter_type, ios_base&, ios_base::iostate& __err,
-+ long double&) const;
-+#endif
- //@}
- };
-
-@@ -2438,17 +2453,30 @@ namespace std
- virtual iter_type
- do_put(iter_type, ios_base&, char_type __fill, double __v) const;
-
-+ // XXX GLIBCXX_ABI Deprecated
-+#if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__
-+ virtual iter_type
-+ __do_put(iter_type, ios_base&, char_type __fill, double __v) const;
-+#else
- virtual iter_type
- do_put(iter_type, ios_base&, char_type __fill, long double __v) const;
+ namespace std
+ {
+ // Definitions for static const data members of locale.
+@@ -398,9 +413,29 @@ namespace std
+ locale::id::_M_id() const
+ {
+ if (!_M_index)
+- _M_index = 1 + __gnu_cxx::__exchange_and_add(&_S_refcount, 1);
++ {
++ // XXX GLIBCXX_ABI Deprecated
++#ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
++ locale::id *f = 0;
++# define _GLIBCXX_SYNC_ID(facet, mangled) \
++ if (this == &::mangled) \
++ f = &facet::id
++ _GLIBCXX_SYNC_ID (num_get<char>, _ZNSt7num_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE);
++ _GLIBCXX_SYNC_ID (num_put<char>, _ZNSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE);
++ _GLIBCXX_SYNC_ID (money_get<char>, _ZNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE);
++ _GLIBCXX_SYNC_ID (money_put<char>, _ZNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE);
++# ifdef _GLIBCXX_USE_WCHAR_T
++ _GLIBCXX_SYNC_ID (num_get<wchar_t>, _ZNSt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE);
[...1970 lines suppressed...]
++#endif
++
+ template<typename _CharT, typename _OutIter>
+ _OutIter
+ money_put<_CharT, _OutIter>::
+@@ -1726,6 +1787,7 @@ namespace std
+ { return __intl ? _M_insert<true>(__s, __io, __fill, __digits)
+ : _M_insert<false>(__s, __io, __fill, __digits); }
- # std::__convert_to_v
-- _ZSt14__convert_to_v*;
-+ _ZSt14__convert_to_vI[^g]*;
++_GLIBCXX_END_LDBL_NAMESPACE
- # __gnu_cxx::stdio_sync_filebuf
- _ZTVN9__gnu_cxx18stdio_sync_filebufI[cw]St11char_traitsI[cw]EEE;
-@@ -399,7 +449,8 @@ GLIBCXX_3.4 {
- _ZTSN9__gnu_cxx13stdio_filebufI[cw]St11char_traitsI[cw]EEE;
+ // NB: Not especially useful. Without an ios_base object or some
+ // kind of locale reference, we are left clawing at the air where
+@@ -2511,12 +2573,12 @@ namespace std
+ extern template class moneypunct<char, true>;
+ extern template class moneypunct_byname<char, false>;
+ extern template class moneypunct_byname<char, true>;
+- extern template class money_get<char>;
+- extern template class money_put<char>;
++ extern template class _GLIBCXX_LDBL_NAMESPACE money_get<char>;
++ extern template class _GLIBCXX_LDBL_NAMESPACE money_put<char>;
+ extern template class numpunct<char>;
+ extern template class numpunct_byname<char>;
+- extern template class num_get<char>;
+- extern template class num_put<char>;
++ extern template class _GLIBCXX_LDBL_NAMESPACE num_get<char>;
++ extern template class _GLIBCXX_LDBL_NAMESPACE num_put<char>;
+ extern template class __timepunct<char>;
+ extern template class time_put<char>;
+ extern template class time_put_byname<char>;
+@@ -2638,12 +2700,12 @@ namespace std
+ extern template class moneypunct<wchar_t, true>;
+ extern template class moneypunct_byname<wchar_t, false>;
+ extern template class moneypunct_byname<wchar_t, true>;
+- extern template class money_get<wchar_t>;
+- extern template class money_put<wchar_t>;
++ extern template class _GLIBCXX_LDBL_NAMESPACE money_get<wchar_t>;
++ extern template class _GLIBCXX_LDBL_NAMESPACE money_put<wchar_t>;
+ extern template class numpunct<wchar_t>;
+ extern template class numpunct_byname<wchar_t>;
+- extern template class num_get<wchar_t>;
+- extern template class num_put<wchar_t>;
++ extern template class _GLIBCXX_LDBL_NAMESPACE num_get<wchar_t>;
++ extern template class _GLIBCXX_LDBL_NAMESPACE num_put<wchar_t>;
+ extern template class __timepunct<wchar_t>;
+ extern template class time_put<wchar_t>;
+ extern template class time_put_byname<wchar_t>;
+--- libstdc++-v3/include/Makefile.in.jj 2006-02-02 16:38:32.000000000 +0100
++++ libstdc++-v3/include/Makefile.in 2006-02-10 15:13:22.000000000 +0100
+@@ -1203,13 +1203,18 @@ ${host_builddir}/c++config.h: ${top_buil
+ ${glibcxx_srcdir}/include/bits/c++config \
+ stamp-${host_alias} \
+ ${toplevel_srcdir}/gcc/DATESTAMP
+- @cat ${glibcxx_srcdir}/include/bits/c++config > $@ ;\
++ @ldbl_compat='' ;\
++ grep "^[ ]*#[ ]*define[ ][ ]*_GLIBCXX_LONG_DOUBLE_COMPAT[ ][ ]*1[ ]*$$" \
++ ${CONFIG_HEADER} > /dev/null 2>&1 \
++ && ldbl_compat='s,^#undef _GLIBCXX_LONG_DOUBLE_COMPAT$$,#define _GLIBCXX_LONG_DOUBLE_COMPAT 1,' ;\
++ sed -e "$$ldbl_compat" ${glibcxx_srcdir}/include/bits/c++config > $@ ;\
+ sed -e 's/^/#define __GLIBCXX__ /' \
+- < ${toplevel_srcdir}/gcc/DATESTAMP >> $@ ;\
++ < ${toplevel_srcdir}/gcc/DATESTAMP >> $@ ;\
+ sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \
+ -e 's/PACKAGE/_GLIBCXX_PACKAGE/g' \
+ -e 's/VERSION/_GLIBCXX_VERSION/g' \
+ -e 's/WORDS_/_GLIBCXX_WORDS_/g' \
++ -e '/[ ]_GLIBCXX_LONG_DOUBLE_COMPAT[ ]/d' \
+ < ${CONFIG_HEADER} >> $@ ;\
+ echo "#endif // _CXXCONFIG_" >>$@
- # function-scope static objects requires a guard variable.
-- _ZGVNSt*;
-+ _ZGVNSt[^1]*;
-+ _ZGVNSt1[^7]*;
+--- libstdc++-v3/testsuite/testsuite_abi.cc.jj 2006-02-02 16:39:16.000000000 +0100
++++ libstdc++-v3/testsuite/testsuite_abi.cc 2006-02-10 14:57:38.000000000 +0100
+@@ -1,6 +1,6 @@
+ // -*- C++ -*-
- # virtual function thunks
- _ZThn8_NS*;
-@@ -659,9 +710,9 @@ CXXABI_1.3 {
- _ZTVN10__cxxabiv121__vmi_class_type_infoE;
+-// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
++// Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
- # typeinfo structure (and some names)
-- _ZTI[a-z];
-- _ZTIP[a-z];
-- _ZTIPK[a-z];
-+ _ZTI[a-fh-z];
-+ _ZTIP[a-fh-z];
-+ _ZTIPK[a-fh-z];
- _ZTIN10__cxxabiv117__array_type_infoE;
- _ZTIN10__cxxabiv117__class_type_infoE;
- _ZTIN10__cxxabiv116__enum_type_infoE;
-@@ -674,9 +725,9 @@ CXXABI_1.3 {
- _ZTIN10__cxxabiv121__vmi_class_type_infoE;
+ // This library is free software; you can redistribute it and/or
+ // modify it under the terms of the GNU General Public License as
+@@ -186,8 +186,11 @@ check_version(symbol& test, bool added)
+ known_versions.push_back("GLIBCXX_3.4.5");
+ known_versions.push_back("GLIBCXX_3.4.6");
+ known_versions.push_back("GLIBCXX_3.4.7");
++ known_versions.push_back("GLIBCXX_LDBL_3.4");
++ known_versions.push_back("GLIBCXX_LDBL_3.4.7");
+ known_versions.push_back("CXXABI_1.3");
+ known_versions.push_back("CXXABI_1.3.1");
++ known_versions.push_back("CXXABI_LDBL_1.3");
+ }
+ compat_list::iterator begin = known_versions.begin();
+ compat_list::iterator end = known_versions.end();
+@@ -223,9 +226,7 @@ check_version(symbol& test, bool added)
+ // New version labels are ok. The rest are not.
+ compat_list::iterator it2 = find(begin, end, test.name);
+ if (it2 != end)
+- {
+- test.version_status = symbol::compatible;
+- }
++ test.version_status = symbol::compatible;
+ else
+ test.version_status = symbol::incompatible;
+ }
+@@ -369,7 +370,7 @@ compare_symbols(const char* baseline_fil
+ added_names.erase(it);
+ }
+ else
+- missing_names.push_back(what);
++ missing_names.push_back(what);
+ }
- # typeinfo name
-- _ZTS[a-z];
-- _ZTSP[a-z];
-- _ZTSPK[a-z];
-+ _ZTS[a-fh-z];
-+ _ZTSP[a-fh-z];
-+ _ZTSPK[a-fh-z];
- _ZTSN10__cxxabiv117__array_type_infoE;
- _ZTSN10__cxxabiv117__class_type_infoE;
- _ZTSN10__cxxabiv116__enum_type_infoE;
---- libstdc++-v3/configure.jj 2006-02-04 10:42:45.000000000 +0100
-+++ libstdc++-v3/configure 2006-02-04 10:48:27.000000000 +0100
+ // Check missing names for compatibility.
+--- libstdc++-v3/configure.jj 2006-02-02 16:38:28.000000000 +0100
++++ libstdc++-v3/configure 2006-02-10 14:53:36.000000000 +0100
@@ -309,7 +309,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
@@ -1535,43 +1691,3 @@
s, at baseline_dir@,$baseline_dir,;t t
s, at ATOMICITY_SRCDIR@,$ATOMICITY_SRCDIR,;t t
s, at ATOMIC_WORD_SRCDIR@,$ATOMIC_WORD_SRCDIR,;t t
---- libstdc++-v3/configure.ac.jj 2006-02-04 10:42:45.000000000 +0100
-+++ libstdc++-v3/configure.ac 2006-02-04 10:44:55.000000000 +0100
-@@ -281,6 +281,25 @@ fi
- # This depends on GLIBCXX CHECK_LINKER_FEATURES, but without it assumes no.
- GLIBCXX_ENABLE_SYMVERS([yes])
-
-+ac_ldbl_compat=no
-+case "$target" in
-+ powerpc*-*-*gnu* | \
-+ sparc*-*-linux* | \
-+ s390*-*-linux* | \
-+ alpha*-*-linux*)
-+ AC_TRY_COMPILE(, [
-+#if !defined __LONG_DOUBLE_128__ || (defined(__sparc__) && defined(__arch64__))
-+#error no need for long double compatibility
-+#endif
-+ ], [ac_ldbl_compat=yes], [ac_ldbl_compat=no])
-+ if test "$ac_ldbl_compat" = yes; then
-+ AC_DEFINE([_GLIBCXX_LONG_DOUBLE_COMPAT],1,
-+ [Define if compatibility should be provided for -mlong-double-64.])
-+ port_specific_symbol_files="\$(top_srcdir)/config/os/gnu-linux/ldbl-extra.ver"
-+ fi
-+esac
-+GLIBCXX_CONDITIONAL(GLIBCXX_LDBL_COMPAT, test $ac_ldbl_compat = yes)
-+
- # This depends on GLIBCXX_ENABLE_SYMVERS and GLIBCXX_IS_NATIVE.
- GLIBCXX_CONFIGURE_TESTSUITE
-
---- libstdc++-v3/config.h.in.jj 2006-02-04 10:42:45.000000000 +0100
-+++ libstdc++-v3/config.h.in 2006-02-04 10:44:55.000000000 +0100
-@@ -658,6 +658,9 @@
- /* Define to 1 if a full hosted library is built, or 0 if freestanding. */
- #undef _GLIBCXX_HOSTED
-
-+/* Define if compatibility should be provided for -mlong-double-64. */
-+#undef _GLIBCXX_LONG_DOUBLE_COMPAT
-+
- /* Define if ptrdiff_t is int. */
- #undef _GLIBCXX_PTRDIFF_T_IS_INT
-
gcc41-ldbl-default.patch:
config.gcc | 6 ++---
config.in | 6 +++++
config/alpha/alpha.c | 5 ++++
config/alpha/libgcc-alpha-ldbl.ver | 32 ++++++++++++++++++++++++++
config/alpha/t-linux | 1
config/rs6000/linux.h | 5 ++++
config/rs6000/linux64.h | 5 ++++
config/s390/s390.c | 5 ++++
config/sparc/libgcc-sparc-glibc.ver | 33 +++++++++++++++++++++++++++
config/sparc/linux.h | 27 +++++++++++-----------
config/sparc/linux64.h | 41 +++++++++++++++-------------------
config/sparc/sparc.c | 5 ++++
config/sparc/t-linux | 5 ++++
config/sparc/t-linux64 | 6 -----
configure | 43 +++++++++++++++++++++++++++++++++++-
configure.ac | 33 +++++++++++++++++++++++++++
doc/install.texi | 8 ++++++
17 files changed, 220 insertions(+), 46 deletions(-)
Index: gcc41-ldbl-default.patch
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/gcc41-ldbl-default.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- gcc41-ldbl-default.patch 6 Feb 2006 10:04:21 -0000 1.2
+++ gcc41-ldbl-default.patch 10 Feb 2006 15:19:31 -0000 1.3
@@ -1,9 +1,9 @@
-2006-02-05 Jakub Jelinek <jakub at redhat.com>
+2006-02-10 Jakub Jelinek <jakub at redhat.com>
+
+ * doc/install.texi (Options specification): Document
+ --with-long-double-128.
- * config.gcc (s390-*-linux*): Add s390/t-linux to tmake_file.
- (s390x-*-linux*): Likewise.
- * config/s390/t-linux64 (SHLIB_MAPFILES): Removed.
- * config/s390/t-linux: New file.
+2006-02-05 Jakub Jelinek <jakub at redhat.com>
* config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
(sparc64-*-linux*): Likewise.
@@ -348,24 +348,6 @@
;;
alpha*-*-gnu*)
target_cpu_default="MASK_GAS"
-@@ -1864,7 +1864,7 @@ rs6000-ibm-aix[56789].* | powerpc-ibm-ai
- ;;
- s390-*-linux*)
- tm_file="s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h"
-- tmake_file="${tmake_file} s390/t-crtstuff"
-+ tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux"
- ;;
- s390x-*-linux*)
- tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h linux.h s390/linux.h"
-@@ -1872,7 +1872,7 @@ s390x-*-linux*)
- md_file=s390/s390.md
- extra_modes=s390/s390-modes.def
- out_file=s390/s390.c
-- tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux64"
-+ tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux s390/t-linux64"
- ;;
- s390x-ibm-tpf*)
- tm_file="s390/s390x.h s390/s390.h dbxelf.h elfos.h svr4.h s390/tpf.h"
@@ -2059,7 +2059,7 @@ sparc-*-elf*)
sparc-*-linux*) # SPARC's running GNU/Linux, libc6
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux.h"
@@ -485,19 +467,20 @@
+# Avoid the t-linux version file.
+SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver \
+ $(srcdir)/config/sparc/libgcc-sparc-glibc.ver
---- gcc/config/s390/t-linux64.jj 2006-01-28 00:42:59.000000000 +0100
-+++ gcc/config/s390/t-linux64 2006-02-05 20:51:34.000000000 +0100
-@@ -6,7 +6,3 @@ LIBGCC = stmp-multilib
- INSTALL_LIBGCC = install-multilib
+--- gcc/doc/install.texi.jj 2006-02-02 16:39:46.000000000 +0100
++++ gcc/doc/install.texi 2006-02-10 15:33:53.000000000 +0100
+@@ -1224,6 +1224,14 @@ error message.
+ All support for systems which have been obsoleted in one release of GCC
+ is removed entirely in the next major release, unless someone steps
+ forward to maintain the port.
++
++ at item --with-long-double-128
++Specify if @code{long double} type should be 128-bit by default on selected
++GNU/Linux architectures. If using @code{--without-long-double-128},
++ at code{long double} will be by default 64-bit, the same as @code{double} type.
++When neither of these configure options are used, the default will be
++128-bit @code{long double} when built against GNU C Library 2.4 and later,
++64-bit @code{long double} otherwise.
+ @end table
- EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
--
--# Override t-slibgcc-elf-ver to export some libgcc symbols with
--# the symbol versions that glibc used.
--SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver $(srcdir)/config/s390/libgcc-glibc.ver
---- gcc/config/s390/t-linux.jj 2006-02-05 20:51:18.000000000 +0100
-+++ gcc/config/s390/t-linux 2006-02-05 20:51:25.000000000 +0100
-@@ -0,0 +1,3 @@
-+# Override t-slibgcc-elf-ver to export some libgcc symbols with
-+# the symbol versions that glibc used.
-+SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver $(srcdir)/config/s390/libgcc-glibc.ver
+ @subheading Cross-Compiler-Specific Options
gcc41-ldbl-mangle-as-g.patch:
alpha/alpha.c | 20 ++++++++++++++++++++
alpha/linux.h | 3 +++
s390/linux.h | 3 +++
s390/s390.c | 20 ++++++++++++++++++++
sparc/linux.h | 3 +++
sparc/linux64.h | 3 +++
sparc/sparc.c | 24 ++++++++++++++++++++++++
7 files changed, 76 insertions(+)
Index: gcc41-ldbl-mangle-as-g.patch
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/gcc41-ldbl-mangle-as-g.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- gcc41-ldbl-mangle-as-g.patch 4 Feb 2006 12:42:09 -0000 1.1
+++ gcc41-ldbl-mangle-as-g.patch 10 Feb 2006 15:19:31 -0000 1.2
@@ -1,8 +1,3 @@
-2006-02-04 Jakub Jelinek <jakub at redhat.com>
-
- * config/rs6000/rs6000.c (rs6000_mangle_fundamental_type): Mangle
- long double as "g" on linux with -mlong-double-128.
-
2006-02-03 Aldy Hernandez <aldyh at redhat.com>
* config/s390/s390.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
@@ -22,24 +17,6 @@
* config/sparc/sparc.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
(sparc_mangle_fundamental_type): New.
---- gcc/config/rs6000/rs6000.c.jj 2006-02-04 11:46:38.000000000 +0100
-+++ gcc/config/rs6000/rs6000.c 2006-02-04 11:46:59.000000000 +0100
-@@ -17353,6 +17353,15 @@ rs6000_mangle_fundamental_type (tree typ
- if (type == pixel_type_node) return "u7__pixel";
- if (type == bool_int_type_node) return "U6__booli";
-
-+#ifdef POWERPC_LINUX
-+ /* On powerpc*-*-linux* where -mlong-double-64 used to be
-+ the default, mangle DFmode long double as 'e' and
-+ TFmode long double as 'g' (__float128 in Itanium ABI). */
-+ if (TYPE_MAIN_VARIANT (type) == long_double_type_node
-+ && TARGET_LONG_DOUBLE_128)
-+ return "g";
-+#endif
-+
- /* For all other types, use normal C++ mangling. */
- return NULL;
- }
--- gcc/config/alpha/linux.h.jj 2006-02-04 10:42:41.000000000 +0100
+++ gcc/config/alpha/linux.h 2006-02-04 12:36:09.000000000 +0100
@@ -82,3 +82,6 @@ Boston, MA 02110-1301, USA. */
gcc41-ppc32-ldbl.patch:
config/fp-bit.h | 4
doc/invoke.texi | 317 +++++++++++++++++++++++++++++++++++++-------------------
libgcc-std.ver | 4
mklibgcc.in | 2
4 files changed, 221 insertions(+), 106 deletions(-)
Index: gcc41-ppc32-ldbl.patch
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/gcc41-ppc32-ldbl.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- gcc41-ppc32-ldbl.patch 28 Jan 2006 10:00:01 -0000 1.1
+++ gcc41-ppc32-ldbl.patch 10 Feb 2006 15:19:31 -0000 1.2
@@ -1,3 +1,26 @@
+2006-02-04 David Edelsohn <edelsohn at gnu.org>
+ Jakub Jelinek <jakub at redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_mangle_fundamental_type): Mangle
+ IBM extended float format long double as "g" on powerpc*-linux.
+
+2006-02-01 Jakub Jelinek <jakub at redhat.com>
+
+ * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): For
+ -msoft-float -mlong-double-128 only issue a warning, but don't
+ swich to DFmode long double.
+
+2006-01-28 David Edelsohn <edelsohn at gnu.org>
+
+ * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float
+ and -mlong-double-128 are incompatible.
+ * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
+ * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
+ (TARGET_LIBGCC2_CFLAGS): Define.
+ * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): Same.
+ (TARGET_LIBGCC2_CFLAGS): Same.
+ * config/rs6000/ppc64-fp.c: Compile for 64-bit AIX.
+
2006-01-27 Jakub Jelinek <jakub at redhat.com>
PR target/25864
@@ -106,9 +129,16 @@
@item -mprototype
@itemx -mno-prototype
---- gcc/config/rs6000/darwin.h.jj 2006-01-28 09:54:04.000000000 +0100
-+++ gcc/config/rs6000/darwin.h 2006-01-28 10:33:14.000000000 +0100
-@@ -313,6 +313,8 @@ do { \
+--- gcc/config/rs6000/darwin.h (revision 110228)
++++ gcc/config/rs6000/darwin.h (revision 110836)
+@@ -1,5 +1,5 @@
+ /* Target definitions for PowerPC running Darwin (Mac OS X).
+- Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
++ Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
+ Free Software Foundation, Inc.
+ Contributed by Apple Computer Inc.
+
+@@ -311,6 +311,8 @@ do { \
/* Darwin only runs on PowerPC, so short-circuit POWER patterns. */
#undef TARGET_POWER
#define TARGET_POWER 0
@@ -117,8 +147,8 @@
/* Since Darwin doesn't do TOCs, stub this out. */
---- gcc/config/rs6000/libgcc-ppc-glibc.ver.jj 2006-01-28 10:33:14.000000000 +0100
-+++ gcc/config/rs6000/libgcc-ppc-glibc.ver 2006-01-28 10:33:14.000000000 +0100
+--- gcc/config/rs6000/libgcc-ppc-glibc.ver (revision 0)
++++ gcc/config/rs6000/libgcc-ppc-glibc.ver (revision 110836)
@@ -0,0 +1,31 @@
+%ifndef _SOFT_FLOAT
+%ifndef __powerpc64__
@@ -151,9 +181,18 @@
+ __gcc_qdiv
+}
+%endif
---- gcc/config/rs6000/rs6000.c.jj 2006-01-28 09:54:04.000000000 +0100
-+++ gcc/config/rs6000/rs6000.c 2006-01-28 10:33:14.000000000 +0100
-@@ -158,10 +158,13 @@ enum rs6000_nop_insertion rs6000_sched_i
+--- gcc/config/rs6000/rs6000.c (revision 110228)
++++ gcc/config/rs6000/rs6000.c (revision 110836)
+@@ -1,6 +1,7 @@
+ /* Subroutines used for code generation on IBM RS/6000.
+ Copyright (C) 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+- 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
++ 2000, 2001, 2002, 2003, 2004, 2005, 2006
++ Free Software Foundation, Inc.
+ Contributed by Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
+
+ This file is part of GCC.
+@@ -158,10 +159,13 @@ enum rs6000_nop_insertion rs6000_sched_i
/* Support targetm.vectorize.builtin_mask_for_load. */
static GTY(()) tree altivec_builtin_mask_for_load;
@@ -169,7 +208,7 @@
int rs6000_altivec_abi;
/* Nonzero if we want SPE ABI extensions. */
-@@ -1286,6 +1289,11 @@ rs6000_override_options (const char *def
+@@ -1286,6 +1290,11 @@ rs6000_override_options (const char *def
if (!rs6000_explicit_options.long_double)
rs6000_long_double_type_size = RS6000_DEFAULT_LONG_DOUBLE_SIZE;
@@ -181,7 +220,7 @@
/* Set Altivec ABI as default for powerpc64 linux. */
if (TARGET_ELF && TARGET_64BIT)
{
-@@ -1399,8 +1407,7 @@ rs6000_override_options (const char *def
+@@ -1399,8 +1408,7 @@ rs6000_override_options (const char *def
if (!rs6000_explicit_options.aix_struct_ret)
aix_struct_return = (DEFAULT_ABI != ABI_V4 || DRAFT_V4_STRUCT_RET);
@@ -191,7 +230,7 @@
REAL_MODE_FORMAT (TFmode) = &ibm_extended_format;
/* Allocate an alias set for register saves & restores from stack. */
-@@ -1772,6 +1779,17 @@ rs6000_handle_option (size_t code, const
+@@ -1772,6 +1780,17 @@ rs6000_handle_option (size_t code, const
warning (0, "Using old darwin ABI");
}
@@ -209,7 +248,7 @@
else
{
error ("unknown ABI specified: '%s'", arg);
-@@ -3885,7 +3903,7 @@ rs6000_emit_move (rtx dest, rtx source,
+@@ -3885,7 +3904,7 @@ rs6000_emit_move (rtx dest, rtx source,
/* 128-bit constant floating-point values on Darwin should really be
loaded as two parts. */
@@ -218,7 +257,7 @@
&& TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128
&& mode == TFmode && GET_CODE (operands[1]) == CONST_DOUBLE)
{
-@@ -4209,7 +4227,7 @@ rs6000_return_in_memory (tree type, tree
+@@ -4209,7 +4228,7 @@ rs6000_return_in_memory (tree type, tree
return true;
}
@@ -227,7 +266,7 @@
return true;
return false;
-@@ -4596,13 +4614,15 @@ function_arg_advance (CUMULATIVE_ARGS *c
+@@ -4596,13 +4615,15 @@ function_arg_advance (CUMULATIVE_ARGS *c
else if (DEFAULT_ABI == ABI_V4)
{
if (TARGET_HARD_FLOAT && TARGET_FPRS
@@ -247,7 +286,7 @@
cum->words += cum->words & 1;
cum->words += rs6000_arg_size (mode, type);
}
-@@ -5127,9 +5147,10 @@ function_arg (CUMULATIVE_ARGS *cum, enum
+@@ -5127,9 +5148,10 @@ function_arg (CUMULATIVE_ARGS *cum, enum
else if (abi == ABI_V4)
{
if (TARGET_HARD_FLOAT && TARGET_FPRS
@@ -260,7 +299,7 @@
return gen_rtx_REG (mode, cum->fregno);
else
return NULL_RTX;
-@@ -5332,7 +5353,7 @@ rs6000_pass_by_reference (CUMULATIVE_ARG
+@@ -5332,7 +5354,7 @@ rs6000_pass_by_reference (CUMULATIVE_ARG
enum machine_mode mode, tree type,
bool named ATTRIBUTE_UNUSED)
{
@@ -269,7 +308,7 @@
{
if (TARGET_DEBUG_ARG)
fprintf (stderr, "function_arg_pass_by_reference: V4 long double\n");
-@@ -5783,14 +5804,16 @@ rs6000_gimplify_va_arg (tree valist, tre
+@@ -5783,14 +5805,16 @@ rs6000_gimplify_va_arg (tree valist, tre
align = 1;
if (TARGET_HARD_FLOAT && TARGET_FPRS
@@ -289,7 +328,7 @@
align = 8;
}
else
-@@ -5822,7 +5845,7 @@ rs6000_gimplify_va_arg (tree valist, tre
+@@ -5822,7 +5846,7 @@ rs6000_gimplify_va_arg (tree valist, tre
As are any other 2 gpr item such as complex int due to a
historical mistake. */
u = reg;
@@ -298,7 +337,7 @@
{
u = build2 (BIT_AND_EXPR, TREE_TYPE (reg), reg,
size_int (n_reg - 1));
-@@ -9028,33 +9051,32 @@ rs6000_init_libfuncs (void)
+@@ -9028,33 +9052,32 @@ rs6000_init_libfuncs (void)
if (!TARGET_HARD_FLOAT)
return;
@@ -355,7 +394,7 @@
else
{
/* 32-bit SVR4 quad floating point routines. */
-@@ -11089,7 +11111,7 @@ rs6000_generate_compare (enum rtx_code c
+@@ -11089,7 +11112,7 @@ rs6000_generate_compare (enum rtx_code c
CLOBBERs to match cmptf_internal2 pattern. */
if (comp_mode == CCFPmode && TARGET_XL_COMPAT
&& GET_MODE (rs6000_compare_op0) == TFmode
@@ -364,24 +403,47 @@
&& TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128)
emit_insn (gen_rtx_PARALLEL (VOIDmode,
gen_rtvec (9,
-@@ -18873,6 +18895,7 @@ rs6000_function_value (tree valtype, tre
- GP_ARG_RETURN + 3),
- GEN_INT (12))));
- }
+@@ -17331,6 +17354,14 @@ rs6000_mangle_fundamental_type (tree typ
+ if (type == pixel_type_node) return "u7__pixel";
+ if (type == bool_int_type_node) return "U6__booli";
+
++ /* Mangle IBM extended float long double as `g' (__float128) on
++ powerpc*-linux where long-double-64 previously was the default. */
++ if (TYPE_MAIN_VARIANT (type) == long_double_type_node
++ && TARGET_ELF
++ && TARGET_LONG_DOUBLE_128
++ && !TARGET_IEEEQUAD)
++ return "g";
+
- if ((INTEGRAL_TYPE_P (valtype)
- && TYPE_PRECISION (valtype) < BITS_PER_WORD)
- || POINTER_TYPE_P (valtype))
---- gcc/config/rs6000/linux64.h.jj 2006-01-28 09:54:04.000000000 +0100
-+++ gcc/config/rs6000/linux64.h 2006-01-28 10:33:14.000000000 +0100
-@@ -568,3 +568,5 @@ while (0)
+ /* For all other types, use normal C++ mangling. */
+ return NULL;
+ }
+--- gcc/config/rs6000/linux64.h (revision 110228)
++++ gcc/config/rs6000/linux64.h (revision 110836)
+@@ -1,6 +1,6 @@
+ /* Definitions of target machine for GNU compiler,
+ for 64 bit PowerPC linux.
+- Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005
++ Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006
+ Free Software Foundation, Inc.
+
+ This file is part of GCC.
+@@ -567,3 +567,5 @@ while (0)
ppc64 glibc provides it at -0x7010(13). */
#define TARGET_THREAD_SSP_OFFSET (TARGET_64BIT ? -0x7010 : -0x7008)
#endif
+
+#define POWERPC_LINUX
---- gcc/config/rs6000/darwin-ldouble.c.jj 2006-01-28 09:54:04.000000000 +0100
-+++ gcc/config/rs6000/darwin-ldouble.c 2006-01-28 10:33:14.000000000 +0100
+--- gcc/config/rs6000/darwin-ldouble.c (revision 110228)
++++ gcc/config/rs6000/darwin-ldouble.c (revision 110836)
+@@ -1,5 +1,6 @@
+ /* 128-bit long double support routines for Darwin.
+- Copyright (C) 1993, 2003, 2004, 2005 Free Software Foundation, Inc.
++ Copyright (C) 1993, 2003, 2004, 2005, 2006
++ Free Software Foundation, Inc.
+
+ This file is part of GCC.
+
@@ -48,7 +49,7 @@ Software Foundation, 51 Franklin Street,
This code currently assumes big-endian. */
@@ -401,8 +463,8 @@
/* Provide definitions of the old symbol names to satisfy apps and
shared libs built against an older libgcc. To access the _xlq
symbols an explicit version reference is needed, so these won't
---- gcc/config/rs6000/t-linux64.jj 2006-01-28 09:54:04.000000000 +0100
-+++ gcc/config/rs6000/t-linux64 2006-01-28 10:33:14.000000000 +0100
+--- gcc/config/rs6000/t-linux64 (revision 110228)
++++ gcc/config/rs6000/t-linux64 (revision 110836)
@@ -4,9 +4,7 @@
LIB2FUNCS_EXTRA = tramp.S $(srcdir)/config/rs6000/ppc64-fp.c \
$(srcdir)/config/rs6000/darwin-ldouble.c
@@ -428,8 +490,17 @@
- else \
- sed -e '/cc1_options/{ n; s/$$/ %{!m32:-mlong-double-128}/; }' < specs > $@; \
- fi
---- gcc/config/rs6000/rs6000.h.jj 2006-01-28 09:54:04.000000000 +0100
-+++ gcc/config/rs6000/rs6000.h 2006-01-28 10:33:14.000000000 +0100
+--- gcc/config/rs6000/rs6000.h (revision 110228)
++++ gcc/config/rs6000/rs6000.h (revision 110836)
+@@ -1,6 +1,7 @@
+ /* Definitions of target machine for GNU compiler, for IBM RS/6000.
+ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+- 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
++ 2000, 2001, 2002, 2003, 2004, 2005, 2006
++ Free Software Foundation, Inc.
+ Contributed by Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
+
+ This file is part of GCC.
@@ -291,6 +292,7 @@ extern const char *rs6000_traceback_name
/* These are separate from target_flags because we've run out of bits
there. */
@@ -457,8 +528,8 @@
? 0 \
: GET_MODE_SIZE (FROM) != GET_MODE_SIZE (TO) \
? reg_classes_intersect_p (FLOAT_REGS, CLASS) \
---- gcc/config/rs6000/t-ppccomm.jj 2006-01-28 09:54:04.000000000 +0100
-+++ gcc/config/rs6000/t-ppccomm 2006-01-28 10:33:14.000000000 +0100
+--- gcc/config/rs6000/t-ppccomm (revision 110228)
++++ gcc/config/rs6000/t-ppccomm (revision 110836)
@@ -1,6 +1,6 @@
# Common support for PowerPC ELF targets (both EABI and SVR4).
@@ -486,19 +557,39 @@
# Switch synonyms
MULTILIB_MATCHES_ENDIAN = mlittle=mlittle-endian mbig=mbig-endian
MULTILIB_MATCHES_SYSV = mcall-sysv=mcall-sysv-eabi mcall-sysv=mcall-sysv-noeabi mcall-sysv=mcall-linux mcall-sysv=mcall-netbsd
---- gcc/config/rs6000/ppc64-fp.c.jj 2006-01-28 09:54:04.000000000 +0100
-+++ gcc/config/rs6000/ppc64-fp.c 2006-01-28 10:33:14.000000000 +0100
-@@ -31,6 +31,7 @@ Software Foundation, 51 Franklin Street,
+--- gcc/config/rs6000/ppc64-fp.c (revision 110228)
++++ gcc/config/rs6000/ppc64-fp.c (revision 110836)
+@@ -2,7 +2,7 @@
+ libgcc2.c with macros expanded to force the use of specific types.
+
+ Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+- 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
++ 2000, 2001, 2002, 2003, 2004, 2006 Free Software Foundation, Inc.
+
+ This file is part of GCC.
+
+@@ -30,7 +30,8 @@ along with GCC; see the file COPYING. I
+ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */
- #if defined(__powerpc64__)
+-#if defined(__powerpc64__)
++#if defined(__powerpc64__) || defined (__64BIT__)
+#define TMODES
#include "config/fp-bit.h"
extern DItype __fixtfdi (TFtype);
---- gcc/config/rs6000/rs6000.md.jj 2006-01-28 09:54:04.000000000 +0100
-+++ gcc/config/rs6000/rs6000.md 2006-01-28 10:33:14.000000000 +0100
-@@ -151,7 +152,7 @@
+--- gcc/config/rs6000/rs6000.md (revision 110228)
++++ gcc/config/rs6000/rs6000.md (revision 110836)
+@@ -1,6 +1,7 @@
+ ;; Machine description for IBM RISC System 6000 (POWER) for GNU C compiler
+ ;; Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+-;; 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
++;; 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
++;; Free Software Foundation, Inc.
+ ;; Contributed by Richard Kenner (kenner at vlsi1.ultra.nyu.edu)
+
+ ;; This file is part of GCC.
+@@ -151,7 +152,7 @@ (define_mode_macro P [(SI "TARGET_32BIT"
; Any hardware-supported floating-point mode
(define_mode_macro FP [(SF "TARGET_HARD_FLOAT")
(DF "TARGET_HARD_FLOAT && (TARGET_FPRS || TARGET_E500_DOUBLE)")
@@ -507,7 +598,7 @@
&& TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128")])
; Various instructions that come in SI and DI forms.
-@@ -7785,7 +7786,7 @@
+@@ -8249,7 +8250,7 @@ (define_insn "*movdf_softfloat64"
(define_expand "movtf"
[(set (match_operand:TF 0 "general_operand" "")
(match_operand:TF 1 "any_operand" ""))]
@@ -516,7 +607,7 @@
&& TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128"
"{ rs6000_emit_move (operands[0], operands[1], TFmode); DONE; }")
-@@ -7795,7 +7796,7 @@
+@@ -8259,7 +8260,7 @@ (define_expand "movtf"
(define_insn_and_split "*movtf_internal"
[(set (match_operand:TF 0 "nonimmediate_operand" "=o,f,f,r,Y,r")
(match_operand:TF 1 "input_operand" "f,o,f,YGHF,r,r"))]
@@ -525,7 +616,7 @@
&& TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128
&& (gpc_reg_operand (operands[0], TFmode)
|| gpc_reg_operand (operands[1], TFmode))"
-@@ -7809,7 +7810,7 @@
+@@ -8273,7 +8274,7 @@ (define_expand "extenddftf2"
[(parallel [(set (match_operand:TF 0 "nonimmediate_operand" "")
(float_extend:TF (match_operand:DF 1 "input_operand" "")))
(use (match_dup 2))])]
@@ -534,7 +625,7 @@
&& TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128"
{
operands[2] = CONST0_RTX (DFmode);
-@@ -7819,7 +7820,7 @@
+@@ -8283,7 +8284,7 @@ (define_insn_and_split "*extenddftf2_int
[(set (match_operand:TF 0 "nonimmediate_operand" "=o,f,&f,r")
(float_extend:TF (match_operand:DF 1 "input_operand" "fr,mf,mf,rmGHF")))
(use (match_operand:DF 2 "zero_reg_mem_operand" "rf,m,f,n"))]
@@ -543,7 +634,7 @@
&& TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128"
"#"
"&& reload_completed"
-@@ -7837,7 +7838,7 @@
+@@ -8301,7 +8302,7 @@ (define_insn_and_split "*extenddftf2_int
(define_expand "extendsftf2"
[(set (match_operand:TF 0 "nonimmediate_operand" "")
(float_extend:TF (match_operand:SF 1 "gpc_reg_operand" "")))]
@@ -552,7 +643,7 @@
&& TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128"
{
rtx tmp = gen_reg_rtx (DFmode);
-@@ -7849,14 +7850,14 @@
+@@ -8313,14 +8314,14 @@ (define_expand "extendsftf2"
(define_expand "trunctfdf2"
[(set (match_operand:DF 0 "gpc_reg_operand" "")
(float_truncate:DF (match_operand:TF 1 "gpc_reg_operand" "")))]
@@ -569,7 +660,7 @@
&& TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128"
"@
#
-@@ -7872,7 +7873,7 @@
+@@ -8336,7 +8337,7 @@ (define_insn_and_split "trunctfdf2_inter
(define_insn "trunctfdf2_internal2"
[(set (match_operand:DF 0 "gpc_reg_operand" "=f")
(float_truncate:DF (match_operand:TF 1 "gpc_reg_operand" "f")))]
@@ -578,7 +669,7 @@
&& TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128"
"fadd %0,%1,%L1"
[(set_attr "type" "fp")])
-@@ -7881,7 +7882,7 @@
+@@ -8345,7 +8346,7 @@ (define_insn_and_split "trunctfsf2"
[(set (match_operand:SF 0 "gpc_reg_operand" "=f")
(float_truncate:SF (match_operand:TF 1 "gpc_reg_operand" "f")))
(clobber (match_scratch:DF 2 "=f"))]
@@ -587,7 +678,7 @@
&& TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128"
"#"
"&& reload_completed"
-@@ -7894,7 +7895,7 @@
+@@ -8358,7 +8359,7 @@ (define_insn_and_split "trunctfsf2"
(define_expand "floatsitf2"
[(set (match_operand:TF 0 "gpc_reg_operand" "=f")
(float:TF (match_operand:SI 1 "gpc_reg_operand" "r")))]
@@ -596,7 +687,7 @@
&& TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128"
{
rtx tmp = gen_reg_rtx (DFmode);
-@@ -7922,7 +7923,7 @@
+@@ -8386,7 +8387,7 @@ (define_expand "fix_trunctfsi2"
(clobber (match_dup 3))
(clobber (match_dup 4))
(clobber (match_dup 5))])]
@@ -605,7 +696,7 @@
&& (TARGET_POWER2 || TARGET_POWERPC)
&& TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128"
{
-@@ -7939,7 +7940,7 @@
+@@ -8403,7 +8404,7 @@ (define_insn_and_split "*fix_trunctfsi2_
(clobber (match_operand:DF 3 "gpc_reg_operand" "=&f"))
(clobber (match_operand:DI 4 "gpc_reg_operand" "=f"))
(clobber (match_operand:DI 5 "memory_operand" "=o"))]
@@ -614,7 +705,7 @@
&& TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128"
"#"
"&& (!no_new_pseudos || offsettable_nonstrict_memref_p (operands[5]))"
-@@ -7960,7 +7961,7 @@
+@@ -8424,7 +8425,7 @@ (define_insn_and_split "*fix_trunctfsi2_
(define_insn "negtf2"
[(set (match_operand:TF 0 "gpc_reg_operand" "=f")
(neg:TF (match_operand:TF 1 "gpc_reg_operand" "f")))]
@@ -623,7 +714,7 @@
&& TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128"
"*
{
-@@ -7975,7 +7976,7 @@
+@@ -8439,7 +8440,7 @@ (define_insn "negtf2"
(define_expand "abstf2"
[(set (match_operand:TF 0 "gpc_reg_operand" "=f")
(abs:TF (match_operand:TF 1 "gpc_reg_operand" "f")))]
@@ -632,7 +723,7 @@
&& TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128"
"
{
-@@ -7995,7 +7996,7 @@
+@@ -8459,7 +8460,7 @@ (define_expand "abstf2_internal"
(label_ref (match_operand 2 "" ""))
(pc)))
(set (match_dup 6) (neg:DF (match_dup 6)))]
@@ -641,7 +732,7 @@
&& TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128"
"
{
-@@ -10934,7 +10935,7 @@
+@@ -11398,7 +11399,7 @@ (define_insn "*cmptf_internal1"
[(set (match_operand:CCFP 0 "cc_reg_operand" "=y")
(compare:CCFP (match_operand:TF 1 "gpc_reg_operand" "f")
(match_operand:TF 2 "gpc_reg_operand" "f")))]
@@ -650,7 +741,7 @@
&& TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128"
"fcmpu %0,%1,%2\;bne %0,$+8\;fcmpu %0,%L1,%L2"
[(set_attr "type" "fpcompare")
-@@ -10952,7 +10953,7 @@
+@@ -11416,7 +11417,7 @@ (define_insn_and_split "*cmptf_internal2
(clobber (match_scratch:DF 8 "=f"))
(clobber (match_scratch:DF 9 "=f"))
(clobber (match_scratch:DF 10 "=f"))]
@@ -659,9 +750,17 @@
&& TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128"
"#"
"&& reload_completed"
---- gcc/config/rs6000/aix.h.jj 2006-01-28 09:54:04.000000000 +0100
-+++ gcc/config/rs6000/aix.h 2006-01-28 10:33:14.000000000 +0100
-@@ -38,6 +38,8 @@
+--- gcc/config/rs6000/aix.h (revision 110228)
++++ gcc/config/rs6000/aix.h (revision 110836)
+@@ -1,6 +1,6 @@
+ /* Definitions of target machine for GNU compiler,
+ for IBM RS/6000 POWER running AIX.
+- Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005
++ Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006
+ Free Software Foundation, Inc.
+
+ This file is part of GCC.
+@@ -42,6 +42,8 @@
#define TARGET_ALTIVEC 0
#undef TARGET_ALTIVEC_ABI
#define TARGET_ALTIVEC_ABI 0
@@ -670,30 +769,117 @@
/* The AIX linker will discard static constructors in object files before
collect has a chance to see them, so scan the object files directly. */
---- gcc/config/rs6000/linux.h.jj 2006-01-28 09:54:04.000000000 +0100
-+++ gcc/config/rs6000/linux.h 2006-01-28 10:33:14.000000000 +0100
+--- gcc/config/rs6000/linux.h (revision 110228)
++++ gcc/config/rs6000/linux.h (revision 110836)
+@@ -1,7 +1,7 @@
+ /* Definitions of target machine for GNU compiler,
+ for PowerPC machines running Linux.
+- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+- Free Software Foundation, Inc.
++ Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
++ 2004, 2005, 2006 Free Software Foundation, Inc.
+ Contributed by Michael Meissner (meissner at cygnus.com).
+
+ This file is part of GCC.
@@ -118,3 +118,5 @@
/* ppc32 glibc provides __stack_chk_guard in -0x7008(2). */
#define TARGET_THREAD_SSP_OFFSET -0x7008
#endif
+
+#define POWERPC_LINUX
---- gcc/config/rs6000/sysv4.h.jj 2006-01-28 09:54:04.000000000 +0100
-+++ gcc/config/rs6000/sysv4.h 2006-01-28 10:33:14.000000000 +0100
-@@ -215,6 +215,13 @@ do { \
+--- gcc/config/rs6000/sysv4.h (revision 110228)
++++ gcc/config/rs6000/sysv4.h (revision 110836)
+@@ -1,6 +1,6 @@
+ /* Target definitions for GNU compiler for PowerPC running System V.4
+ Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+- 2004, 2005 Free Software Foundation, Inc.
++ 2004, 2005, 2006 Free Software Foundation, Inc.
+ Contributed by Cygnus Support.
+
+ This file is part of GCC.
+@@ -215,6 +215,10 @@ do { \
error ("-msecure-plt not supported by your assembler"); \
} \
\
++ if (TARGET_SOFT_FLOAT && TARGET_LONG_DOUBLE_128 \
++ && rs6000_explicit_options.long_double) \
++ warning (0, "-msoft-float and -mlong-double-128 not supported"); \
++ \
+ /* Treat -fPIC the same as -mrelocatable. */ \
+ if (flag_pic > 1 && DEFAULT_ABI != ABI_AIX) \
+ target_flags |= MASK_RELOCATABLE | MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC; \
+--- gcc/config/rs6000/aix43.h (revision 110228)
++++ gcc/config/rs6000/aix43.h (revision 110836)
+@@ -1,6 +1,6 @@
+ /* Definitions of target machine for GNU compiler,
+ for IBM RS/6000 POWER running AIX version 4.3.
+- Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005
++ Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006
+ Free Software Foundation, Inc.
+ Contributed by David Edelsohn (edelsohn at gnu.org).
+
+@@ -43,6 +43,12 @@ do { \
+ target_flags |= MASK_POWERPC64; \
+ warning (0, "-maix64 requires PowerPC64 architecture remain enabled"); \
+ } \
+ if (TARGET_SOFT_FLOAT && TARGET_LONG_DOUBLE_128) \
+ { \
+ rs6000_long_double_type_size = 64; \
+ if (rs6000_explicit_options.long_double) \
+ warning (0, "soft-float and long-double-128 are incompatible"); \
+ } \
-+ \
- /* Treat -fPIC the same as -mrelocatable. */ \
- if (flag_pic > 1 && DEFAULT_ABI != ABI_AIX) \
- target_flags |= MASK_RELOCATABLE | MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC; \
+ if (TARGET_POWERPC64 && ! TARGET_64BIT) \
+ { \
+ error ("-maix64 required: 64-bit computation with 32-bit addressing not yet supported"); \
+--- gcc/config/rs6000/aix52.h (revision 110228)
++++ gcc/config/rs6000/aix52.h (revision 110836)
+@@ -1,6 +1,6 @@
+ /* Definitions of target machine for GNU compiler,
+ for IBM RS/6000 POWER running AIX V5.2.
+- Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
++ Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+ Contributed by David Edelsohn (edelsohn at gnu.org).
+
+ This file is part of GCC.
+@@ -42,6 +42,12 @@ do { \
+ target_flags |= MASK_POWERPC64; \
+ warning (0, "-maix64 requires PowerPC64 architecture remain enabled"); \
+ } \
++ if (TARGET_SOFT_FLOAT && TARGET_LONG_DOUBLE_128) \
++ { \
++ rs6000_long_double_type_size = 64; \
++ if (rs6000_explicit_options.long_double) \
++ warning (0, "soft-float and long-double-128 are incompatible"); \
++ } \
+ if (TARGET_POWERPC64 && ! TARGET_64BIT) \
+ { \
+ error ("-maix64 required: 64-bit computation with 32-bit addressing not yet supported"); \
+--- gcc/config/rs6000/t-aix43 (revision 110228)
++++ gcc/config/rs6000/t-aix43 (revision 110836)
+@@ -67,7 +67,9 @@ SHLIB_MAPFILES = $(srcdir)/libgcc-std.ve
+ SHLIB_NM_FLAGS = -Bpg -X32_64
+
+ # GCC 128-bit long double support routines.
+-LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/darwin-ldouble.c
++LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/ppc64-fp.c \
++ $(srcdir)/config/rs6000/darwin-ldouble.c
++TARGET_LIBGCC2_CFLAGS = -mlong-double-128
+
+ # Either 32-bit and 64-bit objects in archives.
+ AR_FLAGS_FOR_TARGET = -X32_64
+--- gcc/config/rs6000/t-aix52 (revision 110228)
++++ gcc/config/rs6000/t-aix52 (revision 110836)
+@@ -48,7 +48,9 @@ SHLIB_MAPFILES = $(srcdir)/libgcc-std.ve
+ SHLIB_NM_FLAGS = -Bpg -X32_64
+
+ # GCC 128-bit long double support routines.
+-LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/darwin-ldouble.c
++LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/ppc64-fp.c \
++ $(srcdir)/config/rs6000/darwin-ldouble.c
++TARGET_LIBGCC2_CFLAGS = -mlong-double-128
+
+ # Either 32-bit and 64-bit objects in archives.
+ AR_FLAGS_FOR_TARGET = -X32_64
--- gcc/config/fp-bit.h.jj 2006-01-28 09:54:06.000000000 +0100
+++ gcc/config/fp-bit.h 2006-01-28 10:33:14.000000000 +0100
@@ -87,7 +87,9 @@ Boston, MA 02110-1301, USA. */
Index: gcc41.spec
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/gcc41.spec,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- gcc41.spec 6 Feb 2006 10:04:21 -0000 1.29
+++ gcc41.spec 10 Feb 2006 15:19:31 -0000 1.30
@@ -1,6 +1,6 @@
-%define DATE 20060206
+%define DATE 20060210
%define gcc_version 4.1.0
-%define gcc_release 0.23
+%define gcc_release 0.24
%define _unpackaged_files_terminate_build 0
%define multilib_64_archs sparc64 ppc64 s390x x86_64
%ifarch %{ix86} x86_64 ia64
@@ -72,6 +72,14 @@
Requires: libgomp = %{version}-%{release}
Obsoletes: gcc3
Obsoletes: egcs
+%ifarch sparc
+Obsoletes: gcc-sparc32
+Obsoletes: gcc-c++-sparc32
+%endif
+%ifarch ppc
+Obsoletes: gcc-ppc32
+Obsoletes: gcc-c++-ppc32
+%endif
Obsoletes: gcc-chill
%if !%{build_ada}
Obsoletes: gcc-gnat < %{version}-%{release}
@@ -92,8 +100,6 @@
Patch3: gcc41-ia64-libunwind.patch
Patch4: gcc41-gnuc-rh-release.patch
Patch5: gcc41-java-nomulti.patch
-Patch6: gcc41-multi32-hack.patch
-Patch7: gcc41-gc-pthread_create.patch
Patch8: gcc41-ada-pr18302.patch
Patch9: gcc41-ada-tweaks.patch
Patch10: gcc41-ia64-frame-base-loclist.patch
@@ -331,56 +337,6 @@
%description -n libgcj-src
The Java(tm) runtime library sources for use in Eclipse.
-%package sparc32
-Summary: The C compiler optimized for generating SPARC 32bit code
-Group: Development/Languages
-Requires: gcc = %{version}-%{release}, %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcc.a
-Autoreq: true
-
-%description sparc32
-This package contains the GNU C compiler which only supports generating
-32bit SPARC code, but should be faster than the 32/64bit gcc package. You
-should install this package if you want to trade disk space required for
-this package for faster compilation of 32bit code.
-
-%package c++-sparc32
-Summary: The C++ compiler optimized for generating SPARC 32bit code
-Group: Development/Languages
-Requires: gcc-c++ = %{version}-%{release}, gcc-sparc32 = %{version}-%{release}
-Requires: %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libstdc++.so
-Autoreq: true
-
-%description c++-sparc32
-This package contains the GNU C++ compiler which only supports generating
-32bit SPARC code, but should be faster than the 32/64bit gcc package. You
-should install this package if you want to trade disk space required for
-this package for faster compilation of 32bit code.
-
-%package ppc32
-Summary: The C compiler optimized for generating PowerPC 32bit code
-Group: Development/Languages
-Requires: gcc = %{version}-%{release}, %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libgcc.a
-Autoreq: true
-
-%description ppc32
-This package contains the GNU C compiler which only supports generating
-32bit PowerPC code, but should be faster than the 32/64bit gcc package. You
-should install this package if you want to trade disk space required for
-this package for faster compilation of 32bit code.
-
-%package c++-ppc32
-Summary: The C++ compiler optimized for generating PowerPC 32bit code
-Group: Development/Languages
-Requires: gcc-c++ = %{version}-%{release}, gcc-ppc32 = %{version}-%{release}
-Requires: %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/64/libstdc++.so
-Autoreq: true
-
-%description c++-ppc32
-This package contains the GNU C++ compiler which only supports generating
-32bit PowerPC code, but should be faster than the 32/64bit gcc package. You
-should install this package if you want to trade disk space required for
-this package for faster compilation of 32bit code.
-
%package -n cpp
Summary: The C Preprocessor.
Group: Development/Languages
@@ -441,10 +397,6 @@
%patch3 -p0 -b .ia64-libunwind~
%patch4 -p0 -b .gnuc-rh-release~
%patch5 -p0 -b .java-nomulti~
-%ifarch ppc sparc
-%patch6 -p0 -b .multi32-hack~
-%endif
-%patch7 -p0 -b .gc-pthread_create~
%patch8 -p0 -b .ada-pr18302~
%patch9 -p0 -b .ada-tweaks~
%patch10 -p0 -b .ia64-frame-base-loclist~
@@ -596,23 +548,6 @@
# Make protoize
make -C gcc CC="./xgcc -B ./ -O2" proto
-%ifarch sparc ppc
-# Build the -m32 only compiler which does not use long long for HOST_WIDE_INT
-mkdir gcc32
-cd gcc32
-OPT_FLAGS=`echo $RPM_OPT_FLAGS|sed -e 's/-fno-rtti//g' -e 's/-fno-exceptions//g'`
-echo "#!/bin/sh" > gcc32
-echo "exec `cd ../gcc; pwd`/xgcc -B `cd ../gcc; pwd`/ $OPT_FLAGS "'"$@"' >> gcc32
-chmod +x gcc32
-CC=`pwd`/gcc32 CFLAGS="$OPT_FLAGS" CXXFLAGS="$OPT_FLAGS" XCFLAGS="$OPT_FLAGS" \
- TCFLAGS="$OPT_FLAGS" ../../configure --prefix=%{_prefix} --mandir=%{_mandir} --infodir=%{_infodir} \
- --enable-shared --enable-threads=posix --enable-checking=release --disable-libunwind-exceptions \
- --with-system-zlib --enable-__cxa_atexit --enable-languages=c,c++ \
- --host=%{_target_platform} --build=%{_target_platform} --target=%{_target_platform}
-make %{?_smp_mflags} BOOT_CFLAGS="$OPT_FLAGS" all-gcc
-cd ..
-%endif
-
# Make generated man pages even if Pod::Man is not new enough
perl -pi -e 's/head3/head2/' ../contrib/texi2pod.pl
for i in ../gcc/doc/*.texi; do
@@ -726,27 +661,11 @@
fi
done
-%ifarch sparc ppc
-# Install the sparc/ppc -m32 only compilers
-FULLPATH32=$RPM_BUILD_ROOT%{_prefix}/lib/gcc/%{_target_platform}/%{gcc_version}
-FULLEPATH32=$RPM_BUILD_ROOT%{_prefix}/libexec/gcc/%{_target_platform}/%{gcc_version}
-mkdir -p $FULLPATH32 $FULLEPATH32
-ln -sf %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/include \
- $FULLPATH32/
-install -m 755 gcc32/gcc/cc1 $FULLEPATH32/
-install -m 755 gcc32/gcc/cc1plus $FULLEPATH32/
-ln -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_platform}-gcc \
- $RPM_BUILD_ROOT%{_prefix}/bin/%{_target_platform}-gcc
-%endif
-%ifarch sparc ppc
-cp -al $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_version}/%{gcc_target_platform} \
- $RPM_BUILD_ROOT%{_prefix}/include/c++/%{gcc_version}/%{_target_platform}
-%endif
-%ifarch sparc64
+%ifarch sparc sparc64
ln -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_platform}-gcc \
$RPM_BUILD_ROOT%{_prefix}/bin/sparc-%{_vendor}-%{_target_os}-gcc
%endif
-%ifarch ppc64
+%ifarch ppc ppc64
ln -f $RPM_BUILD_ROOT%{_prefix}/bin/%{gcc_target_platform}-gcc \
$RPM_BUILD_ROOT%{_prefix}/bin/ppc-%{_vendor}-%{_target_os}-gcc
%endif
@@ -1508,47 +1427,17 @@
%endif
%doc rpm.doc/changelogs/libmudflap/ChangeLog*
-%ifarch sparc
-%files sparc32
-%defattr(-,root,root)
-%dir %{_prefix}/lib/gcc
-%dir %{_prefix}/lib/gcc/%{_target_platform}
-%dir %{_prefix}/lib/gcc/%{_target_platform}/%{gcc_version}
-%dir %{_prefix}/libexec/gcc
-%dir %{_prefix}/libexec/gcc/%{_target_platform}
-%dir %{_prefix}/libexec/gcc/%{_target_platform}/%{gcc_version}
-%{_prefix}/libexec/gcc/%{_target_platform}/%{gcc_version}/cc1
-%{_prefix}/lib/gcc/%{_target_platform}/%{gcc_version}/include
-
-%files c++-sparc32
-%defattr(-,root,root)
-%dir %{_prefix}/libexec/gcc
-%dir %{_prefix}/libexec/gcc/%{_target_platform}
-%dir %{_prefix}/libexec/gcc/%{_target_platform}/%{gcc_version}
-%{_prefix}/libexec/gcc/%{_target_platform}/%{gcc_version}/cc1plus
-%endif
-
-%ifarch ppc
-%files ppc32
-%defattr(-,root,root)
-%dir %{_prefix}/lib/gcc
-%dir %{_prefix}/lib/gcc/%{_target_platform}
-%dir %{_prefix}/lib/gcc/%{_target_platform}/%{gcc_version}
-%dir %{_prefix}/libexec/gcc
-%dir %{_prefix}/libexec/gcc/%{_target_platform}
-%dir %{_prefix}/libexec/gcc/%{_target_platform}/%{gcc_version}
-%{_prefix}/libexec/gcc/%{_target_platform}/%{gcc_version}/cc1
-%{_prefix}/lib/gcc/%{_target_platform}/%{gcc_version}/include
-
-%files c++-ppc32
-%defattr(-,root,root)
-%dir %{_prefix}/libexec/gcc
-%dir %{_prefix}/libexec/gcc/%{_target_platform}
-%dir %{_prefix}/libexec/gcc/%{_target_platform}/%{gcc_version}
-%{_prefix}/libexec/gcc/%{_target_platform}/%{gcc_version}/cc1plus
-%endif
-
%changelog
+* Fri Feb 10 2006 Jakub Jelinek <jakub at redhat.com> 4.1.0-0.24
+- update from gcc-4_1-branch (-r110632:110831)
+ - PRs tree-opt/26180, c++/26070, c++/26071, fortran/25577, java/26192,
+ libfortran/23815, libstdc++/26127, target/23359, target/26109,
+ tree-opt/25251
+- remove gcc-ppc32, gcc-c++-ppc32, gcc-sparc32 and gcc-c++-sparc32
+ subpackages, they do more harm than good. Particularly this time
+ gcc*ppc32 and gcc*sparc32 defaulted to DFmode long double rather
+ than TFmode long double
+
* Mon Feb 6 2006 Jakub Jelinek <jakub at redhat.com> 4.1.0-0.23
- update from gcc-4_1-branch (-r110582:110632)
- PRs classpath/24618, classpath/25141, classpath/25727, fortran/25046,
Index: sources
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/sources,v
retrieving revision 1.133
retrieving revision 1.134
diff -u -r1.133 -r1.134
--- sources 6 Feb 2006 10:04:21 -0000 1.133
+++ sources 10 Feb 2006 15:19:31 -0000 1.134
@@ -1 +1 @@
-2411c297b2de7b306228701906031c10 gcc-4.1.0-20060206.tar.bz2
+36ce392e2b0466ebd1960456561bac5b gcc-4.1.0-20060210.tar.bz2
--- gcc41-gc-pthread_create.patch DELETED ---
More information about the fedora-cvs-commits
mailing list