gcc: Drop 4.3.1 and 4.3.2

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This commit is contained in:
Richard Purdie 2010-01-28 21:49:10 +00:00
parent 23d8841f28
commit db99dabc66
299 changed files with 0 additions and 1202823 deletions

View File

@ -1,72 +0,0 @@
# No uclibc, armeb and thumb patches - really needs checking
DEFAULT_PREFERENCE = "-99"
require gcc-common.inc
DEPENDS =+ "mpfr gmp"
SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
file://fedora/gcc43-c++-builtin-redecl.patch;patch=1;pnum=0 \
file://fedora/gcc43-ia64-libunwind.patch;patch=1;pnum=0 \
file://fedora/gcc43-java-nomulti.patch;patch=1;pnum=0 \
file://fedora/gcc43-ppc32-retaddr.patch;patch=1;pnum=0 \
file://fedora/gcc43-pr27898.patch;patch=1;pnum=0 \
file://fedora/gcc43-pr32139.patch;patch=1;pnum=0 \
file://fedora/gcc43-pr33763.patch;patch=1;pnum=0 \
file://fedora/gcc43-rh330771.patch;patch=1;pnum=0 \
file://fedora/gcc43-rh341221.patch;patch=1;pnum=0 \
file://fedora/gcc43-cpp-pragma.patch;patch=1;pnum=0 \
file://fedora/gcc43-java-debug-iface-type.patch;patch=1;pnum=0 \
file://fedora/gcc43-libgomp-speedup.patch;patch=1;pnum=0 \
file://fedora/gcc43-i386-libgomp.patch;patch=1;pnum=0 \
file://fedora/gcc43-rh251682.patch;patch=1;pnum=0 \
file://debian/arm-unbreak-eabi-armv4t.dpatch;patch=1 \
file://debian/libstdc++-pic.dpatch;patch=1;pnum=0 \
file://debian/gcc-ice-hack.dpatch;patch=1;pnum=0 \
file://debian/pr30961.dpatch;patch=1;pnum=0 \
# file://100-uclibc-conf.patch;patch=1 \
# file://103-uclibc-conf-noupstream.patch;patch=1 \
# file://200-uclibc-locale.patch;patch=1 \
# file://203-uclibc-locale-no__x.patch;patch=1 \
# file://204-uclibc-locale-wchar_fix.patch;patch=1 \
# file://205-uclibc-locale-update.patch;patch=1 \
file://301-missing-execinfo_h.patch;patch=1 \
# file://302-c99-snprintf.patch;patch=1 \
# file://303-c99-complex-ugly-hack.patch;patch=1 \
file://304-index_macro.patch;patch=1 \
file://305-libmudflap-susv3-legacy.patch;patch=1 \
# file://306-libstdc++-namespace.patch;patch=1 \
# file://307-locale_facets.patch;patch=1 \
# file://402-libbackend_dep_gcov-iov.h.patch;patch=1 \
file://602-sdk-libstdc++-includes.patch;patch=1 \
file://740-sh-pr24836.patch;patch=1 \
# file://800-arm-bigendian.patch;patch=1 \
# file://801-arm-bigendian-eabi.patch;patch=1 \
file://904-flatten-switch-stmt-00.patch;patch=1 \
file://arm-nolibfloat.patch;patch=1 \
file://arm-softfloat.patch;patch=1 \
# file://gcc41-configure.in.patch;patch=1 \
# file://arm-thumb.patch;patch=1 \
# file://arm-thumb-cache.patch;patch=1 \
file://ldflags.patch;patch=1 \
file://zecke-xgcc-cpp.patch;patch=1 \
file://cache-amnesia.patch;patch=1 \
# file://gfortran.patch;patch=1 \
# file://gcc-4.0.2-e300c2c3.patch;patch=1 \
# file://pr34130.patch;patch=1 \
# file://fortran-static-linking.patch;patch=1 \
# file://intermask-bigendian.patch;patch=1 \
file://gcc-arm-frename-registers.patch;patch=1 \
file://gcc-release-branch/PR-36500-fix-neon.patch;patch=1 \
file://gcc-4.3.1-SYSROOT_CFLAGS_FOR_TARGET.patch;patch=1 \
file://gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch;patch=1 \
"
SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 "
# Language Overrides
FORTRAN = ""
JAVA = ""
EXTRA_OECONF_BASE = " --enable-cheaders=c_std --enable-libssp --disable-bootstrap --disable-libgomp --disable-libmudflap"

View File

@ -1,200 +0,0 @@
--- gcc/libgomp/configure
+++ gcc/libgomp/configure
@@ -3771,7 +3771,7 @@
;;
# This must be Linux ELF.
-linux-gnu*)
+linux*)
lt_cv_deplibs_check_method=pass_all
;;
--- gcc/gcc/config/cris/linux.h
+++ gcc/gcc/config/cris/linux.h
@@ -74,7 +74,11 @@
#define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
#undef CRIS_SUBTARGET_VERSION
-#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
+#if UCLIBC_DEFAULT
+# define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc"
+#else
+# define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
+#endif
#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
--- gcc/libstdc++-v3/configure
+++ gcc/libstdc++-v3/configure
@@ -4276,7 +4276,7 @@
;;
# This must be Linux ELF.
-linux-gnu*)
+linux*)
lt_cv_deplibs_check_method=pass_all
;;
--- gcc/zlib/configure
+++ gcc/zlib/configure
@@ -3422,7 +3422,7 @@
;;
# This must be Linux ELF.
-linux-gnu*)
+linux*)
lt_cv_deplibs_check_method=pass_all
;;
--- gcc/libobjc/configure
+++ gcc/libobjc/configure
@@ -3309,7 +3309,7 @@
;;
# This must be Linux ELF.
-linux-gnu*)
+linux*)
lt_cv_deplibs_check_method=pass_all
;;
--- gcc/libgfortran/configure
+++ gcc/libgfortran/configure
@@ -3695,7 +3695,7 @@
;;
# This must be Linux ELF.
-linux-gnu*)
+linux*)
lt_cv_deplibs_check_method=pass_all
;;
--- gcc/libmudflap/configure
+++ gcc/libmudflap/configure
@@ -5378,7 +5378,7 @@
;;
# This must be Linux ELF.
-linux-gnu*)
+linux*)
lt_cv_deplibs_check_method=pass_all
;;
--- gcc/boehm-gc/configure
+++ gcc/boehm-gc/configure
@@ -4316,7 +4316,7 @@
;;
# This must be Linux ELF.
-linux-gnu*)
+linux*)
lt_cv_deplibs_check_method=pass_all
;;
--- gcc/libffi/configure
+++ gcc/libffi/configure
@@ -3453,7 +3453,7 @@
;;
# This must be Linux ELF.
-linux-gnu*)
+linux*)
lt_cv_deplibs_check_method=pass_all
;;
--- gcc/libssp/configure
+++ gcc/libssp/configure
@@ -4409,7 +4409,7 @@
;;
# This must be Linux ELF.
-linux-gnu*)
+linux*)
lt_cv_deplibs_check_method=pass_all
;;
--- gcc/contrib/regression/objs-gcc.sh
+++ gcc/contrib/regression/objs-gcc.sh
@@ -105,6 +105,10 @@
then
make all-gdb all-dejagnu all-ld || exit 1
make install-gdb install-dejagnu install-ld || exit 1
+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
+ then
+ make all-gdb all-dejagnu all-ld || exit 1
+ make install-gdb install-dejagnu install-ld || exit 1
elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
make bootstrap || exit 1
make install || exit 1
--- gcc/libjava/classpath/ltconfig
+++ gcc/libjava/classpath/ltconfig
@@ -603,7 +603,7 @@
# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
case $host_os in
-linux-gnu*) ;;
+linux-gnu*|linux-uclibc*) ;;
linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
esac
@@ -1251,7 +1251,7 @@
;;
# This must be Linux ELF.
-linux-gnu*)
+linux*)
version_type=linux
need_lib_prefix=no
need_version=no
--- gcc/libjava/classpath/configure
+++ gcc/libjava/classpath/configure
@@ -4665,7 +4665,7 @@
;;
# This must be Linux ELF.
-linux-gnu*)
+linux*)
lt_cv_deplibs_check_method=pass_all
;;
--- gcc/libjava/configure
+++ gcc/libjava/configure
@@ -5212,7 +5212,7 @@
;;
# This must be Linux ELF.
-linux-gnu*)
+linux*)
lt_cv_deplibs_check_method=pass_all
;;
--- gcc/libtool.m4
+++ gcc/libtool.m4
@@ -739,7 +739,7 @@
;;
# This must be Linux ELF.
-linux-gnu*)
+linux*)
lt_cv_deplibs_check_method=pass_all
;;
--- gcc/ltconfig
+++ gcc/ltconfig
@@ -603,7 +603,7 @@
# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
case $host_os in
-linux-gnu*) ;;
+linux-gnu*|linux-uclibc*) ;;
linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
esac
@@ -1251,7 +1251,7 @@
;;
# This must be Linux ELF.
-linux-gnu*)
+linux*)
version_type=linux
need_lib_prefix=no
need_version=no

View File

@ -1,11 +0,0 @@
--- gcc/gcc/config.gcc.uclibc100-sh~ 2006-03-06 20:46:56 +0100
+++ gcc/gcc/config.gcc 2006-03-10 15:02:41 +0100
@@ -1905,7 +1905,7 @@
;;
sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \
sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
- sh-*-linux* | sh[346lbe]*-*-linux* | \
+ sh*-*-linux* | sh[346lbe]*-*-linux* | \
sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
sh64-*-netbsd* | sh64l*-*-netbsd*)
tmake_file="${tmake_file} sh/t-sh sh/t-elf"

View File

@ -1,27 +0,0 @@
--- gcc-2005q3-1.orig/gcc/config.gcc 2005-10-31 19:02:54.000000000 +0300
+++ gcc-2005q3-1/gcc/config.gcc 2006-01-27 01:09:09.000000000 +0300
@@ -674,7 +674,7 @@
tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
tmake_file="t-slibgcc-elf-ver t-linux arm/t-arm"
case ${target} in
- arm*-*-linux-gnueabi)
+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
# The BPABI long long divmod functions return a 128-bit value in
diff -urN gcc-2005q3-2/gcc/config/arm/linux-eabi.h gcc-2005q3-2.new/gcc/config/arm/linux-eabi.h
--- gcc-2005q3-2/gcc/config/arm/linux-eabi.h 2005-12-07 23:14:16.000000000 +0300
+++ gcc-2005q3-2.new/gcc/config/arm/linux-eabi.h 2006-03-29 19:02:34.000000000 +0400
@@ -53,7 +53,11 @@
/* Use ld-linux.so.3 so that it will be possible to run "classic"
GNU/Linux binaries on an EABI system. */
#undef LINUX_TARGET_INTERPRETER
+#ifdef USE_UCLIBC
+#define LINUX_TARGET_INTERPRETER "/lib/ld-uClibc.so.0"
+#else
#define LINUX_TARGET_INTERPRETER "/lib/ld-linux.so.3"
+#endif
/* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
use the GNU/Linux version, not the generic BPABI version. */

File diff suppressed because it is too large Load Diff

View File

@ -1,213 +0,0 @@
--- gcc/libstdc++-v3/config/locale/uclibc/c++locale_internal.h.uclibc200no__x~ 2006-03-10 15:06:17 +0100
+++ gcc/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2006-03-10 15:32:37 +0100
@@ -60,4 +60,49 @@
extern "C" __typeof(wctype_l) __wctype_l;
#endif
+# define __nl_langinfo_l nl_langinfo_l
+# define __strcoll_l strcoll_l
+# define __strftime_l strftime_l
+# define __strtod_l strtod_l
+# define __strtof_l strtof_l
+# define __strtold_l strtold_l
+# define __strxfrm_l strxfrm_l
+# define __newlocale newlocale
+# define __freelocale freelocale
+# define __duplocale duplocale
+# define __uselocale uselocale
+
+# ifdef _GLIBCXX_USE_WCHAR_T
+# define __iswctype_l iswctype_l
+# define __towlower_l towlower_l
+# define __towupper_l towupper_l
+# define __wcscoll_l wcscoll_l
+# define __wcsftime_l wcsftime_l
+# define __wcsxfrm_l wcsxfrm_l
+# define __wctype_l wctype_l
+# endif
+
+#else
+# define __nl_langinfo_l(N, L) nl_langinfo((N))
+# define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
+# define __strtod_l(S, E, L) strtod((S), (E))
+# define __strtof_l(S, E, L) strtof((S), (E))
+# define __strtold_l(S, E, L) strtold((S), (E))
+# define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
+# warning should dummy __newlocale check for C|POSIX ?
+# define __newlocale(a, b, c) NULL
+# define __freelocale(a) ((void)0)
+# define __duplocale(a) __c_locale()
+//# define __uselocale ?
+//
+# ifdef _GLIBCXX_USE_WCHAR_T
+# define __iswctype_l(C, M, L) iswctype((C), (M))
+# define __towlower_l(C, L) towlower((C))
+# define __towupper_l(C, L) towupper((C))
+# define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
+//# define __wcsftime_l(S, M, F, T, L) wcsftime((S), (M), (F), (T))
+# define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
+# define __wctype_l(S, L) wctype((S))
+# endif
+
#endif // GLIBC 2.3 and later
--- gcc/libstdc++-v3/config/locale/uclibc/c_locale.cc.uclibc200no__x~ 2006-03-10 15:06:17 +0100
+++ gcc/libstdc++-v3/config/locale/uclibc/c_locale.cc 2006-03-10 15:32:37 +0100
@@ -39,20 +39,6 @@
#include <langinfo.h>
#include <bits/c++locale_internal.h>
-#ifndef __UCLIBC_HAS_XLOCALE__
-#define __strtol_l(S, E, B, L) strtol((S), (E), (B))
-#define __strtoul_l(S, E, B, L) strtoul((S), (E), (B))
-#define __strtoll_l(S, E, B, L) strtoll((S), (E), (B))
-#define __strtoull_l(S, E, B, L) strtoull((S), (E), (B))
-#define __strtof_l(S, E, L) strtof((S), (E))
-#define __strtod_l(S, E, L) strtod((S), (E))
-#define __strtold_l(S, E, L) strtold((S), (E))
-#warning should dummy __newlocale check for C|POSIX ?
-#define __newlocale(a, b, c) NULL
-#define __freelocale(a) ((void)0)
-#define __duplocale(a) __c_locale()
-#endif
-
namespace std
{
template<>
--- gcc/libstdc++-v3/config/locale/uclibc/collate_members.cc.uclibc200no__x~ 2006-03-10 15:06:17 +0100
+++ gcc/libstdc++-v3/config/locale/uclibc/collate_members.cc 2006-03-10 15:32:37 +0100
@@ -36,13 +36,6 @@
#include <locale>
#include <bits/c++locale_internal.h>
-#ifndef __UCLIBC_HAS_XLOCALE__
-#define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
-#define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
-#define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
-#define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
-#endif
-
namespace std
{
// These are basically extensions to char_traits, and perhaps should
--- gcc/libstdc++-v3/config/locale/uclibc/monetary_members.cc.uclibc200no__x~ 2006-03-10 15:06:17 +0100
+++ gcc/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2006-03-10 15:32:37 +0100
@@ -43,10 +43,6 @@
#warning tailor for stub locale support
#endif
-#ifndef __UCLIBC_HAS_XLOCALE__
-#define __nl_langinfo_l(N, L) nl_langinfo((N))
-#endif
-
namespace std
{
// Construct and return valid pattern consisting of some combination of:
--- gcc/libstdc++-v3/config/locale/uclibc/numeric_members.cc.uclibc200no__x~ 2006-03-10 15:06:17 +0100
+++ gcc/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2006-03-10 15:32:37 +0100
@@ -41,9 +41,6 @@
#ifdef __UCLIBC_MJN3_ONLY__
#warning tailor for stub locale support
#endif
-#ifndef __UCLIBC_HAS_XLOCALE__
-#define __nl_langinfo_l(N, L) nl_langinfo((N))
-#endif
namespace std
{
--- gcc/libstdc++-v3/config/locale/uclibc/time_members.cc.uclibc200no__x~ 2006-03-10 15:06:17 +0100
+++ gcc/libstdc++-v3/config/locale/uclibc/time_members.cc 2006-03-10 15:32:37 +0100
@@ -40,9 +40,6 @@
#ifdef __UCLIBC_MJN3_ONLY__
#warning tailor for stub locale support
#endif
-#ifndef __UCLIBC_HAS_XLOCALE__
-#define __nl_langinfo_l(N, L) nl_langinfo((N))
-#endif
namespace std
{
--- gcc/libstdc++-v3/config/locale/uclibc/ctype_members.cc.uclibc200no__x~ 2006-03-10 15:06:17 +0100
+++ gcc/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2006-03-10 15:32:37 +0100
@@ -38,13 +38,6 @@
#undef _LIBC
#include <bits/c++locale_internal.h>
-#ifndef __UCLIBC_HAS_XLOCALE__
-#define __wctype_l(S, L) wctype((S))
-#define __towupper_l(C, L) towupper((C))
-#define __towlower_l(C, L) towlower((C))
-#define __iswctype_l(C, M, L) iswctype((C), (M))
-#endif
-
namespace std
{
// NB: The other ctype<char> specializations are in src/locale.cc and
--- gcc/libstdc++-v3/config/locale/uclibc/messages_members.cc.uclibc200no__x~ 2006-03-10 15:06:17 +0100
+++ gcc/libstdc++-v3/config/locale/uclibc/messages_members.cc 2006-03-10 15:32:37 +0100
@@ -39,13 +39,10 @@
#ifdef __UCLIBC_MJN3_ONLY__
#warning fix gettext stuff
#endif
-#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-extern "C" char *__dcgettext(const char *domainname,
- const char *msgid, int category);
#undef gettext
-#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
+#define gettext(msgid) dcgettext(NULL, msgid, LC_MESSAGES)
#else
-#undef gettext
#define gettext(msgid) (msgid)
#endif
--- gcc/libstdc++-v3/config/locale/uclibc/messages_members.h.uclibc200no__x~ 2006-03-10 15:06:17 +0100
+++ gcc/libstdc++-v3/config/locale/uclibc/messages_members.h 2006-03-10 15:32:37 +0100
@@ -36,15 +36,11 @@
#ifdef __UCLIBC_MJN3_ONLY__
#warning fix prototypes for *textdomain funcs
#endif
-#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-extern "C" char *__textdomain(const char *domainname);
-extern "C" char *__bindtextdomain(const char *domainname,
- const char *dirname);
-#else
-#undef __textdomain
-#undef __bindtextdomain
-#define __textdomain(D) ((void)0)
-#define __bindtextdomain(D,P) ((void)0)
+#ifndef __UCLIBC_HAS_GETTEXT_AWARENESS__
+#undef textdomain
+#undef bindtextdomain
+#define textdomain(D) ((void)0)
+#define bindtextdomain(D,P) ((void)0)
#endif
// Non-virtual member functions.
@@ -70,7 +66,7 @@
messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
const char* __dir) const
{
- __bindtextdomain(__s.c_str(), __dir);
+ bindtextdomain(__s.c_str(), __dir);
return this->do_open(__s, __loc);
}
@@ -90,7 +86,7 @@
{
// No error checking is done, assume the catalog exists and can
// be used.
- __textdomain(__s.c_str());
+ textdomain(__s.c_str());
return 0;
}
--- gcc/libstdc++-v3/config/locale/uclibc/c_locale.h.uclibc200no__x~ 2006-03-10 15:06:17 +0100
+++ gcc/libstdc++-v3/config/locale/uclibc/c_locale.h 2006-03-10 15:32:37 +0100
@@ -68,6 +68,7 @@
{
extern "C" __typeof(uselocale) __uselocale;
}
+#define __uselocale uselocale
#endif
namespace std

View File

@ -1,48 +0,0 @@
--- gcc/libstdc++-v3/config/locale/uclibc/monetary_members.cc.uclibc200_wchar~ 2006-03-10 15:32:37 +0100
+++ gcc/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2006-03-10 15:37:27 +0100
@@ -401,7 +401,7 @@
# ifdef __UCLIBC_HAS_XLOCALE__
_M_data->_M_decimal_point = __cloc->decimal_point_wc;
_M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-# else
+# elif defined __UCLIBC_HAS_LOCALE__
_M_data->_M_decimal_point = __global_locale->decimal_point_wc;
_M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
# endif
@@ -556,7 +556,7 @@
# ifdef __UCLIBC_HAS_XLOCALE__
_M_data->_M_decimal_point = __cloc->decimal_point_wc;
_M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-# else
+# elif defined __UCLIBC_HAS_LOCALE__
_M_data->_M_decimal_point = __global_locale->decimal_point_wc;
_M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
# endif
--- gcc/libstdc++-v3/config/locale/uclibc/numeric_members.cc.uclibc200_wchar~ 2006-03-10 15:32:37 +0100
+++ gcc/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2006-03-10 15:37:27 +0100
@@ -127,12 +127,25 @@
{
// Named locale.
// NB: In the GNU model wchar_t is always 32 bit wide.
+#ifdef __UCLIBC_MJN3_ONLY__
+#warning fix this... should be numeric
+#endif
+#ifdef __UCLIBC__
+# ifdef __UCLIBC_HAS_XLOCALE__
+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
+# elif defined __UCLIBC_HAS_LOCALE__
+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
+# endif
+#else
union { char *__s; wchar_t __w; } __u;
__u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
_M_data->_M_decimal_point = __u.__w;
__u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
_M_data->_M_thousands_sep = __u.__w;
+#endif
if (_M_data->_M_thousands_sep == L'\0')
_M_data->_M_grouping = "";

View File

@ -1,347 +0,0 @@
--- gcc/libstdc++-v3/config/locale/uclibc/c_locale.cc.uclibc200_update~ 2006-03-10 15:32:37 +0100
+++ gcc/libstdc++-v3/config/locale/uclibc/c_locale.cc 2006-03-10 15:39:14 +0100
@@ -46,16 +47,13 @@
__convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
const __c_locale& __cloc)
{
- if (!(__err & ios_base::failbit))
- {
- char* __sanity;
- errno = 0;
- float __f = __strtof_l(__s, &__sanity, __cloc);
- if (__sanity != __s && errno != ERANGE)
- __v = __f;
- else
- __err |= ios_base::failbit;
- }
+ char* __sanity;
+ errno = 0;
+ float __f = __strtof_l(__s, &__sanity, __cloc);
+ if (__sanity != __s && errno != ERANGE)
+ __v = __f;
+ else
+ __err |= ios_base::failbit;
}
template<>
@@ -63,16 +61,13 @@
__convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
const __c_locale& __cloc)
{
- if (!(__err & ios_base::failbit))
- {
- char* __sanity;
- errno = 0;
- double __d = __strtod_l(__s, &__sanity, __cloc);
- if (__sanity != __s && errno != ERANGE)
- __v = __d;
- else
- __err |= ios_base::failbit;
- }
+ char* __sanity;
+ errno = 0;
+ double __d = __strtod_l(__s, &__sanity, __cloc);
+ if (__sanity != __s && errno != ERANGE)
+ __v = __d;
+ else
+ __err |= ios_base::failbit;
}
template<>
@@ -80,16 +75,13 @@
__convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
const __c_locale& __cloc)
{
- if (!(__err & ios_base::failbit))
- {
- char* __sanity;
- errno = 0;
- long double __ld = __strtold_l(__s, &__sanity, __cloc);
- if (__sanity != __s && errno != ERANGE)
- __v = __ld;
- else
- __err |= ios_base::failbit;
- }
+ char* __sanity;
+ errno = 0;
+ long double __ld = __strtold_l(__s, &__sanity, __cloc);
+ if (__sanity != __s && errno != ERANGE)
+ __v = __ld;
+ else
+ __err |= ios_base::failbit;
}
void
@@ -110,7 +102,7 @@
void
locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
{
- if (_S_get_c_locale() != __cloc)
+ if (__cloc && _S_get_c_locale() != __cloc)
__freelocale(__cloc);
}
--- gcc/libstdc++-v3/config/locale/uclibc/ctype_members.cc.uclibc200_update~ 2006-03-10 15:32:37 +0100
+++ gcc/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2006-03-10 15:39:14 +0100
@@ -33,9 +33,14 @@
// Written by Benjamin Kosnik <bkoz@redhat.com>
+#include <features.h>
+#ifdef __UCLIBC_HAS_LOCALE__
#define _LIBC
#include <locale>
#undef _LIBC
+#else
+#include <locale>
+#endif
#include <bits/c++locale_internal.h>
namespace std
@@ -138,20 +143,34 @@
ctype<wchar_t>::
do_is(mask __m, wchar_t __c) const
{
- // Highest bitmask in ctype_base == 10, but extra in "C"
- // library for blank.
+ // The case of __m == ctype_base::space is particularly important,
+ // due to its use in many istream functions. Therefore we deal with
+ // it first, exploiting the knowledge that on GNU systems _M_bit[5]
+ // is the mask corresponding to ctype_base::space. NB: an encoding
+ // change would not affect correctness!
bool __ret = false;
- const size_t __bitmasksize = 11;
- for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
- if (__m & _M_bit[__bitcur]
- && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
- {
- __ret = true;
- break;
- }
+ if (__m == _M_bit[5])
+ __ret = __iswctype_l(__c, _M_wmask[5], _M_c_locale_ctype);
+ else
+ {
+ // Highest bitmask in ctype_base == 10, but extra in "C"
+ // library for blank.
+ const size_t __bitmasksize = 11;
+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
+ if (__m & _M_bit[__bitcur])
+ {
+ if (__iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
+ {
+ __ret = true;
+ break;
+ }
+ else if (__m == _M_bit[__bitcur])
+ break;
+ }
+ }
return __ret;
}
-
+
const wchar_t*
ctype<wchar_t>::
do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
--- gcc/libstdc++-v3/config/locale/uclibc/messages_members.h.uclibc200_update~ 2006-03-10 15:32:37 +0100
+++ gcc/libstdc++-v3/config/locale/uclibc/messages_members.h 2006-03-10 15:39:14 +0100
@@ -47,18 +47,21 @@
template<typename _CharT>
messages<_CharT>::messages(size_t __refs)
: facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
- _M_name_messages(_S_get_c_name())
+ _M_name_messages(_S_get_c_name())
{ }
template<typename _CharT>
messages<_CharT>::messages(__c_locale __cloc, const char* __s,
size_t __refs)
- : facet(__refs), _M_c_locale_messages(_S_clone_c_locale(__cloc)),
- _M_name_messages(__s)
+ : facet(__refs), _M_c_locale_messages(NULL), _M_name_messages(NULL)
{
- char* __tmp = new char[std::strlen(__s) + 1];
- std::strcpy(__tmp, __s);
+ const size_t __len = std::strlen(__s) + 1;
+ char* __tmp = new char[__len];
+ std::memcpy(__tmp, __s, __len);
_M_name_messages = __tmp;
+
+ // Last to avoid leaking memory if new throws.
+ _M_c_locale_messages = _S_clone_c_locale(__cloc);
}
template<typename _CharT>
--- gcc/libstdc++-v3/config/locale/uclibc/monetary_members.cc.uclibc200_update~ 2006-03-10 15:37:27 +0100
+++ gcc/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2006-03-10 15:39:14 +0100
@@ -33,9 +33,14 @@
// Written by Benjamin Kosnik <bkoz@redhat.com>
+#include <features.h>
+#ifdef __UCLIBC_HAS_LOCALE__
#define _LIBC
#include <locale>
#undef _LIBC
+#else
+#include <locale>
+#endif
#include <bits/c++locale_internal.h>
#ifdef __UCLIBC_MJN3_ONLY__
@@ -206,7 +211,7 @@
}
break;
default:
- ;
+ __ret = pattern();
}
return __ret;
}
--- gcc/libstdc++-v3/config/locale/uclibc/numeric_members.cc.uclibc200_update~ 2006-03-10 15:37:27 +0100
+++ gcc/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2006-03-10 15:39:14 +0100
@@ -33,9 +33,14 @@
// Written by Benjamin Kosnik <bkoz@redhat.com>
+#include <features.h>
+#ifdef __UCLIBC_HAS_LOCALE__
#define _LIBC
#include <locale>
#undef _LIBC
+#else
+#include <locale>
+#endif
#include <bits/c++locale_internal.h>
#ifdef __UCLIBC_MJN3_ONLY__
--- gcc/libstdc++-v3/config/locale/uclibc/time_members.h.uclibc200_update~ 2006-03-10 15:06:17 +0100
+++ gcc/libstdc++-v3/config/locale/uclibc/time_members.h 2006-03-10 15:39:14 +0100
@@ -37,25 +37,33 @@
template<typename _CharT>
__timepunct<_CharT>::__timepunct(size_t __refs)
: facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
- _M_name_timepunct(_S_get_c_name())
+ _M_name_timepunct(_S_get_c_name())
{ _M_initialize_timepunct(); }
template<typename _CharT>
__timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
: facet(__refs), _M_data(__cache), _M_c_locale_timepunct(NULL),
- _M_name_timepunct(_S_get_c_name())
+ _M_name_timepunct(_S_get_c_name())
{ _M_initialize_timepunct(); }
template<typename _CharT>
__timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
size_t __refs)
: facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
- _M_name_timepunct(__s)
+ _M_name_timepunct(NULL)
{
- char* __tmp = new char[std::strlen(__s) + 1];
- std::strcpy(__tmp, __s);
+ const size_t __len = std::strlen(__s) + 1;
+ char* __tmp = new char[__len];
+ std::memcpy(__tmp, __s, __len);
_M_name_timepunct = __tmp;
- _M_initialize_timepunct(__cloc);
+
+ try
+ { _M_initialize_timepunct(__cloc); }
+ catch(...)
+ {
+ delete [] _M_name_timepunct;
+ __throw_exception_again;
+ }
}
template<typename _CharT>
--- gcc-4.2/libstdc++-v3/config/locale/uclibc/c_locale.h.old 2006-09-28 11:39:00.000000000 +0200
+++ gcc-4.2/libstdc++-v3/config/locale/uclibc/c_locale.h 2006-09-28 12:10:41.000000000 +0200
@@ -39,21 +39,23 @@
#pragma GCC system_header
#include <cstring> // get std::strlen
-#include <cstdio> // get std::snprintf or std::sprintf
+#include <cstdio> // get std::vsnprintf or std::vsprintf
#include <clocale>
#include <langinfo.h> // For codecvt
#ifdef __UCLIBC_MJN3_ONLY__
#warning fix this
#endif
-#ifdef __UCLIBC_HAS_LOCALE__
+#ifdef _GLIBCXX_USE_ICONV
#include <iconv.h> // For codecvt using iconv, iconv_t
#endif
-#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-#include <libintl.h> // For messages
+#ifdef HAVE_LIBINTL_H
+#include <libintl.h> // For messages
#endif
+#include <cstdarg>
#ifdef __UCLIBC_MJN3_ONLY__
#warning what is _GLIBCXX_C_LOCALE_GNU for
+// psm: used in os/gnu-linux/ctype_noninline.h
#endif
#define _GLIBCXX_C_LOCALE_GNU 1
@@ -62,7 +64,7 @@
#endif
// #define _GLIBCXX_NUM_CATEGORIES 6
#define _GLIBCXX_NUM_CATEGORIES 0
-
+
#ifdef __UCLIBC_HAS_XLOCALE__
namespace __gnu_cxx
{
@@ -79,22 +81,24 @@
typedef int* __c_locale;
#endif
- // Convert numeric value of type _Tv to string and return length of
- // string. If snprintf is available use it, otherwise fall back to
- // the unsafe sprintf which, in general, can be dangerous and should
+ // Convert numeric value of type double to string and return length of
+ // string. If vsnprintf is available use it, otherwise fall back to
+ // the unsafe vsprintf which, in general, can be dangerous and should
// be avoided.
- template<typename _Tv>
- int
- __convert_from_v(char* __out,
- const int __size __attribute__ ((__unused__)),
- const char* __fmt,
-#ifdef __UCLIBC_HAS_XCLOCALE__
- _Tv __v, const __c_locale& __cloc, int __prec)
+ inline int
+ __convert_from_v(const __c_locale&
+#ifndef __UCLIBC_HAS_XCLOCALE__
+ __cloc __attribute__ ((__unused__))
+#endif
+ ,
+ char* __out,
+ const int __size,
+ const char* __fmt, ...)
{
+ va_list __args;
+#ifdef __UCLIBC_HAS_XCLOCALE__
__c_locale __old = __gnu_cxx::__uselocale(__cloc);
#else
- _Tv __v, const __c_locale&, int __prec)
- {
# ifdef __UCLIBC_HAS_LOCALE__
char* __old = std::setlocale(LC_ALL, NULL);
char* __sav = new char[std::strlen(__old) + 1];
@@ -103,7 +107,9 @@
# endif
#endif
- const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
+ va_start(__args, __fmt);
+ const int __ret = std::vsnprintf(__out, __size, __fmt, __args);
+ va_end(__args);
#ifdef __UCLIBC_HAS_XCLOCALE__
__gnu_cxx::__uselocale(__old);

View File

@ -1,46 +0,0 @@
# DP: Build and install libstdc++_pic.a library.
--- gcc-4.1.0/libstdc++-v3/src/Makefile.am 2004-11-15 17:33:05.000000000 -0600
+++ gcc-4.1.0-patched/libstdc++-v3/src/Makefile.am 2005-04-25 20:05:59.186930896 -0500
@@ -214,6 +214,10 @@
$(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LDFLAGS) -o $@
+install-exec-local:
+ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o
+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
+
# Added bits to build debug library.
if GLIBCXX_BUILD_DEBUG
all-local: build_debug
--- gcc-4.1.0/libstdc++-v3/src/Makefile.in 2005-04-11 19:13:08.000000000 -0500
+++ gcc-4.1.0-patched/libstdc++-v3/src/Makefile.in 2005-04-25 20:12:33.284316275 -0500
@@ -627,7 +627,7 @@
install-data-am: install-data-local
-install-exec-am: install-toolexeclibLTLIBRARIES
+install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
install-info: install-info-am
@@ -660,6 +660,7 @@
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-data-local install-exec \
+ install-exec-local \
install-exec-am install-info install-info-am install-man \
install-strip install-toolexeclibLTLIBRARIES installcheck \
installcheck-am installdirs maintainer-clean \
@@ -745,6 +746,11 @@
install_debug:
(cd ${debugdir} && $(MAKE) \
toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
+
+install-exec-local:
+ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o
+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,11 +0,0 @@
--- gcc-4.0.0/boehm-gc/include/gc.h-orig 2005-04-28 22:28:57.000000000 -0500
+++ gcc-4.0.0/boehm-gc/include/gc.h 2005-04-28 22:30:38.000000000 -0500
@@ -500,7 +500,7 @@
#ifdef __linux__
# include <features.h>
# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
- && !defined(__ia64__)
+ && !defined(__ia64__) && !defined(__UCLIBC__)
# ifndef GC_HAVE_BUILTIN_BACKTRACE
# define GC_HAVE_BUILTIN_BACKTRACE
# endif

View File

@ -1,11 +0,0 @@
--- gcc-4.0.0/libstdc++-v3/include/c_std/std_cstdio.h-orig 2005-04-29 00:08:41.000000000 -0500
+++ gcc-4.0.0/libstdc++-v3/include/c_std/std_cstdio.h 2005-04-29 00:08:45.000000000 -0500
@@ -142,7 +142,7 @@
using ::vsprintf;
}
-#if _GLIBCXX_USE_C99
+#if _GLIBCXX_USE_C99 || defined(__UCLIBC__)
#undef snprintf
#undef vfscanf

View File

@ -1,12 +0,0 @@
--- gcc-4.0.0/libstdc++-v3/configure-old 2005-04-30 22:04:48.061603912 -0500
+++ gcc-4.0.0/libstdc++-v3/configure 2005-04-30 22:06:13.678588152 -0500
@@ -7194,6 +7194,9 @@
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <complex.h>
+#ifdef __UCLIBC__
+#error ugly hack to make sure configure test fails here for cross until uClibc supports the complex funcs
+#endif
int
main ()
{

View File

@ -1,24 +0,0 @@
--- gcc-4.1.0/libstdc++-v3/include/ext/rope.mps 2006-03-24 01:49:51 +0100
+++ gcc-4.1.0/libstdc++-v3/include/ext/rope 2006-03-24 01:49:37 +0100
@@ -59,6 +59,9 @@
#include <bits/allocator.h>
#include <ext/hash_fun.h>
+/* cope w/ index defined as macro, SuSv3 proposal */
+#undef index
+
# ifdef __GC
# define __GC_CONST const
# else
--- gcc-4.1.0/libstdc++-v3/include/ext/ropeimpl.h.mps 2006-03-24 01:50:04 +0100
+++ gcc-4.1.0/libstdc++-v3/include/ext/ropeimpl.h 2006-03-24 01:50:28 +0100
@@ -53,6 +53,9 @@
#include <ext/memory> // For uninitialized_copy_n
#include <ext/numeric> // For power
+/* cope w/ index defined as macro, SuSv3 proposal */
+#undef index
+
_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
using std::size_t;

View File

@ -1,49 +0,0 @@
Index: gcc-4.2/libmudflap/mf-hooks2.c
===================================================================
--- gcc-4.2/libmudflap/mf-hooks2.c (revision 119834)
+++ gcc-4.2/libmudflap/mf-hooks2.c (working copy)
@@ -427,7 +427,7 @@
{
TRACE ("%s\n", __PRETTY_FUNCTION__);
MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region");
- bzero (s, n);
+ memset (s, 0, n);
}
@@ -437,7 +437,7 @@
TRACE ("%s\n", __PRETTY_FUNCTION__);
MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src");
MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest");
- bcopy (src, dest, n);
+ memmove (dest, src, n);
}
@@ -447,7 +447,7 @@
TRACE ("%s\n", __PRETTY_FUNCTION__);
MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg");
MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg");
- return bcmp (s1, s2, n);
+ return n == 0 ? 0 : memcmp (s1, s2, n);
}
@@ -456,7 +456,7 @@
size_t n = strlen (s);
TRACE ("%s\n", __PRETTY_FUNCTION__);
MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region");
- return index (s, c);
+ return strchr (s, c);
}
@@ -465,7 +465,7 @@
size_t n = strlen (s);
TRACE ("%s\n", __PRETTY_FUNCTION__);
MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region");
- return rindex (s, c);
+ return strrchr (s, c);
}
/* XXX: stpcpy, memccpy */

View File

@ -1,36 +0,0 @@
diff -rup gcc-4.2.orig/libstdc++-v3/config/locale/uclibc/messages_members.h gcc-4.2/libstdc++-v3/config/locale/uclibc/messages_members.h
--- gcc-4.2.orig/libstdc++-v3/config/locale/uclibc/messages_members.h 2006-12-22 13:06:56.000000000 +0100
+++ gcc-4.2/libstdc++-v3/config/locale/uclibc/messages_members.h 2006-12-22 15:23:41.000000000 +0100
@@ -32,7 +32,8 @@
//
// Written by Benjamin Kosnik <bkoz@redhat.com>
-
+namespace std
+{
#ifdef __UCLIBC_MJN3_ONLY__
#warning fix prototypes for *textdomain funcs
#endif
@@ -115,3 +116,4 @@
this->_S_create_c_locale(this->_M_c_locale_messages, __s);
}
}
+}
diff -rup gcc-4.2.orig/libstdc++-v3/config/locale/uclibc/time_members.h gcc-4.2/libstdc++-v3/config/locale/uclibc/time_members.h
--- gcc-4.2.orig/libstdc++-v3/config/locale/uclibc/time_members.h 2006-12-22 13:06:56.000000000 +0100
+++ gcc-4.2/libstdc++-v3/config/locale/uclibc/time_members.h 2006-12-22 15:20:31.000000000 +0100
@@ -33,7 +33,8 @@
//
// Written by Benjamin Kosnik <bkoz@redhat.com>
-
+namespace std
+{
template<typename _CharT>
__timepunct<_CharT>::__timepunct(size_t __refs)
: facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
@@ -74,3 +75,4 @@
delete _M_data;
_S_destroy_c_locale(_M_c_locale_timepunct);
}
+}

View File

@ -1,26 +0,0 @@
This patch fixes a bug into ostream::operator<<(double) due to the wrong size
passed into the __convert_from_v method. The wrong size is then passed to
std::snprintf function, that, on uClibc, doens't handle sized 0 buffer.
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
--- gcc-4.2.1/libstdc++-v3/include/bits/locale_facets.tcc 2006-10-17 18:43:47.000000000 +0200
+++ gcc-4.2.1-st/libstdc++-v3/include/bits/locale_facets.tcc 2007-08-22 18:54:23.000000000 +0200
@@ -1143,7 +1143,7 @@ _GLIBCXX_BEGIN_LDBL_NAMESPACE
const int __cs_size = __fixed ? __max_exp + __prec + 4
: __max_digits * 2 + __prec;
char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
- __len = std::__convert_from_v(_S_get_c_locale(), __cs, 0, __fbuf,
+ __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, __fbuf,
__prec, __v);
#endif
@@ -1777,7 +1777,7 @@ _GLIBCXX_BEGIN_LDBL_NAMESPACE
// max_exponent10 + 1 for the integer part, + 2 for sign and '\0'.
const int __cs_size = numeric_limits<long double>::max_exponent10 + 3;
char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
- int __len = std::__convert_from_v(_S_get_c_locale(), __cs, 0, "%.*Lf",
+ int __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size, "%.*Lf",
0, __units);
#endif
string_type __digits(__len, char_type());

View File

@ -1,13 +0,0 @@
Index: gcc-4.2/gcc/Makefile.in
===================================================================
--- gcc-4.2/gcc/Makefile.in (revision 121758)
+++ gcc-4.2/gcc/Makefile.in (working copy)
@@ -2658,7 +2658,7 @@ mips-tdump.o : mips-tdump.c $(CONFIG_H)
# FIXME: writing proper dependencies for this is a *LOT* of work.
libbackend.o : $(OBJS-common:.o=.c) $(out_file) \
insn-config.h insn-flags.h insn-codes.h insn-constants.h \
- insn-attr.h $(DATESTAMP) $(BASEVER) $(DEVPHASE)
+ insn-attr.h $(DATESTAMP) $(BASEVER) $(DEVPHASE) gcov-iov.h
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
-DTARGET_NAME=\"$(target_noncanonical)\" \
-DLOCALEDIR=\"$(localedir)\" \

View File

@ -1,20 +0,0 @@
--- gcc-4.1.0/libstdc++-v3/fragment.am 2005-03-21 11:40:14.000000000 -0600
+++ gcc-4.1.0-patched/libstdc++-v3/fragment.am 2005-04-25 20:14:39.856251785 -0500
@@ -21,5 +21,5 @@
$(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once
# -I/-D flags to pass when compiling.
-AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
+AM_CPPFLAGS = $(GLIBCXX_INCLUDES) -I$(toplevel_srcdir)/include
--- gcc-4.1.0/libstdc++-v3/libmath/Makefile.am 2005-03-21 11:40:18.000000000 -0600
+++ gcc-4.1.0-patched/libstdc++-v3/libmath/Makefile.am 2005-04-25 20:14:39.682280735 -0500
@@ -35,7 +35,7 @@
libmath_la_SOURCES = stubs.c
-AM_CPPFLAGS = $(CANADIAN_INCLUDES)
+AM_CPPFLAGS = $(CANADIAN_INCLUDES) -I$(toplevel_srcdir)/include
# Only compiling "C" sources in this directory.
LIBTOOL = @LIBTOOL@ --tag CC

View File

@ -1,25 +0,0 @@
http://sourceforge.net/mailarchive/forum.php?thread_id=8959304&forum_id=5348
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24836
--- gcc/gcc/configure.ac (revision 106699)
+++ gcc/gcc/configure.ac (working copy)
@@ -2446,7 +2446,7 @@
tls_first_minor=14
tls_as_opt="-m64 -Aesame --fatal-warnings"
;;
- sh-*-* | sh[34]-*-*)
+ sh-*-* | sh[34]*-*-*)
conftest_s='
.section ".tdata","awT",@progbits
foo: .long 25
--- gcc/gcc/configure
+++ gcc/gcc/configure
@@ -14846,7 +14846,7 @@
tls_first_minor=14
tls_as_opt="-m64 -Aesame --fatal-warnings"
;;
- sh-*-* | sh[34]-*-*)
+ sh-*-* | sh[34]*-*-*)
conftest_s='
.section ".tdata","awT",@progbits
foo: .long 25

View File

@ -1,67 +0,0 @@
By Lennert Buytenhek <buytenh@wantstofly.org>
Adds support for arm*b-linux* big-endian ARM targets
See http://gcc.gnu.org/PR16350
--- gcc-4.2.0/gcc/config/arm/linux-elf.h
+++ gcc-4.2.0/gcc/config/arm/linux-elf.h
@@ -28,19 +28,33 @@
#undef TARGET_VERSION
#define TARGET_VERSION fputs (" (ARM GNU/Linux with ELF)", stderr);
+/*
+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
+ * (big endian) configurations.
+ */
+#if TARGET_BIG_ENDIAN_DEFAULT
+#define TARGET_ENDIAN_DEFAULT MASK_BIG_END
+#define TARGET_ENDIAN_OPTION "mbig-endian"
+#define TARGET_LINKER_EMULATION "armelfb_linux"
+#else
+#define TARGET_ENDIAN_DEFAULT 0
+#define TARGET_ENDIAN_OPTION "mlittle-endian"
+#define TARGET_LINKER_EMULATION "armelf_linux"
+#endif
+
#undef TARGET_DEFAULT_FLOAT_ABI
#define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD
#undef TARGET_DEFAULT
-#define TARGET_DEFAULT (0)
+#define TARGET_DEFAULT (TARGET_ENDIAN_DEFAULT)
#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
-#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
#undef MULTILIB_DEFAULTS
#define MULTILIB_DEFAULTS \
- { "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" }
+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mno-thumb-interwork" }
/* Now we define the strings used to build the spec file. */
#undef LIB_SPEC
@@ -61,7 +75,7 @@
%{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "} \
-X \
- %{mbig-endian:-EB}" \
+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
SUBTARGET_EXTRA_LINK_SPEC
#undef LINK_SPEC
--- gcc-4.2.0/gcc/config.gcc.orig 2006-09-22 14:53:41.000000000 +0200
+++ gcc-4.2.0/gcc/config.gcc 2006-09-25 10:45:21.000000000 +0200
@@ -696,6 +696,11 @@
tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
tmake_file="${tmake_file} t-linux arm/t-arm"
case ${target} in
+ arm*b-*)
+ tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
+ ;;
+ esac
+ case ${target} in
arm*-*-linux-*eabi)
tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"

View File

@ -1,14 +0,0 @@
Index: gcc-4.1.1/gcc/config/arm/linux-eabi.h
===================================================================
--- gcc-4.1.1.orig/gcc/config/arm/linux-eabi.h 2007-02-20 14:51:33.416193250 +0100
+++ gcc-4.1.1/gcc/config/arm/linux-eabi.h 2007-02-20 14:52:11.622581000 +0100
@@ -48,7 +48,8 @@
#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
#undef SUBTARGET_EXTRA_LINK_SPEC
-#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux_eabi"
+#define SUBTARGET_EXTRA_LINK_SPEC \
+ " %{mbig-endian:-m armelfb_linux_eabi} %{mlittle-endian:-m armelf_linux_eabi} "
/* Use ld-linux.so.3 so that it will be possible to run "classic"
GNU/Linux binaries on an EABI system. */

View File

@ -1,153 +0,0 @@
Hi,
The attached patch makes sure that we create smaller object code for
simple switch statements. We just make sure to flatten the switch
statement into an if-else chain, basically.
This fixes a size-regression as compared to gcc-3.4, as can be seen
below.
2007-04-15 Bernhard Fischer <..>
* stmt.c (expand_case): Do not create a complex binary tree when
optimizing for size but rather use the simple ordered list.
(emit_case_nodes): do not emit jumps to the default_label when
optimizing for size.
Not regtested so far.
Comments?
Attached is the test switch.c mentioned below.
$ for i in 2.95 3.3 3.4 4.0 4.1 4.2.orig-HEAD 4.3.orig-HEAD 4.3-HEAD;do
gcc-$i -DCHAIN -Os -o switch-CHAIN-$i.o -c switch.c ;done
$ for i in 2.95 3.3 3.4 4.0 4.1 4.2.orig-HEAD 4.3.orig-HEAD 4.3-HEAD;do
gcc-$i -UCHAIN -Os -o switch-$i.o -c switch.c ;done
$ size switch-*.o
text data bss dec hex filename
169 0 0 169 a9 switch-2.95.o
115 0 0 115 73 switch-3.3.o
103 0 0 103 67 switch-3.4.o
124 0 0 124 7c switch-4.0.o
124 0 0 124 7c switch-4.1.o
124 0 0 124 7c switch-4.2.orig-HEAD.o
95 0 0 95 5f switch-4.3-HEAD.o
124 0 0 124 7c switch-4.3.orig-HEAD.o
166 0 0 166 a6 switch-CHAIN-2.95.o
111 0 0 111 6f switch-CHAIN-3.3.o
95 0 0 95 5f switch-CHAIN-3.4.o
95 0 0 95 5f switch-CHAIN-4.0.o
95 0 0 95 5f switch-CHAIN-4.1.o
95 0 0 95 5f switch-CHAIN-4.2.orig-HEAD.o
95 0 0 95 5f switch-CHAIN-4.3-HEAD.o
95 0 0 95 5f switch-CHAIN-4.3.orig-HEAD.o
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="gcc-4.3.gcc-flatten-switch-stmt.00.diff"
Index: gcc-4.2.0/gcc/stmt.c
===================================================================
--- gcc-4.2.0.orig/gcc/stmt.c (revision 123843)
+++ gcc-4.2.0/gcc/stmt.c (working copy)
@@ -2517,7 +2517,11 @@ expand_case (tree exp)
use_cost_table
= (TREE_CODE (orig_type) != ENUMERAL_TYPE
&& estimate_case_costs (case_list));
- balance_case_nodes (&case_list, NULL);
+ /* When optimizing for size, we want a straight list to avoid
+ jumps as much as possible. This basically creates an if-else
+ chain. */
+ if (!optimize_size)
+ balance_case_nodes (&case_list, NULL);
emit_case_nodes (index, case_list, default_label, index_type);
emit_jump (default_label);
}
@@ -3075,6 +3079,7 @@ emit_case_nodes (rtx index, case_node_pt
{
if (!node_has_low_bound (node, index_type))
{
+ if (!optimize_size) /* don't jl to the .default_label. */
emit_cmp_and_jump_insns (index,
convert_modes
(mode, imode,
Content-Type: text/x-csrc; charset=us-ascii
Content-Disposition: attachment; filename="switch.c"
int
commutative_tree_code (int code)
{
#define CASE(val, ret) case val:/* __asm__("# val="#val ",ret="#ret);*/ return ret;
#ifndef CHAIN
switch (code)
{
# if 1
CASE(1,3)
CASE(3,2)
CASE(5,8)
CASE(7,1)
CASE(33,4)
CASE(44,9)
CASE(55,10)
CASE(66,-1)
CASE(77,99)
CASE(666,0)
# else
case 1:
return 3;
case 3:
return 2;
case 5:
return 8;
case 7:
return 1;
case 33:
return 4;
case 44:
return 9;
case 55:
return 10;
case 66:
return -1;
case 77:
return 99;
case 666:
return 0;
# endif
default:
break;
}
return 4711;
#else
if (code == 1)
return 3;
else if (code == 3)
return 2;
else if (code == 5)
return 8;
else if (code == 7)
return 1;
else if (code == 33)
return 4;
else if (code == 44)
return 9;
else if (code == 55)
return 10;
else if (code == 66)
return -1;
else if (code == 77)
return 99;
else if (code == 666)
return 0;
else
return 4711;
#endif
}
--AhhlLboLdkugWU4S--

View File

@ -1,24 +0,0 @@
# Dimitry Andric <dimitry@andric.com>, 2004-05-01
#
# * Removed the extra -lfloat option from LIBGCC_SPEC, since it isn't needed
# anymore. (The required functions are now in libgcc.)
#
# Fixes errors like
# arm-softfloat-linux-gnu/3.4.0/../../../../arm-softfloat-linux-gnu/bin/ld: cannot find -lfloat
# collect2: ld returned 1 exit status
# make[2]: *** [arm-softfloat-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/iconvdata/ISO8859-1.so] Error 1
# when building glibc-2.3.3 with gcc-3.4.0 for arm-softfloat
Index: gcc-4.0.2/gcc/config/arm/linux-elf.h
===================================================================
--- gcc-4.0.2.orig/gcc/config/arm/linux-elf.h 2005-03-04 16:14:01.000000000 +0000
+++ gcc-4.0.2/gcc/config/arm/linux-elf.h 2005-11-11 18:02:54.000000000 +0000
@@ -56,7 +56,7 @@
%{shared:-lc} \
%{!shared:%{profile:-lc_p}%{!profile:-lc}}"
-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
+#define LIBGCC_SPEC "-lgcc"
/* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
the GNU/Linux magical crtbegin.o file (see crtstuff.c) which

View File

@ -1,16 +0,0 @@
Index: gcc-4.0.2/gcc/config/arm/t-linux
===================================================================
--- gcc-4.0.2.orig/gcc/config/arm/t-linux 2004-05-15 12:41:35.000000000 +0000
+++ gcc-4.0.2/gcc/config/arm/t-linux 2005-11-11 16:07:53.000000000 +0000
@@ -4,7 +4,10 @@
LIBGCC2_DEBUG_CFLAGS = -g0
LIB1ASMSRC = arm/lib1funcs.asm
-LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
+LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
+ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
+ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
+ _fixsfsi _fixunssfsi _floatdidf _floatdisf _floatundisf _floatundidf
# MULTILIB_OPTIONS = mhard-float/msoft-float
# MULTILIB_DIRNAMES = hard-float soft-float

View File

@ -1,29 +0,0 @@
--- gcc-4.1.1/gcc/config/arm/linux-gas.h- 2005-06-25 03:22:41.000000000 +0200
+++ gcc-4.1.1/gcc/config/arm/linux-gas.h 2006-06-18 10:23:46.000000000 +0200
@@ -44,6 +44,7 @@
/* Clear the instruction cache from `beg' to `end'. This makes an
inline system call to SYS_cacheflush. */
+#if !defined(__thumb__)
#define CLEAR_INSN_CACHE(BEG, END) \
{ \
register unsigned long _beg __asm ("a1") = (unsigned long) (BEG); \
@@ -53,3 +54,18 @@
: "=r" (_beg) \
: "0" (_beg), "r" (_end), "r" (_flg)); \
}
+#else
+#define CLEAR_INSN_CACHE(BEG, END) \
+{ \
+ register unsigned long _beg __asm ("a1") = (unsigned long) (BEG); \
+ register unsigned long _end __asm ("a2") = (unsigned long) (END); \
+ register unsigned long _flg __asm ("a3") = 0; \
+ register unsigned long _swi __asm ("a4") = 0xf0002; \
+ __asm __volatile ("push {r7}\n" \
+ " mov r7,a4\n" \
+ " swi 0 @ sys_cacheflush\n" \
+ " pop {r7}\n" \
+ : "=r" (_beg) \
+ : "0" (_beg), "r" (_end), "r" (_flg), "r" (_swi)); \
+}
+#endif

View File

@ -1,64 +0,0 @@
#
# Patch managed by http://www.holgerschurig.de/patcher.html
#
--- gcc-4.1.1/gcc/config/arm/lib1funcs.asm~gcc
+++ gcc-4.1.1/gcc/config/arm/lib1funcs.asm
@@ -995,10 +995,24 @@
.code 32
FUNC_START div0
+#if ! defined __thumb__
stmfd sp!, {r1, lr}
mov r0, #SIGFPE
bl SYM(raise) __PLT__
RETLDM r1
+#else
+ push {r1, lr}
+ mov r0, #SIGFPE
+ bl SYM(raise) __PLT__
+#if __ARM_ARCH__ > 4
+ pop {r1, pc}
+#else
+ @ on 4T that won't work
+ pop {r1}
+ pop {r3}
+ bx r3
+#endif
+#endif
FUNC_END div0
@@ -1141,11 +1155,12 @@
code here switches to the correct mode before executing the function. */
.text
- .align 0
+ .align 1
.force_thumb
.macro call_via register
THUMB_FUNC_START _call_via_\register
+ .hidden SYM (_call_via_\register)
bx \register
nop
@@ -1242,6 +1257,7 @@
.code 16
THUMB_FUNC_START _interwork_call_via_\register
+ .hidden SYM (_interwork_call_via_\register)
bx pc
nop
--- gcc-4.1.1/gcc/config/arm/t-linux~gcc
+++ gcc-4.1.1/gcc/config/arm/t-linux
@@ -7,6 +7,7 @@
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
_negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
_truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
+ _call_via_rX \
_fixsfsi _fixunssfsi _floatdidf _floatdisf _floatundisf _floatundidf
# MULTILIB_OPTIONS = mhard-float/msoft-float

View File

@ -1,13 +0,0 @@
diff --git a/gcc/configure b/gcc/configure
index 44620ab..6e1830c 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -12272,7 +12272,7 @@ else
esac
saved_CFLAGS="${CFLAGS}"
CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
- ${realsrcdir}/configure \
+ CONFIG_SITE= ${realsrcdir}/configure --cache-file=./other.cache \
--enable-languages=${enable_languages-all} \
--target=$target_alias --host=$build_alias --build=$build_alias
CFLAGS="${saved_CFLAGS}"

View File

@ -1,78 +0,0 @@
#! /bin/sh -e
# DP: - When running the ACATS, look for the gnat tools in their new
# DP: directory (build/gnattools), and for the shared libraries in
# DP: build/gcc/ada/rts, build/libgnatvsn and build/libgnatprj.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- gcc/testsuite/ada/acats/run_acats~
+++ gcc/testsuite/ada/acats/run_acats 2006-04-22 08:57:50.933824704 +0200
@@ -11,23 +11,42 @@
host_gnatmake=`type gnatmake | awk '{print $3}'`
ROOT=`${PWDCMD-pwd}`
BASE=`cd $ROOT/../../..; ${PWDCMD-pwd}`
-
-PATH=$BASE:$ROOT:$PATH
-ADA_INCLUDE_PATH=$BASE/ada/rts
+GNATTOOLS=`cd $BASE/../gnattools; ${PWDCMD-pwd}`
+LIBGNATVSN=`cd $BASE/../libgnatvsn; ${PWDCMD-pwd}`
+LIBGNATPRJ=`cd $BASE/../libgnatprj; ${PWDCMD-pwd}`
+
+PATH=$GNATTOOLS:$BASE:$ROOT:$PATH
+ADA_INCLUDE_DIR=$BASE/ada/rts
+ADA_INCLUDE_PATH=$ADA_INCLUDE_DIR:$LIBGNATVSN:$LIBGNATPRJ
LD_LIBRARY_PATH=$ADA_INCLUDE_PATH:$BASE:$LD_LIBRARY_PATH
ADA_OBJECTS_PATH=$ADA_INCLUDE_PATH
-if [ ! -d $ADA_INCLUDE_PATH ]; then
+if [ ! -d $ADA_INCLUDE_DIR ]; then
echo gnatlib missing, exiting.
exit 1
fi
-if [ ! -f $BASE/gnatchop ]; then
+if [ ! -d $GNATTOOLS ]; then
+ echo gnattools missing, exiting.
+ exit 1
+fi
+
+if [ ! -d $LIBGNATVSN ]; then
+ echo libgnatvsn missing, exiting.
+ exit 1
+fi
+
+if [ ! -d $LIBGNATPRJ ]; then
+ echo libgnatprj missing, exiting.
+ exit 1
+fi
+
+if [ ! -f $GNATTOOLS/gnatchop ]; then
echo gnattools missing, exiting.
exit 1
fi
-if [ ! -f $BASE/gnatmake ]; then
+if [ ! -f $GNATTOOLS/gnatmake ]; then
echo gnattools missing, exiting.
exit 1
fi

View File

@ -1,88 +0,0 @@
#! /bin/sh -e
# DP: Fix GNAT on alpha.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
2008-04-01 Aurelien Jarno <aurelien@aurel32.net>
* s-osinte-linux-alpha.ads (SC_NPROCESSORS_ONLN): New constant
for sysconf call.
(bit_field): New packed boolean type used by cpu_set_t.
(cpu_set_t): New type corresponding to the C type with
the same name. Note that on the Ada side we use a bit
field array for the affinity mask. There is not need
for the C macro for setting individual bit.
(pthread_setaffinity_np): New imported routine.
Index: gcc/ada/s-osinte-linux-alpha.ads
===================================================================
--- gcc/ada/s-osinte-linux-alpha.ads (révision 133772)
+++ gcc/ada/s-osinte-linux-alpha.ads (copie de travail)
@@ -237,6 +237,7 @@
pragma Import (C, sysconf);
SC_CLK_TCK : constant := 2;
+ SC_NPROCESSORS_ONLN : constant := 84;
-------------------------
-- Priority Scheduling --
@@ -268,6 +269,7 @@
type Thread_Body is access
function (arg : System.Address) return System.Address;
+ pragma Convention (C, Thread_Body);
function Thread_Body_Access is new
Unchecked_Conversion (System.Address, Thread_Body);
@@ -448,12 +450,31 @@
pragma Import (C, pthread_getspecific, "pthread_getspecific");
type destructor_pointer is access procedure (arg : System.Address);
+ pragma Convention (C, destructor_pointer);
function pthread_key_create
(key : access pthread_key_t;
destructor : destructor_pointer) return int;
pragma Import (C, pthread_key_create, "pthread_key_create");
+ CPU_SETSIZE : constant := 1_024;
+
+ type bit_field is array (1 .. CPU_SETSIZE) of Boolean;
+ for bit_field'Size use CPU_SETSIZE;
+ pragma Pack (bit_field);
+ pragma Convention (C, bit_field);
+
+ type cpu_set_t is record
+ bits : bit_field;
+ end record;
+ pragma Convention (C, cpu_set_t);
+
+ function pthread_setaffinity_np
+ (thread : pthread_t;
+ cpusetsize : size_t;
+ cpuset : access cpu_set_t) return int;
+ pragma Import (C, pthread_setaffinity_np, "__gnat_pthread_setaffinity_np");
+
private
type sigset_t is record

View File

@ -1,147 +0,0 @@
#! /bin/sh -e
# DP: - Change the default search path for project files to the one specified
# DP: by the Debian Policy for Ada: /usr/share/ada/adainclude.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
Index: gcc/ada/Make-lang.in
===================================================================
--- gcc/ada/Make-lang.in.orig
+++ gcc/ada/Make-lang.in
@@ -974,7 +974,7 @@
$(ECHO) " S1 : constant String := \"$(ADA_INCLUDE_DIR)/\";" >>tmp-sdefault.adb
$(ECHO) " S2 : constant String := \"$(ADA_RTL_OBJ_DIR)/\";" >>tmp-sdefault.adb
$(ECHO) " S3 : constant String := \"$(target)/\";" >>tmp-sdefault.adb
- $(ECHO) " S4 : constant String := \"$(libsubdir)/\";" >>tmp-sdefault.adb
+ $(ECHO) " S4 : constant String := \"/usr/share/ada/adainclude/\";" >>tmp-sdefault.adb
$(ECHO) " function Include_Dir_Default_Name return String_Ptr is" >>tmp-sdefault.adb
$(ECHO) " begin" >>tmp-sdefault.adb
$(ECHO) " return Relocate_Path (S0, S1);" >>tmp-sdefault.adb
Index: gcc/ada/prj-ext.adb
===================================================================
--- gcc/ada/prj-ext.adb.orig
+++ gcc/ada/prj-ext.adb
@@ -24,7 +24,6 @@
------------------------------------------------------------------------------
with Hostparm;
-with Makeutl; use Makeutl;
with Output; use Output;
with Osint; use Osint;
with Sdefault;
@@ -254,38 +253,10 @@
-- Set the initial value of Current_Project_Path
- if Add_Default_Dir then
- declare
- Prefix : String_Ptr := Sdefault.Search_Dir_Prefix;
- begin
- if Prefix = null then
- Prefix := new String'(Executable_Prefix_Path);
-
- if Prefix.all /= "" then
- if Get_Mode = Ada_Only then
- Current_Project_Path :=
- new String'(Name_Buffer (1 .. Name_Len) &
- Path_Separator &
- Prefix.all & Directory_Separator & "gnat");
-
- else
- Current_Project_Path :=
- new String'(Name_Buffer (1 .. Name_Len) &
- Path_Separator &
- Prefix.all & Directory_Separator &
- "share" & Directory_Separator & "gpr");
- end if;
- end if;
-
- else
- Current_Project_Path :=
- new String'(Name_Buffer (1 .. Name_Len) & Path_Separator &
- Prefix.all &
- ".." & Directory_Separator &
- ".." & Directory_Separator &
- ".." & Directory_Separator & "gnat");
- end if;
- end;
+ if Add_Default_Dir and Sdefault.Search_Dir_Prefix /= null then
+ Current_Project_Path :=
+ new String'(Name_Buffer (1 .. Name_Len) & Path_Separator &
+ Sdefault.Search_Dir_Prefix.all);
end if;
if Current_Project_Path = null then
Index: gcc/ada/gnatls.adb
===================================================================
--- gcc/ada/gnatls.adb.orig
+++ gcc/ada/gnatls.adb
@@ -1622,9 +1622,6 @@
declare
Project_Path : String_Access := Getenv (Gpr_Project_Path);
- Lib : constant String :=
- Directory_Separator & "lib" & Directory_Separator;
-
First : Natural;
Last : Natural;
@@ -1684,36 +1681,8 @@
if Add_Default_Dir then
Name_Len := 0;
Add_Str_To_Name_Buffer (Sdefault.Search_Dir_Prefix.all);
-
- -- On Windows, make sure that all directory separators are '\'
-
- if Directory_Separator /= '/' then
- for J in 1 .. Name_Len loop
- if Name_Buffer (J) = '/' then
- Name_Buffer (J) := Directory_Separator;
- end if;
- end loop;
- end if;
-
- -- Find the sequence "/lib/"
-
- while Name_Len >= Lib'Length
- and then Name_Buffer (Name_Len - 4 .. Name_Len) /= Lib
- loop
- Name_Len := Name_Len - 1;
- end loop;
-
- -- If the sequence "/lib"/ was found, display the default
- -- directory <prefix>/lib/gnat/.
-
- if Name_Len >= 5 then
- Name_Buffer (Name_Len + 1 .. Name_Len + 4) := "gnat";
- Name_Buffer (Name_Len + 5) := Directory_Separator;
- Name_Len := Name_Len + 5;
- Write_Str (" ");
- Write_Line
- (To_Host_Dir_Spec (Name_Buffer (1 .. Name_Len), True).all);
- end if;
+ Write_Str (" ");
+ Write_Line (Name_Buffer (1 .. Name_Len));
end if;
end;

View File

@ -1,50 +0,0 @@
#! /bin/sh -e
# DP: Simplify Ada driver check (we always build using the required
# DP: Ada version. Needed for warnings on alpha.
dir=./
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
#cd ${dir} && autoconf
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
#rm -f ${dir}configure
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- config/acx.m4~ 2007-09-02 19:24:08.865326043 +0200
+++ config/acx.m4 2007-09-02 19:28:53.719623005 +0200
@@ -380,7 +380,7 @@
# Other compilers, like HP Tru64 UNIX cc, exit successfully when
# given a .adb file, but produce no object file. So we must check
# if an object file was really produced to guard against this.
-errors=`(${CC} -c conftest.adb) 2>&1 || echo failure`
+errors=`(${CC} -c conftest.adb) 2>/dev/null || echo failure`
if test x"$errors" = x && test -f conftest.$ac_objext; then
acx_cv_cc_gcc_supports_ada=yes
fi
--- configure~ 2007-09-02 16:50:31.206279000 +0200
+++ configure 2007-09-02 19:28:58.259691491 +0200
@@ -4261,7 +4261,7 @@
# Other compilers, like HP Tru64 UNIX cc, exit successfully when
# given a .adb file, but produce no object file. So we must check
# if an object file was really produced to guard against this.
-errors=`(${CC} -c conftest.adb) 2>&1 || echo failure`
+errors=`(${CC} -c conftest.adb) 2>/dev/null || echo failure`
if test x"$errors" = x && test -f conftest.$ac_objext; then
acx_cv_cc_gcc_supports_ada=yes
fi

View File

@ -1,42 +0,0 @@
#! /bin/sh -e
# DP: Look for gcc-3.4, gcc-4.0 and gcc-4.1 as gcc with Ada support.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
cd ${dir}gcc && autoconf
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
rm ${dir}gcc/configure
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- gcc/aclocal.m4~ Sat Mar 2 00:37:42 2002
+++ gcc/aclocal.m4 Sat Apr 6 13:01:36 2002
@@ -312,6 +312,11 @@
${ac_tool_prefix}$user_cc $user_cc \
${ac_tool_prefix}gcc gcc \
${ac_tool_prefix}cc cc \
+ ${ac_tool_prefix}gcc-4.3 gcc-4.3 \
+ ${ac_tool_prefix}gcc-4.2 gcc-4.2 \
+ ${ac_tool_prefix}gcc-4.1 gcc-4.1 \
+ ${ac_tool_prefix}gcc-4.0 gcc-4.0 \
+ ${ac_tool_prefix}gcc-3.4 gcc-3.4 \
${ac_tool_prefix}gnatgcc gnatgcc \
${ac_tool_prefix}gnatcc gnatcc \
${ac_tool_prefix}adagcc adagcc \

View File

@ -1,87 +0,0 @@
#! /bin/sh -e
# DP: use gcc-4.3 instead of gcc as the command name.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
Index: gcc/ada/comperr.adb
===================================================================
--- gcc/ada/comperr.adb.orig 2007-09-10 18:53:41.000000000 +0200
+++ gcc/ada/comperr.adb 2007-12-05 00:15:52.596687382 +0100
@@ -330,7 +330,7 @@
End_Line;
Write_Str
- ("| Include the exact gcc or gnatmake command " &
+ ("| Include the exact gcc-4.3 or gnatmake command " &
"that you entered.");
End_Line;
Index: gcc/ada/gnatlink.adb
===================================================================
--- gcc/ada/gnatlink.adb.orig 2007-10-19 15:14:33.000000000 +0200
+++ gcc/ada/gnatlink.adb 2007-12-05 00:15:52.596687382 +0100
@@ -137,7 +137,7 @@
-- This table collects the arguments to be passed to compile the binder
-- generated file.
- Gcc : String_Access := Program_Name ("gcc");
+ Gcc : String_Access := Program_Name ("gcc-4.3");
Read_Mode : constant String := "r" & ASCII.Nul;
@@ -1368,7 +1368,8 @@
end if;
Write_Line (" --GCC=comp Use comp as the compiler");
- Write_Line (" --LINK=nam Use 'nam' for the linking rather than 'gcc'");
+ Write_Line (" --LINK=nam Use 'nam' for the linking rather " &
+ "than 'gcc-4.3'");
Write_Eol;
Write_Line (" [non-Ada-objects] list of non Ada object files");
Write_Line (" [linker-options] other options for the linker");
Index: gcc/ada/make.adb
===================================================================
--- gcc/ada/make.adb.orig 2007-10-19 15:14:33.000000000 +0200
+++ gcc/ada/make.adb 2007-12-05 00:15:52.604687208 +0100
@@ -662,7 +662,7 @@
-- Compiler, Binder & Linker Data and Subprograms --
----------------------------------------------------
- Gcc : String_Access := Program_Name ("gcc");
+ Gcc : String_Access := Program_Name ("gcc-4.3");
Gnatbind : String_Access := Program_Name ("gnatbind");
Gnatlink : String_Access := Program_Name ("gnatlink");
-- Default compiler, binder, linker programs
Index: gcc/ada/gnatchop.adb
===================================================================
--- gcc/ada/gnatchop.adb.orig 2007-10-19 15:14:33.000000000 +0200
+++ gcc/ada/gnatchop.adb 2007-12-05 00:15:52.612687034 +0100
@@ -44,7 +44,7 @@
Config_File_Name : constant String_Access := new String'("gnat.adc");
-- The name of the file holding the GNAT configuration pragmas
- Gcc : String_Access := new String'("gcc");
+ Gcc : String_Access := new String'("gcc-4.3");
-- May be modified by switch --GCC=
Gcc_Set : Boolean := False;

View File

@ -1,46 +0,0 @@
#! /bin/sh -e
# DP: proposed patch for PR ada/27194.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- orig/gnatvsn.adb 2005-07-01 03:29:17.000000000 +0200
+++ gcc/ada/gnatvsn.adb 2006-04-18 10:00:05.100002000 +0200
@@ -54,12 +54,13 @@
-------------------------
function Gnat_Version_String return String is
- NUL_Pos : Positive := 1;
+ NUL_Pos : Positive := Version_String'Last;
begin
- loop
- exit when Version_String (NUL_Pos) = ASCII.NUL;
-
- NUL_Pos := NUL_Pos + 1;
+ for J in Version_String'Range loop
+ if Version_String (J) = ASCII.NUL then
+ NUL_Pos := J;
+ exit;
+ end if;
end loop;
return Version_String (1 .. NUL_Pos - 1);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,346 +0,0 @@
#! /bin/sh -e
# DP: - Enable support for symbolic tracebacks in exceptions (delete the dummy
# DP: convert_addresses from adaint.c, and provide a real one separately.)
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
Ported Jürgen Pfeifer's patch to enable symbolic tracebacks on Debian
GNU/Linux.
The binary distribution of GNAT 3.15p comes with an old version of
binutils that includes a library, libaddr2line.a. This library does
not exist in recent versions of binutils. The patch works around this
by calling /usr/bin/addr2line (still part of binutils) and parsing the
output. See debian/convert_addresses.c for the gory details.
I have modified convert_addresses.c to not use a shell script anymore;
Debian controls the version of binutils which is installed. Also, I
use execve instead of execle.
--
Ludovic Brenta.
# ' make emacs highlighting happy
Index: gcc/ada/Makefile.in
===================================================================
--- gcc/ada/Makefile.in.orig 2008-01-13 22:19:26.000000000 +0100
+++ gcc/ada/Makefile.in 2008-01-29 11:56:42.178635045 +0100
@@ -1655,7 +1655,7 @@
a-nucoar.o a-nurear.o i-forbla.o i-forlap.o s-gearop.o
GNATRTL_OBJS = $(GNATRTL_NONTASKING_OBJS) $(GNATRTL_TASKING_OBJS) \
- $(GNATRTL_LINEARALGEBRA_OBJS) g-trasym.o memtrack.o
+ $(GNATRTL_LINEARALGEBRA_OBJS) g-trasym.o memtrack.o convert_addresses.o
# Default run time files
@@ -1810,7 +1810,6 @@
for file in rts/*.ali; do \
$(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
done
- -$(INSTALL_DATA) rts/g-trasym$(objext) $(DESTDIR)$(ADA_RTL_OBJ_DIR)
-cd rts; for file in *$(arext);do \
$(INSTALL_DATA) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
$(RANLIB_FOR_TARGET) $(DESTDIR)$(ADA_RTL_OBJ_DIR)/$$file; \
@@ -1907,7 +1906,7 @@
$(GNATRTL_OBJS)
$(RM) rts/libgnat$(arext) rts/libgnarl$(arext)
$(AR_FOR_TARGET) $(AR_FLAGS) rts/libgnat$(arext) \
- $(addprefix rts/,$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS))
+ $(addprefix rts/,$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) g-trasym.o convert_addresses.o)
ifneq ($(PREFIX_OBJS),)
$(AR_FOR_TARGET) $(AR_FLAGS) rts/libgccprefix$(arext) \
$(PREFIX_OBJS);
@@ -1940,6 +1939,7 @@
$(TARGET_LIBGCC2_CFLAGS) \
-o libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
$(GNATRTL_NONTASKING_OBJS) $(LIBGNAT_OBJS) \
+ g-trasym.o convert_addresses.o \
$(SO_OPTS)libgnat$(hyphen)$(LIBRARY_VERSION)$(soext) \
$(MISCLIB) -lm
cd rts; ../../xgcc -B../../ -shared $(GNATLIBCFLAGS) \
@@ -2183,6 +2183,7 @@
sysdep.o : sysdep.c
raise-gcc.o : raise-gcc.c raise.h
raise.o : raise.c raise.h
+convert_addresses.o : convert_addresses.c
vx_stack_info.o : vx_stack_info.c
gen-soccon: gen-soccon.c gsocket.h
Index: gcc/ada/adaint.c
===================================================================
--- gcc/ada/adaint.c.orig 2008-01-13 22:19:26.000000000 +0100
+++ gcc/ada/adaint.c 2008-01-29 11:56:06.614450462 +0100
@@ -2852,35 +2852,6 @@
}
#endif
-#if defined (CROSS_DIRECTORY_STRUCTURE) \
- || (! ((defined (sparc) || defined (i386)) && defined (sun) \
- && defined (__SVR4)) \
- && ! (defined (linux) && (defined (i386) || defined (__x86_64__))) \
- && ! (defined (linux) && defined (__ia64__)) \
- && ! defined (__FreeBSD__) \
- && ! defined (__hpux__) \
- && ! defined (__APPLE__) \
- && ! defined (_AIX) \
- && ! (defined (__alpha__) && defined (__osf__)) \
- && ! defined (VMS) \
- && ! defined (__MINGW32__) \
- && ! (defined (__mips) && defined (__sgi)))
-
-/* Dummy function to satisfy g-trasym.o. See the preprocessor conditional
- just above for a list of native platforms that provide a non-dummy
- version of this procedure in libaddr2line.a. */
-
-void
-convert_addresses (const char *file_name ATTRIBUTE_UNUSED,
- void *addrs ATTRIBUTE_UNUSED,
- int n_addr ATTRIBUTE_UNUSED,
- void *buf ATTRIBUTE_UNUSED,
- int *len ATTRIBUTE_UNUSED)
-{
- *len = 0;
-}
-#endif
-
#if defined (_WIN32)
int __gnat_argument_needs_quote = 1;
#else
Index: gcc/ada/convert_addresses.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gcc/ada/convert_addresses.c 2008-01-29 11:56:06.614450462 +0100
@@ -0,0 +1,157 @@
+/*
+ Copyright (C) 1999 by Juergen Pfeifer <juergen.pfeifer@gmx.net>
+ Ada for Linux Team (ALT)
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, distribute with modifications, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+ THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ Except as contained in this notice, the name(s) of the above copyright
+ holders shall not be used in advertising or otherwise to promote the
+ sale, use or other dealings in this Software without prior written
+ authorization.
+*/
+#include <sys/types.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <string.h>
+#include <signal.h>
+
+#define STDIN_FILENO 0
+#define STDOUT_FILENO 1
+#define MAX_LINE 1024
+
+#define CLOSE1 close(fd1[0]); close(fd1[1])
+#define CLOSE2 close(fd2[0]); close(fd2[1])
+#define RESTSIG sigaction(SIGPIPE,&oact,NULL)
+
+void convert_addresses
+( void* addrs[],
+ int n_addr,
+ char* buf,
+ int* len)
+{
+ int max_len = *len;
+ pid_t pid = getpid();
+ pid_t child;
+
+ struct sigaction act, oact;
+
+ int fd1[2], fd2[2];
+ char exe_name[128];
+
+ *buf = 0; *len = 0;
+ /* Thanx to the /proc filesystem we can very easily reference our own
+ executable image:-)*/
+ snprintf(exe_name,sizeof(exe_name),"--exe=/proc/%ld/exe", (long)pid);
+
+ act.sa_handler = SIG_IGN;
+ sigemptyset(&act.sa_mask);
+ act.sa_flags = 0;
+ if (sigaction(SIGPIPE,&act,&oact) < 0)
+ return;
+
+ if (pipe(fd1) >= 0) {
+ if (pipe(fd2)>=0) {
+ if ((child = fork()) < 0) {
+ CLOSE1; CLOSE2; RESTSIG;
+ return;
+ }
+ else {
+ if (0==child) {
+ close(fd1[1]);
+ close(fd2[0]);
+ if (fd1[0] != STDIN_FILENO) {
+ if (dup2(fd1[0],STDIN_FILENO) != STDIN_FILENO) {
+ CLOSE1; CLOSE2;
+ }
+ close(fd1[0]);
+ }
+ if (fd2[1] != STDOUT_FILENO) {
+ if (dup2(fd2[1],STDOUT_FILENO) != STDOUT_FILENO) {
+ CLOSE1; CLOSE2;
+ }
+ close(fd2[1]);
+ }
+ {
+ /* As pointed out by Florian Weimer to me, it is a
+ security threat to call the script with a user defined
+ environment and using the path. That would be Trojans
+ pleasure. Therefore we use the absolute path to
+ addr2line and an empty environment. That should be
+ safe.
+ */
+ char *const argv[] = { "addr2line",
+ exe_name,
+ "--demangle=gnat",
+ "--functions",
+ "--basenames",
+ NULL };
+ char *const envp[] = { NULL };
+ if (execve("/usr/bin/addr2line", argv, envp) < 0) {
+ CLOSE1; CLOSE2;
+ }
+ }
+ }
+ else {
+ int i, n;
+ char hex[16];
+ char line[MAX_LINE + 1];
+ char *p;
+ char *s = buf;
+
+ /* Parent context */
+ close(fd1[0]);
+ close(fd2[1]);
+
+ for(i=0; i < n_addr; i++) {
+ snprintf(hex,sizeof(hex),"%p\n",addrs[i]);
+ write(fd1[1],hex,strlen(hex));
+ n = read(fd2[0],line,MAX_LINE);
+ if (n<=0)
+ break;
+ line[n]=0;
+ /* We have approx. 16 additional chars for "%p in " clause.
+ We use this info to prevent a buffer overrun.
+ */
+ if (n + 16 + (*len) > max_len)
+ break;
+ p = strchr(line,'\n');
+ if (p) {
+ if (*(p+1)) {
+ *p = 0;
+ *len += snprintf(s, (max_len - (*len)), "%p in %s at %s",addrs[i], line, p+1);
+ }
+ else {
+ *len += snprintf(s, (max_len - (*len)), "%p at %s",addrs[i], line);
+ }
+ s = buf + (*len);
+ }
+ }
+ close(fd1[1]);
+ close(fd2[0]);
+ }
+ }
+ }
+ else {
+ CLOSE1;
+ }
+ }
+ RESTSIG;
+}
Index: gcc/ada/g-trasym.adb
===================================================================
--- gcc/ada/g-trasym.adb.orig 2007-04-11 10:18:15.000000000 +0200
+++ gcc/ada/g-trasym.adb 2008-01-29 11:56:06.614450462 +0100
@@ -32,16 +32,16 @@
------------------------------------------------------------------------------
-- Run-time symbolic traceback support
+-- This file has been modified by Juergen Pfeifer (31-Dec-1999) for
+-- the purpose to support the Ada for Linux Team implementation of
+-- convert_addresses. This implementation has the advantage to run
+-- on the binutils as they are deployed on Linux.
with System.Soft_Links;
with Ada.Exceptions.Traceback; use Ada.Exceptions.Traceback;
package body GNAT.Traceback.Symbolic is
- pragma Linker_Options ("-laddr2line");
- pragma Linker_Options ("-lbfd");
- pragma Linker_Options ("-liberty");
-
package TSL renames System.Soft_Links;
-- To perform the raw addresses to symbolic form translation we rely on a
@@ -79,9 +79,13 @@
-- raw addresses provided in ADDRS, looked up in debug information from
-- FILENAME. LEN is filled with the result length.
--
- -- This procedure is provided by libaddr2line on targets that support
- -- it. A dummy version is in adaint.c for other targets so that build
- -- of shared libraries doesn't generate unresolved symbols.
+ -- This is the ALT Linux specific version adapted to the binutils
+ -- deployed with most Linuxes. These binutils already have an
+ -- addr2line tool that demangles Ada symbolic names, but there are
+ -- version dependant variants for the option names. Therefore our
+ -- implementation spawns a shell script that does normalization of
+ -- the option and then executes addr2line and communicates with it
+ -- through a bidirectional pipe.
--
-- Note that this procedure is *not* thread-safe.
@@ -93,8 +97,9 @@
(c_exename : System.Address) return System.Address;
pragma Import (C, locate_exec_on_path, "__gnat_locate_exec_on_path");
- Res : String (1 .. 256 * Traceback'Length);
- Len : Integer;
+ B_Size : constant Integer := 256 * Traceback'Length;
+ Len : Integer := B_Size;
+ Res : String (1 .. B_Size);
use type System.Address;

View File

@ -1,44 +0,0 @@
#! /bin/sh -e
# DP: #212912
# DP: on alpha-linux, make -mieee default and add -mieee-disable switch
# DP: to turn default off (doc patch)
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p1 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- src/gcc/doc/invoke.texi~ 2005-09-29 20:00:57.638380128 +0200
+++ src/gcc/doc/invoke.texi 2005-09-30 22:23:22.922502992 +0200
@@ -7670,6 +7670,13 @@
values such as not-a-number and plus/minus infinity. Other Alpha
compilers call this option @option{-ieee_with_no_inexact}.
+DEBIAN SPECIFIC: This option is on by default, unless
+@option{-ffinite-math-only} (which is part of the @option{-ffast-math}
+set) is specified, because the software functions in the GNU libc math
+libraries generate denormalized numbers, NaNs, and infs (all of which
+will cause a programs to SIGFPE when it attempts to use the results without
+@option{-mieee}).
+
@item -mieee-with-inexact
@opindex mieee-with-inexact
This is like @option{-mieee} except the generated code also maintains

View File

@ -1,57 +0,0 @@
#! /bin/sh -e
# DP: #212912
# DP: on alpha-linux, make -mieee default and add -mieee-disable switch
# DP: to turn default off
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p1 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- src/gcc/config/alpha/alpha.c~ 2005-06-04 21:25:45.000000000 +0200
+++ src/gcc/config/alpha/alpha.c 2005-09-30 22:21:33.251175568 +0200
@@ -248,6 +248,10 @@
{ 0, 0, 0 }
};
+ /* If not -ffinite-math-only, enable -mieee*/
+ if (!flag_finite_math_only)
+ target_flags |= MASK_IEEE|MASK_IEEE_CONFORMANT;
+
/* Unicos/Mk doesn't have shared libraries. */
if (TARGET_ABI_UNICOSMK && flag_pic)
{
#--- src/gcc/doc/invoke.texi~ 2005-09-29 20:00:57.638380128 +0200
#+++ src/gcc/doc/invoke.texi 2005-09-30 22:23:22.922502992 +0200
#@@ -7670,6 +7670,13 @@
# values such as not-a-number and plus/minus infinity. Other Alpha
# compilers call this option @option{-ieee_with_no_inexact}.
#
#+DEBIAN SPECIFIC: This option is on by default, unless
#+@option{-ffinite-math-only} (which is part of the @option{-ffast-math}
#+set) is specified, because the software functions in the GNU libc math
#+libraries generate denormalized numbers, NaNs, and infs (all of which
#+will cause a programs to SIGFPE when it attempts to use the results without
#+@option{-mieee}).
#+
# @item -mieee-with-inexact
# @opindex mieee-with-inexact
# This is like @option{-mieee} except the generated code also maintains

View File

@ -1,49 +0,0 @@
#! /bin/sh -e
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
Index: gcc/config/alpha/alpha.c
===================================================================
--- gcc/config/alpha/alpha.c (revision 115263)
+++ gcc/config/alpha/alpha.c (working copy)
@@ -9372,7 +9372,7 @@
fputs ("\t.set nomacro\n", asm_out_file);
if (TARGET_SUPPORT_ARCH | TARGET_BWX | TARGET_MAX | TARGET_FIX | TARGET_CIX)
{
- const char *arch;
+ const char *arch = NULL;
if (alpha_cpu == PROCESSOR_EV6 || TARGET_FIX || TARGET_CIX)
arch = "ev6";
@@ -9382,10 +9382,9 @@
arch = "ev56";
else if (alpha_cpu == PROCESSOR_EV5)
arch = "ev5";
- else
- arch = "ev4";
- fprintf (asm_out_file, "\t.arch %s\n", arch);
+ if (arch)
+ fprintf (asm_out_file, "\t.arch %s\n", arch);
}
}
#endif

View File

@ -1,36 +0,0 @@
#! /bin/sh -e
# DP: Fix armv4t build on ARM
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p1 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- src/gcc/config/arm/linux-eabi.h.orig 2007-11-24 12:37:38.000000000 +0000
+++ src/gcc/config/arm/linux-eabi.h 2007-11-24 12:39:41.000000000 +0000
@@ -44,7 +44,7 @@
The ARM10TDMI core is the default for armv5t, so set
SUBTARGET_CPU_DEFAULT to achieve this. */
#undef SUBTARGET_CPU_DEFAULT
-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
/* TARGET_BIG_ENDIAN_DEFAULT is set in
config.gcc for big endian configurations. */

View File

@ -1,39 +0,0 @@
#! /bin/sh -e
# DP: boehm-gc/pthread_support.c (GC_get_nprocs): Use sysconf as fallback.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
Index: boehm-gc/pthread_support.c
===================================================================
--- boehm-gc/pthread_support.c (revision 127207)
+++ boehm-gc/pthread_support.c (working copy)
@@ -724,7 +724,8 @@
f = open("/proc/stat", O_RDONLY);
if (f < 0 || (len = STAT_READ(f, stat_buf, STAT_BUF_SIZE)) < 100) {
WARN("Couldn't read /proc/stat\n", 0);
- return -1;
+ /* Fallback to sysconf after the warning */
+ return sysconf(_SC_NPROCESSORS_ONLN);
}
for (i = 0; i < len - 100; ++i) {
if (stat_buf[i] == '\n' && stat_buf[i+1] == 'c'

View File

@ -1,37 +0,0 @@
#! /bin/sh -e
# DP: Disable running the boehm-gc testsuite. Hangs the buildd at least on hppa.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- boehm-gc/Makefile.in~ 2004-06-20 16:24:06.000000000 +0200
+++ boehm-gc/Makefile.in 2004-06-23 09:43:42.000000000 +0200
@@ -662,7 +662,8 @@
test "$$failed" -eq 0; \
else :; fi
check-am: $(check_PROGRAMS)
- $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+ : # $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+ @echo target $@ disabled for Debian build.
check: check-recursive
all-am: Makefile $(LTLIBRARIES) all-multi
installdirs: installdirs-recursive

View File

@ -1,94 +0,0 @@
#! /bin/sh -e
# DP: disable some biarch libraries for biarch builds
if [ $# -eq 3 ] && [ "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
-unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1;;
esac
exit 0
--- config-ml.in.orig 2007-12-01 10:09:04.533972767 +0100
+++ config-ml.in 2007-12-01 10:21:50.625529084 +0100
@@ -301,6 +301,11 @@
done
fi
;;
+i[34567]86-*-*)
+ case " $multidirs " in
+ *" 64 "*) ac_configure_args="${ac_configure_args} --host=x86_64-linux-gnu"
+ esac
+ ;;
m68*-*-*)
if [ x$enable_softfloat = xno ]
then
@@ -472,9 +477,36 @@
esac
done
fi
+ case " $multidirs " in
+ *" 64 "*) ac_configure_args="${ac_configure_args} --host=powerpc64-linux-gnu"
+ esac
+ ;;
+s390-*-*)
+ case " $multidirs " in
+ *" 64 "*) ac_configure_args="${ac_configure_args} --host=s390x-linux-gnu"
+ esac
;;
esac
+if [ -z "$biarch_multidir_names" ]; then
+ biarch_multidir_names="libiberty libstdc++-v3 libgfortran libmudflap libssp libffi libobjc libgomp"
+ echo "WARNING: biarch_multidir_names is unset. Use default value:"
+ echo " $biarch_multidir_names"
+fi
+ml_srcbase=`basename $ml_realsrcdir`
+old_multidirs="${multidirs}"
+multidirs=""
+for x in ${old_multidirs}; do
+ case " $x " in
+ " 32 "|" n32 "|" 64 " )
+ case "$biarch_multidir_names" in
+ *"$ml_srcbase"*) multidirs="${multidirs} ${x}" ;;
+ esac
+ ;;
+ *) multidirs="${multidirs} ${x}" ;;
+ esac
+done
+
# Remove extraneous blanks from multidirs.
# Tests like `if [ -n "$multidirs" ]' require it.
multidirs=`echo "$multidirs" | sed -e 's/^[ ][ ]*//' -e 's/[ ][ ]*$//' -e 's/[ ][ ]*/ /g'`
@@ -852,9 +884,20 @@
fi
fi
+ ml_configure_args=
+ for arg in ${ac_configure_args}
+ do
+ case $arg in
+ *CC=*) ml_configure_args=${ml_config_env} ;;
+ *CXX=*) ml_configure_args=${ml_config_env} ;;
+ *GCJ=*) ml_configure_args=${ml_config_env} ;;
+ *) ;;
+ esac
+ done
+
if eval ${ml_config_env} ${ml_config_shell} ${ml_recprog} \
--with-multisubdir=${ml_dir} --with-multisrctop=${multisrctop} \
- ${ac_configure_args} ${ml_config_env} ${ml_srcdiroption} ; then
+ ${ac_configure_args} ${ml_configure_args} ${ml_srcdiroption} ; then
true
else
exit 1

View File

@ -1,37 +0,0 @@
#! /bin/sh -e
# DP: set default 32bit ix86 architecture to i486
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- gcc/config/i386/i386.c~ 2007-06-28 13:23:31.000000000 +0200
+++ gcc/config/i386/i386.c 2007-06-28 13:26:33.000000000 +0200
@@ -1953,7 +1953,7 @@
"-mtune=generic instead as appropriate.");
if (!ix86_arch_string)
- ix86_arch_string = TARGET_64BIT ? "x86-64" : "i386";
+ ix86_arch_string = TARGET_64BIT ? "x86-64" : "i486";
else
ix86_arch_specified = 1;

View File

@ -1,129 +0,0 @@
#! /bin/sh -e
# DP: Fix the linker error when creating an xcc for ia64
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p1 < $0
cd ${dir}gcc && autoconf
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
cd ${dir}gcc && autoconf
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
diff -NurpP -x '*.orig' -x '*.libc' gcc-4.0.0.orig/gcc/config/ia64/fde-glibc.c gcc-4.0.0.new/gcc/config/ia64/fde-glibc.c
--- gcc-4.0.0.orig/gcc/config/ia64/fde-glibc.c 2003-11-02 18:35:20.000000000 +0100
+++ gcc-4.0.0.new/gcc/config/ia64/fde-glibc.c 2005-05-15 02:42:27.675247674 +0200
@@ -31,6 +31,7 @@
#ifndef _GNU_SOURCE
#define _GNU_SOURCE 1
#endif
+#ifndef inhibit_libc
#include "config.h"
#include <stddef.h>
#include <stdlib.h>
@@ -162,3 +163,5 @@ _Unwind_FindTableEntry (void *pc, unsign
return data.ret;
}
+
+#endif
diff -NurpP -x '*.orig' -x '*.libc' gcc-4.0.0.orig/gcc/config/ia64/unwind-ia64.c gcc-4.0.0.new/gcc/config/ia64/unwind-ia64.c
--- gcc-4.0.0.orig/gcc/config/ia64/unwind-ia64.c 2005-04-06 05:50:36.000000000 +0200
+++ gcc-4.0.0.new/gcc/config/ia64/unwind-ia64.c 2005-05-15 02:43:10.842199954 +0200
@@ -30,7 +30,7 @@
This exception does not however invalidate any other reasons why
the executable file might be covered by the GNU General Public License. */
-
+#ifndef inhibit_libc
#include "tconfig.h"
#include "tsystem.h"
#include "coretypes.h"
@@ -2404,3 +2404,4 @@ alias (_Unwind_SetIP);
#endif
#endif
+#endif
diff -NurpP -x '*.orig' -x '*.libc' gcc-4.0.0.orig/gcc/config/sh/linux-unwind.h gcc-4.0.0.new/gcc/config/sh/linux-unwind.h
--- gcc-4.0.0.orig/gcc/config/sh/linux-unwind.h 2005-02-11 02:12:57.000000000 +0100
+++ gcc-4.0.0.new/gcc/config/sh/linux-unwind.h 2005-05-15 02:44:31.000000000 +0200
@@ -29,6 +29,7 @@ Boston, MA 02111-1307, USA. */
/* Do code reading to identify a signal frame, and set the frame
state data appropriately. See unwind-dw2.c for the structs. */
+#ifndef inhibit_libc
#include <signal.h>
#include <sys/ucontext.h>
#include "insn-constants.h"
@@ -169,3 +170,4 @@ sh_fallback_frame_state (struct _Unwind_
return _URC_NO_REASON;
}
#endif /* defined (__SH5__) */
+#endif
diff -NurpP -x '*.orig' -x '*.libc' gcc-4.0.0.orig/gcc/unwind-compat.c gcc-4.0.0.new/gcc/unwind-compat.c
--- gcc-4.0.0.orig/gcc/unwind-compat.c 2004-09-04 02:15:40.000000000 +0200
+++ gcc-4.0.0.new/gcc/unwind-compat.c 2005-05-15 02:41:17.000000000 +0200
@@ -29,6 +29,7 @@
02110-1301, USA. */
#if defined (USE_GAS_SYMVER) && defined (USE_LIBUNWIND_EXCEPTIONS)
+#ifndef inhibit_libc
#include "tconfig.h"
#include "tsystem.h"
#include "unwind.h"
@@ -204,3 +205,4 @@ _Unwind_SetIP (struct _Unwind_Context *c
}
symver (_Unwind_SetIP, GCC_3.0);
#endif
+#endif
diff -NurpP -x '*.orig' -x '*.libc' gcc-4.0.0.orig/gcc/unwind-generic.h gcc-4.0.0.new/gcc/unwind-generic.h
--- gcc-4.0.0.orig/gcc/unwind-generic.h 2004-11-30 09:15:39.000000000 +0100
+++ gcc-4.0.0.new/gcc/unwind-generic.h 2005-05-15 02:38:33.000000000 +0200
@@ -202,6 +202,7 @@ extern _Unwind_Reason_Code _Unwind_SjLj_
compatible with the standard ABI for IA-64, we inline these. */
#ifdef __ia64__
+#ifndef inhibit_libc
#include <stdlib.h>
static inline _Unwind_Ptr
@@ -220,6 +221,7 @@ _Unwind_GetTextRelBase (struct _Unwind_C
/* @@@ Retrieve the Backing Store Pointer of the given context. */
extern _Unwind_Word _Unwind_GetBSP (struct _Unwind_Context *);
+#endif
#else
extern _Unwind_Ptr _Unwind_GetDataRelBase (struct _Unwind_Context *);
extern _Unwind_Ptr _Unwind_GetTextRelBase (struct _Unwind_Context *);
diff -NurpP -x '*.orig' -x '*.libc' gcc-4.0.0.new/gcc/config/alpha/linux-unwind.h gcc-4.0.0.new2/gcc/config/alpha/linux-unwind.h
--- gcc-4.0.0.new/gcc/config/alpha/linux-unwind.h 2005-02-11 02:12:54.000000000 +0100
+++ gcc-4.0.0.new2/gcc/config/alpha/linux-unwind.h 2005-05-15 05:09:16.000000000 +0200
@@ -29,6 +29,7 @@ Boston, MA 02111-1307, USA. */
/* Do code reading to identify a signal frame, and set the frame
state data appropriately. See unwind-dw2.c for the structs. */
+#ifndef inhibit_libc
#include <signal.h>
#include <sys/ucontext.h>
@@ -80,3 +81,5 @@ alpha_fallback_frame_state (struct _Unwi
fs->retaddr_column = 64;
return _URC_NO_REASON;
}
+
+#endif

View File

@ -1,39 +0,0 @@
#! /bin/sh -e
# DP: Set cross include path to .../include, not .../sys-include
# DP: This should be a fix for famous limits.h issue
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
cd ${dir}gcc && autoconf
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
cd ${dir}gcc && autoconf
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- gcc/configure.ac.orig 2005-08-24 06:24:11.000000000 +0400
+++ gcc/configure.ac 2005-12-06 00:40:45.000000000 +0300
@@ -681,7 +681,7 @@
], [
TARGET_SYSTEM_ROOT=
TARGET_SYSTEM_ROOT_DEFINE=
- CROSS_SYSTEM_HEADER_DIR='$(gcc_tooldir)/sys-include'
+ CROSS_SYSTEM_HEADER_DIR='$(prefix)/$(target_noncanonical)/include'
])
AC_SUBST(TARGET_SYSTEM_ROOT)
AC_SUBST(TARGET_SYSTEM_ROOT_DEFINE)

View File

@ -1,47 +0,0 @@
#! /bin/sh -e
# DP: build protoize/unprotoize binaries
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
-unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- gcc/Makefile.in.orig 2007-09-06 21:31:39.864036975 +0200
+++ gcc/Makefile.in 2007-09-06 21:33:57.836118252 +0200
@@ -137,7 +137,7 @@
# Selection of languages to be made.
CONFIG_LANGUAGES = @all_selected_languages@
-LANGUAGES = c gcov$(exeext) gcov-dump$(exeext) $(CONFIG_LANGUAGES)
+LANGUAGES = c proto gcov$(exeext) gcov-dump$(exeext) $(CONFIG_LANGUAGES)
# Various ways of specifying flags for compilations:
# CFLAGS is for the user to override to, e.g., do a cross build with -O2.
@@ -3280,14 +3280,14 @@
protoize.o: protoize.c $(srcdir)/../include/getopt.h $(CONFIG_H) $(SYSTEM_H) \
coretypes.h $(TM_H) Makefile version.h cppdefault.h intl.h
(SHLIB_LINK='$(SHLIB_LINK)'; \
- $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
+ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) -Wno-error \
$(DRIVER_DEFINES) \
$(srcdir)/protoize.c $(OUTPUT_OPTION))
unprotoize.o: protoize.c $(srcdir)/../include/getopt.h $(CONFIG_H) \
$(SYSTEM_H) coretypes.h $(TM_H) Makefile version.h cppdefault.h intl.h
(SHLIB_LINK='$(SHLIB_LINK)'; \
- $(CC) -c -DUNPROTOIZE $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
+ $(CC) -c -DUNPROTOIZE $(ALL_CFLAGS) $(ALL_CPPFLAGS) -Wno-error \
$(DRIVER_DEFINES) \
$(srcdir)/protoize.c $(OUTPUT_OPTION))

View File

@ -1,246 +0,0 @@
#! /bin/sh -e
# DP: Add D options and specs for the gcc driver.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
diff -urN gcc.orig/d/lang.opt gcc/d/lang.opt
--- gcc.orig/d/lang.opt 1970-01-01 01:00:00.000000000 +0100
+++ gcc/d/lang.opt 2007-03-04 16:29:47.000000000 +0100
@@ -0,0 +1,160 @@
+; GDC -- D front-end for GCC
+; Copyright (C) 2004 David Friedman
+;
+; This program is free software; you can redistribute it and/or modify
+; it under the terms of the GNU General Public License as published by
+; the Free Software Foundation; either version 2 of the License, or
+; (at your option) any later version.
+;
+; This program is distributed in the hope that it will be useful,
+; but WITHOUT ANY WARRANTY; without even the implied warranty of
+; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+; GNU General Public License for more details.
+;
+; You should have received a copy of the GNU General Public License
+; along with this program; if not, write to the Free Software
+; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+; This is used in GCC 3.4+
+
+Language
+D
+
+I
+D Joined Separate
+-I <dir> Add <dir> to the end of the main include path.
+
+J
+D Joined Separate
+-J <dir> Add <dir> to the end of the string import path.
+
+fdeprecated
+D
+Allow use of deprecated features
+
+fassert
+D
+Generate runtime code for assert()'s
+
+frelease
+D
+Compile release version
+
+funittest
+D
+Compile in unittest code
+
+fversion=
+D Joined RejectNegative
+-fversion=<level|ident> Compile in version code >= <level> or identified by <ident>
+
+fdebug=
+D Joined RejectNegative
+-fdebug,-fdebug=<level>,-fdebug=<ident> Compile in debug code, code <= level, or code identified by ident
+
+fdebug
+D
+Compile in debug code
+
+fdebug-c
+D
+With -g, generate C debug information for debugger compatibility
+
+fd-verbose
+D
+Print information about D language processing to stdout
+
+fd-version=1
+D RejectNegative
+Compile as D language version 1
+
+femit-templates=
+D Joined RejectNegative
+-femit-templates=[normal|private|all|none|auto] Control template emission
+
+femit-templates
+D
+-femit-templates Emit templates code and data even if the linker cannot merge multiple copies
+
+nostdinc
+D
+Do not search standard system include directories
+
+fonly=
+D Joined RejectNegative
+Process all modules specified on the command line, but only generate code for the module specified by the argument.
+
+fod=
+D Joined RejectNegative
+-fod=<directory> Specify the object output directory. Note: this is actually a driver option; the backend ignores it.
+
+fop
+D
+Specify that the source file's parent directories should be appended to the object output directory. Note: this is actually a driver option; the backend ignores it.
+
+fintfc
+Generate D interface files
+
+fintfc-dir=
+D Joined RejectNegative
+-fintfc-dir=<dir> Write D interface files to directory <dir>
+
+fintfc-file=
+D Joined RejectNegative
+-fintfc-file=<filename> Write D interface file to <filename>
+
+fdoc
+D
+Generate documentation
+
+fdoc-dir=
+D Joined RejectNegative
+-fdoc-dir=<docdir> Write documentation file to docdir directory
+
+fdoc-file=
+D Joined RejectNegative
+-fdoc-file=<filename> Write documentation file to filename
+
+fdoc-inc=
+D Joined RejectNegative
+-fdoc-inc=<filename> Include a Ddoc macro file
+
+fmultilib-dir=
+D Joined RejectNegative
+-fmultilib-dir=<dir> Select header multilib subdirectory
+
+Wsign-compare
+D
+Warn about signed-unsigned comparisons
+
+fdump-source
+D RejectNegative
+Dump decoded UTF-8 text and source from HTML
+
+fbuiltin
+D
+Recognize built-in functions
+
+funsigned-char
+D
+Make \"char\" unsigned by default (silently ignored in D)
+
+fsigned-char
+D
+Make \"char\" signed by default (silently ignored in D)
+
+iprefix
+D Joined Separate
+-iprefix <path> Specify <path> as a prefix for next two options
+
+isysroot
+D Joined Separate
+-isysroot <dir> Set <dir> to be the system root directory
+
+isystem
+D Joined Separate
+-isystem <dir> Add <dir> to the start of the system include path
+
+Wall
+D
+Enable most warning messages
diff -urN gcc.orig/d/lang-specs.h gcc/d/lang-specs.h
--- gcc.orig/d/lang-specs.h 1970-01-01 01:00:00.000000000 +0100
+++ gcc/d/lang-specs.h 2007-03-04 16:36:44.000000000 +0100
@@ -0,0 +1,53 @@
+/* GDC -- D front-end for GCC
+ Copyright (C) 2004 David Friedman
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+*/
+
+#ifndef D_D_SPEC
+#define D_D_SPEC 0
+#endif
+
+/* %{!M} probably doesn't make sense because we would need
+ to do that -- -MD and -MMD doesn't sound like a plan for D.... */
+
+/* %(d_options) ? */
+
+#if GCC_SPEC_FORMAT_4
+#define D_D_SPEC_REST 0, 1, 0
+#else
+#define D_D_SPEC_REST 0
+#endif
+
+#if D_DRIVER_ONLY
+{".html", "@d", D_D_SPEC_REST },
+{".HTML", "@d", D_D_SPEC_REST },
+{".htm", "@d", D_D_SPEC_REST },
+{".HTM", "@d", D_D_SPEC_REST },
+{".xhtml", "@d", D_D_SPEC_REST },
+{".XHTML", "@d", D_D_SPEC_REST },
+{".d", "@d", D_D_SPEC_REST },
+{".D", "@d", D_D_SPEC_REST },
+{"@d",
+ "%{!E:cc1d %i %:d-all-sources() %(cc1_options) %I %N %{nostdinc*} %{+e*} %{I*} %{J*}\
+ %{M} %{MM} %{!fsyntax-only:%(invoke_as)}}", D_D_SPEC_REST },
+#else
+{".d", "@d", D_D_SPEC_REST },
+{".D", "@d", D_D_SPEC_REST },
+{"@d",
+ "%{!E:cc1d %i %(cc1_options) %I %N %{nostdinc*} %{+e*} %{I*} %{J*}\
+ %{M} %{MM} %{!fsyntax-only:%(invoke_as)}}", D_D_SPEC_REST },
+#endif
+

View File

@ -1,40 +0,0 @@
#! /bin/sh -e
# DP: Add options and specs for languages that are not built from a source
# DP: (but built from separate sources).
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- gcc/Makefile.in~ 2006-07-11 14:03:25.865618000 +0200
+++ gcc/Makefile.in 2006-07-11 21:15:30.011548776 +0200
@@ -424,8 +424,8 @@
xm_include_list=@xm_include_list@
xm_defines=@xm_defines@
lang_checks=check-gcc
-lang_opt_files=@lang_opt_files@ $(srcdir)/c.opt $(srcdir)/common.opt
-lang_specs_files=@lang_specs_files@
+lang_opt_files=$(sort @lang_opt_files@ $(foreach lang,$(debian_extra_langs),$(srcdir)/$(lang)/lang.opt)) $(srcdir)/c.opt $(srcdir)/common.opt
+lang_specs_files=$(sort @lang_specs_files@ $(foreach lang,$(debian_extra_langs),$(srcdir)/$(lang)/lang-specs.h))
lang_tree_files=@lang_tree_files@
target_cpu_default=@target_cpu_default@
GCC_THREAD_FILE=@thread_file@

View File

@ -1,163 +0,0 @@
#! /bin/sh -e
# DP: Link using --hash-style=both (alpha, amd64, ia64, i386, powerpc, ppc64, s390, sparc)
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
#cd ${dir}gcc && autoconf
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
#rm ${dir}gcc/configure
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
2006-07-11 Jakub Jelinek <jakub@redhat.com>
* config/i386/linux.h (LINK_SPEC): Add --hash-style=both.
* config/i386/linux64.h (LINK_SPEC): Likewise.
* config/rs6000/sysv4.h (LINK_OS_LINUX_SPEC): Likewise.
* config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32,
LINK_OS_LINUX_SPEC64): Likewise.
* config/s390/linux.h (LINK_SPEC): Likewise.
* config/ia64/linux.h (LINK_SPEC): Likewise.
* config/sparc/linux.h (LINK_SPEC): Likewise.
* config/sparc/linux64.h (LINK_SPEC, LINK_ARCH32_SPEC,
LINK_ARCH64_SPEC): Likewise.
* config/alpha/linux-elf.h (LINK_SPEC): Likewise.
--- gcc/config/alpha/linux-elf.h.orig 2007-08-04 08:55:58.000000000 +0200
+++ gcc/config/alpha/linux-elf.h 2007-09-01 15:47:26.605865578 +0200
@@ -39,7 +39,7 @@
#define ELF_DYNAMIC_LINKER LINUX_DYNAMIC_LINKER
-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
+#define LINK_SPEC "-m elf64alpha --hash-style=both %{G*} %{relax:-relax} \
%{O*:-O3} %{!O*:-O1} \
%{shared:-shared} \
%{!shared: \
--- gcc/config/s390/linux.h.orig 2007-08-04 08:55:59.000000000 +0200
+++ gcc/config/s390/linux.h 2007-09-01 15:47:26.605865578 +0200
@@ -77,7 +77,7 @@
#undef LINK_SPEC
#define LINK_SPEC \
- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
+ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=both \
%{shared:-shared} \
%{!shared: \
%{static:-static} \
--- gcc/config/sparc/linux.h.orig 2007-08-04 08:56:01.000000000 +0200
+++ gcc/config/sparc/linux.h 2007-09-01 15:47:26.605865578 +0200
@@ -132,7 +132,7 @@
#undef LINK_SPEC
-#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
+#define LINK_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \
%{!mno-relax:%{!r:-relax}} \
%{!shared: \
%{!ibcs: \
--- gcc/config/sparc/linux64.h.orig 2007-08-04 08:56:01.000000000 +0200
+++ gcc/config/sparc/linux64.h 2007-09-01 15:47:26.605865578 +0200
@@ -166,7 +166,7 @@
{ "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
{ "link_arch", LINK_ARCH_SPEC },
-#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
+#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \
%{!shared: \
%{!ibcs: \
%{!static: \
@@ -175,7 +175,7 @@
%{static:-static}}} \
"
-#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
+#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=both -Y P,/usr/lib64 %{shared:-shared} \
%{!shared: \
%{!ibcs: \
%{!static: \
@@ -256,7 +256,7 @@
#else /* !SPARC_BI_ARCH */
#undef LINK_SPEC
-#define LINK_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
+#define LINK_SPEC "-m elf64_sparc --hash-style=both -Y P,/usr/lib64 %{shared:-shared} \
%{!shared: \
%{!ibcs: \
%{!static: \
--- gcc/config/i386/linux.h.orig 2007-08-04 08:56:07.000000000 +0200
+++ gcc/config/i386/linux.h 2007-09-01 15:47:26.605865578 +0200
@@ -108,7 +108,7 @@
{ "dynamic_linker", LINUX_DYNAMIC_LINKER }
#undef LINK_SPEC
-#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
+#define LINK_SPEC "-m %(link_emulation) --hash-style=both %{shared:-shared} \
%{!shared: \
%{!ibcs: \
%{!static: \
--- gcc/config/i386/linux64.h.orig 2007-08-04 08:56:07.000000000 +0200
+++ gcc/config/i386/linux64.h 2007-09-01 15:48:27.336781690 +0200
@@ -65,7 +65,7 @@
#endif
#undef LINK_SPEC
-#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \
+#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} --hash-style=both \
%{shared:-shared} \
%{!shared: \
%{!static: \
--- gcc/config/ia64/linux.h.orig 2006-12-12 18:59:53.000000000 +0100
+++ gcc/config/ia64/linux.h 2007-09-01 15:47:26.605865578 +0200
@@ -40,7 +40,7 @@
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
#undef LINK_SPEC
-#define LINK_SPEC "\
+#define LINK_SPEC "--hash-style=both \
%{shared:-shared} \
%{!shared: \
%{!static: \
--- gcc/config/rs6000/sysv4.h.orig 2007-08-08 23:37:49.000000000 +0200
+++ gcc/config/rs6000/sysv4.h 2007-09-01 15:47:26.615865729 +0200
@@ -901,7 +901,7 @@
#define LINUX_DYNAMIC_LINKER \
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \
%{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}"
--- gcc/config/rs6000/linux64.h.orig 2007-08-04 08:56:12.000000000 +0200
+++ gcc/config/rs6000/linux64.h 2007-09-01 15:47:26.615865729 +0200
@@ -354,11 +354,11 @@
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64)
-#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \
%{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}}"
-#define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC64 "-m elf64ppc --hash-style=both %{!shared: %{!static: \
%{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}}"

View File

@ -1,163 +0,0 @@
#! /bin/sh -e
# DP: Link using --hash-style=gnu (alpha, amd64, ia64, i386, powerpc, ppc64, s390, sparc)
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
#cd ${dir}gcc && autoconf
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
#rm ${dir}gcc/configure
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
2006-07-11 Jakub Jelinek <jakub@redhat.com>
* config/i386/linux.h (LINK_SPEC): Add --hash-style=gnu.
* config/i386/linux64.h (LINK_SPEC): Likewise.
* config/rs6000/sysv4.h (LINK_OS_LINUX_SPEC): Likewise.
* config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32,
LINK_OS_LINUX_SPEC64): Likewise.
* config/s390/linux.h (LINK_SPEC): Likewise.
* config/ia64/linux.h (LINK_SPEC): Likewise.
* config/sparc/linux.h (LINK_SPEC): Likewise.
* config/sparc/linux64.h (LINK_SPEC, LINK_ARCH32_SPEC,
LINK_ARCH64_SPEC): Likewise.
* config/alpha/linux-elf.h (LINK_SPEC): Likewise.
--- gcc/config/alpha/linux-elf.h.orig 2007-09-01 15:49:36.997832511 +0200
+++ gcc/config/alpha/linux-elf.h 2007-09-01 15:49:48.538006592 +0200
@@ -39,7 +39,7 @@
#define ELF_DYNAMIC_LINKER LINUX_DYNAMIC_LINKER
-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
+#define LINK_SPEC "-m elf64alpha --hash-style=gnu %{G*} %{relax:-relax} \
%{O*:-O3} %{!O*:-O1} \
%{shared:-shared} \
%{!shared: \
--- gcc/config/s390/linux.h.orig 2007-09-01 15:49:36.997832511 +0200
+++ gcc/config/s390/linux.h 2007-09-01 15:49:48.548006743 +0200
@@ -77,7 +77,7 @@
#undef LINK_SPEC
#define LINK_SPEC \
- "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
+ "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=gnu \
%{shared:-shared} \
%{!shared: \
%{static:-static} \
--- gcc/config/sparc/linux.h.orig 2007-09-01 15:49:36.997832511 +0200
+++ gcc/config/sparc/linux.h 2007-09-01 15:49:48.548006743 +0200
@@ -132,7 +132,7 @@
#undef LINK_SPEC
-#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
+#define LINK_SPEC "-m elf32_sparc --hash-style=gnu -Y P,/usr/lib %{shared:-shared} \
%{!mno-relax:%{!r:-relax}} \
%{!shared: \
%{!ibcs: \
--- gcc/config/sparc/linux64.h.orig 2007-09-01 15:49:36.997832511 +0200
+++ gcc/config/sparc/linux64.h 2007-09-01 15:49:48.548006743 +0200
@@ -166,7 +166,7 @@
{ "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
{ "link_arch", LINK_ARCH_SPEC },
-#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
+#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=gnu -Y P,/usr/lib %{shared:-shared} \
%{!shared: \
%{!ibcs: \
%{!static: \
@@ -175,7 +175,7 @@
%{static:-static}}} \
"
-#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
+#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=gnu -Y P,/usr/lib64 %{shared:-shared} \
%{!shared: \
%{!ibcs: \
%{!static: \
@@ -256,7 +256,7 @@
#else /* !SPARC_BI_ARCH */
#undef LINK_SPEC
-#define LINK_SPEC "-m elf64_sparc -Y P,/usr/lib64 %{shared:-shared} \
+#define LINK_SPEC "-m elf64_sparc --hash-style=gnu -Y P,/usr/lib64 %{shared:-shared} \
%{!shared: \
%{!ibcs: \
%{!static: \
--- gcc/config/i386/linux.h.orig 2007-09-01 15:49:37.007832662 +0200
+++ gcc/config/i386/linux.h 2007-09-01 15:49:48.548006743 +0200
@@ -108,7 +108,7 @@
{ "dynamic_linker", LINUX_DYNAMIC_LINKER }
#undef LINK_SPEC
-#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
+#define LINK_SPEC "-m %(link_emulation) --hash-style=gnu %{shared:-shared} \
%{!shared: \
%{!ibcs: \
%{!static: \
--- gcc/config/i386/linux64.h.orig 2007-09-01 15:49:37.007832662 +0200
+++ gcc/config/i386/linux64.h 2007-09-01 15:50:49.068919687 +0200
@@ -65,7 +65,7 @@
#endif
#undef LINK_SPEC
-#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \
+#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} --hash-style=gnu \
%{shared:-shared} \
%{!shared: \
%{!static: \
--- gcc/config/ia64/linux.h.orig 2007-09-01 15:49:37.007832662 +0200
+++ gcc/config/ia64/linux.h 2007-09-01 15:49:48.548006743 +0200
@@ -40,7 +40,7 @@
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
#undef LINK_SPEC
-#define LINK_SPEC "\
+#define LINK_SPEC "--hash-style=gnu \
%{shared:-shared} \
%{!shared: \
%{!static: \
--- gcc/config/rs6000/sysv4.h.orig 2007-09-01 15:49:37.007832662 +0200
+++ gcc/config/rs6000/sysv4.h 2007-09-01 15:49:48.548006743 +0200
@@ -901,7 +901,7 @@
#define LINUX_DYNAMIC_LINKER \
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=gnu %{!shared: %{!static: \
%{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}"
--- gcc/config/rs6000/linux64.h.orig 2007-09-01 15:49:37.007832662 +0200
+++ gcc/config/rs6000/linux64.h 2007-09-01 15:49:48.548006743 +0200
@@ -354,11 +354,11 @@
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64)
-#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux --hash-style=gnu %{!shared: %{!static: \
%{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}}"
-#define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
+#define LINK_OS_LINUX_SPEC64 "-m elf64ppc --hash-style=gnu %{!shared: %{!static: \
%{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}}"

View File

@ -1,179 +0,0 @@
#! /bin/sh -e
# DP: Emit cld instruction when stringops are used (i386).
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
2008-03-06 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.h (TARGET_CLD): New define.
(struct machine_function): Add needs_cld field.
(ix86_current_function_needs_cld): New define.
* config/i386/i386.md (UNSPEC_CLD): New unspec volatile constant.
("cld"): New isns pattern.
("strmov_singleop"): Set ix86_current_function_needs_cld flag.
("rep_mov"): Ditto.
("strset_singleop"): Ditto.
("rep_stos"): Ditto.
("cmpstrnqi_nz_1"): Ditto.
("cmpstrnqi_1"): Ditto.
("strlenqi_1"): Ditto.
* config/i386/i386.c (ix86_expand_prologue): Emit cld insn for
TARGET_CLD when ix86_current_function_needs_cld is set.
Index: gcc/config/i386/i386.h
===================================================================
--- gcc/config/i386/i386.h (revision 132966)
+++ gcc/config/i386/i386.h (working copy)
@@ -388,6 +388,7 @@ extern unsigned int ix86_arch_features[X
extern int x86_prefetch_sse;
+#define TARGET_CLD 1
#define TARGET_ABM x86_abm
#define TARGET_CMPXCHG16B x86_cmpxchg16b
#define TARGET_POPCNT x86_popcnt
@@ -2446,8 +2447,9 @@ struct machine_function GTY(())
int save_varrargs_registers;
int accesses_prev_frame;
int optimize_mode_switching[MAX_386_ENTITIES];
- /* Set by ix86_compute_frame_layout and used by prologue/epilogue expander to
- determine the style used. */
+ int needs_cld;
+ /* Set by ix86_compute_frame_layout and used by prologue/epilogue
+ expander to determine the style used. */
int use_fast_prologue_epilogue;
/* Number of saved registers USE_FAST_PROLOGUE_EPILOGUE has been computed
for. */
@@ -2467,6 +2469,7 @@ struct machine_function GTY(())
#define ix86_stack_locals (cfun->machine->stack_locals)
#define ix86_save_varrargs_registers (cfun->machine->save_varrargs_registers)
#define ix86_optimize_mode_switching (cfun->machine->optimize_mode_switching)
+#define ix86_current_function_needs_cld (cfun->machine->needs_cld)
#define ix86_tls_descriptor_calls_expanded_in_cfun \
(cfun->machine->tls_descriptor_call_expanded_p)
/* Since tls_descriptor_call_expanded is not cleared, even if all TLS
Index: gcc/config/i386/i386.md
===================================================================
--- gcc/config/i386/i386.md (revision 132966)
+++ gcc/config/i386/i386.md (working copy)
@@ -205,6 +205,7 @@
(UNSPECV_XCHG 12)
(UNSPECV_LOCK 13)
(UNSPECV_PROLOGUE_USE 14)
+ (UNSPECV_CLD 15)
])
;; Constants to represent pcomtrue/pcomfalse variants
@@ -18519,6 +18520,14 @@
;; Block operation instructions
+(define_insn "cld"
+ [(unspec_volatile [(const_int 0)] UNSPECV_CLD)]
+ ""
+ "cld"
+ [(set_attr "length" "1")
+ (set_attr "length_immediate" "0")
+ (set_attr "modrm" "0")])
+
(define_expand "movmemsi"
[(use (match_operand:BLK 0 "memory_operand" ""))
(use (match_operand:BLK 1 "memory_operand" ""))
@@ -18591,7 +18600,7 @@
(set (match_operand 2 "register_operand" "")
(match_operand 5 "" ""))])]
"TARGET_SINGLE_STRINGOP || optimize_size"
- "")
+ "ix86_current_function_needs_cld = 1;")
(define_insn "*strmovdi_rex_1"
[(set (mem:DI (match_operand:DI 2 "register_operand" "0"))
@@ -18708,7 +18717,7 @@
(match_operand 3 "memory_operand" ""))
(use (match_dup 4))])]
""
- "")
+ "ix86_current_function_needs_cld = 1;")
(define_insn "*rep_movdi_rex64"
[(set (match_operand:DI 2 "register_operand" "=c") (const_int 0))
@@ -18868,7 +18877,7 @@
(set (match_operand 0 "register_operand" "")
(match_operand 3 "" ""))])]
"TARGET_SINGLE_STRINGOP || optimize_size"
- "")
+ "ix86_current_function_needs_cld = 1;")
(define_insn "*strsetdi_rex_1"
[(set (mem:DI (match_operand:DI 1 "register_operand" "0"))
@@ -18962,7 +18971,7 @@
(use (match_operand 3 "register_operand" ""))
(use (match_dup 1))])]
""
- "")
+ "ix86_current_function_needs_cld = 1;")
(define_insn "*rep_stosdi_rex64"
[(set (match_operand:DI 1 "register_operand" "=c") (const_int 0))
@@ -19138,7 +19147,7 @@
(clobber (match_operand 1 "register_operand" ""))
(clobber (match_dup 2))])]
""
- "")
+ "ix86_current_function_needs_cld = 1;")
(define_insn "*cmpstrnqi_nz_1"
[(set (reg:CC FLAGS_REG)
@@ -19185,7 +19194,7 @@
(clobber (match_operand 1 "register_operand" ""))
(clobber (match_dup 2))])]
""
- "")
+ "ix86_current_function_needs_cld = 1;")
(define_insn "*cmpstrnqi_1"
[(set (reg:CC FLAGS_REG)
@@ -19254,7 +19263,7 @@
(clobber (match_operand 1 "register_operand" ""))
(clobber (reg:CC FLAGS_REG))])]
""
- "")
+ "ix86_current_function_needs_cld = 1;")
(define_insn "*strlenqi_1"
[(set (match_operand:SI 0 "register_operand" "=&c")
Index: gcc/config/i386/i386.c
===================================================================
--- gcc/config/i386/i386.c (revision 132966)
+++ gcc/config/i386/i386.c (working copy)
@@ -6498,6 +6498,10 @@ ix86_expand_prologue (void)
emit_insn (gen_prologue_use (pic_offset_table_rtx));
emit_insn (gen_blockage ());
}
+
+ /* Emit cld instruction if stringops are used in the function. */
+ if (TARGET_CLD && ix86_current_function_needs_cld)
+ emit_insn (gen_cld ());
}
/* Emit code to restore saved registers using MOV insns. First register

View File

@ -1,44 +0,0 @@
#! /bin/sh -e
# DP: Report an ICE to apport (if apport is available
# DP: and the environment variable GCC_NOAPPORT is not set)
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- gcc/gcc.c~ 2007-08-05 22:17:07.000000000 +0200
+++ gcc/gcc.c 2007-08-12 15:03:16.000000000 +0200
@@ -6119,6 +6119,15 @@
{
notice ("Preprocessed source stored into %s file, please attach this to your bugreport.\n",
temp_filenames[attempt * 2]);
+ if (!getenv ("GCC_NOAPPORT")
+ && !access ("/usr/share/apport/gcc_ice_hook", R_OK | X_OK))
+ {
+ char *cmd = xmalloc (50 + strlen (temp_filenames[attempt * 2]) + strlen (new_argv[0]));
+ sprintf (cmd, "/usr/share/apport/gcc_ice_hook %s %s",
+ new_argv[0], temp_filenames[attempt * 2]);
+ system (cmd);
+ free (cmd);
+ }
/* Make sure it is not deleted. */
free (temp_filenames[attempt * 2]);
temp_filenames[attempt * 2] = NULL;

View File

@ -1,331 +0,0 @@
#! /bin/sh -e
# DP: Retry the build on an ice, save the calling options and preprocessed
# DP: source when the ice is reproducible.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
2004-01-23 Jakub Jelinek <jakub@redhat.com>
* system.h (ICE_EXIT_CODE): Define.
* gcc.c (execute): Don't free first string early, but at the end
of the function. Call retry_ice if compiler exited with
ICE_EXIT_CODE.
(retry_ice): New function.
* diagnostic.c (diagnostic_count_diagnostic,
diagnostic_action_after_output, error_recursion): Exit with
ICE_EXIT_CODE instead of FATAL_EXIT_CODE.
--- gcc/diagnostic.c.orig 2007-09-30 10:48:13.000000000 +0000
+++ gcc/diagnostic.c 2007-09-30 10:49:57.000000000 +0000
@@ -244,7 +244,7 @@
fnotice (stderr, "Please submit a full bug report,\n"
"with preprocessed source if appropriate.\n"
"See %s for instructions.\n", bug_report_url);
- exit (ICE_EXIT_CODE);
+ exit (FATAL_EXIT_CODE);
case DK_FATAL:
if (context->abort_on_error)
--- gcc/gcc.c.orig 2007-09-30 10:48:13.000000000 +0000
+++ gcc/gcc.c 2007-09-30 10:48:39.000000000 +0000
@@ -357,6 +357,9 @@
#if defined(HAVE_TARGET_OBJECT_SUFFIX) || defined(HAVE_TARGET_EXECUTABLE_SUFFIX)
static const char *convert_filename (const char *, int, int);
#endif
+#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS))
+static void retry_ice (const char *prog, const char **argv);
+#endif
static const char *getenv_spec_function (int, const char **);
static const char *if_exists_spec_function (int, const char **);
@@ -2999,7 +3002,7 @@
}
}
- if (string != commands[i].prog)
+ if (i && string != commands[i].prog)
free (CONST_CAST (char *, string));
}
@@ -3056,6 +3059,16 @@
else if (WIFEXITED (status)
&& WEXITSTATUS (status) >= MIN_FATAL_STATUS)
{
+#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS))
+ /* For ICEs in cc1, cc1obj, cc1plus see if it is
+ reproducible or not. */
+ char *p;
+ if (WEXITSTATUS (status) == ICE_EXIT_CODE
+ && i == 0
+ && (p = strrchr (commands[0].argv[0], DIR_SEPARATOR))
+ && ! strncmp (p + 1, "cc1", 3))
+ retry_ice (commands[0].prog, commands[0].argv);
+#endif
if (WEXITSTATUS (status) > greatest_status)
greatest_status = WEXITSTATUS (status);
ret_code = -1;
@@ -3076,6 +3089,9 @@
}
}
+ if (commands[0].argv[0] != commands[0].prog)
+ free ((PTR) commands[0].argv[0]);
+
return ret_code;
}
}
@@ -6016,6 +6032,224 @@
switches[switchnum].validated = 1;
}
+#if !(defined (__MSDOS__) || defined (OS2) || defined (VMS))
+#define RETRY_ICE_ATTEMPTS 2
+
+static void
+retry_ice (const char *prog, const char **argv)
+{
+ int nargs, out_arg = -1, quiet = 0, attempt;
+ int pid, retries, sleep_interval;
+ const char **new_argv;
+ char *temp_filenames[RETRY_ICE_ATTEMPTS * 2 + 2];
+
+ if (input_filename == NULL || ! strcmp (input_filename, "-"))
+ return;
+
+ for (nargs = 0; argv[nargs] != NULL; ++nargs)
+ /* Only retry compiler ICEs, not preprocessor ones. */
+ if (! strcmp (argv[nargs], "-E"))
+ return;
+ else if (argv[nargs][0] == '-' && argv[nargs][1] == 'o')
+ {
+ if (out_arg == -1)
+ out_arg = nargs;
+ else
+ return;
+ }
+ /* If the compiler is going to output any time information,
+ it might vary between invocations. */
+ else if (! strcmp (argv[nargs], "-quiet"))
+ quiet = 1;
+ else if (! strcmp (argv[nargs], "-ftime-report"))
+ return;
+
+ if (out_arg == -1 || !quiet)
+ return;
+
+ memset (temp_filenames, '\0', sizeof (temp_filenames));
+ new_argv = alloca ((nargs + 3) * sizeof (const char *));
+ memcpy (new_argv, argv, (nargs + 1) * sizeof (const char *));
+ new_argv[nargs++] = "-frandom-seed=0";
+ new_argv[nargs] = NULL;
+ if (new_argv[out_arg][2] == '\0')
+ new_argv[out_arg + 1] = "-";
+ else
+ new_argv[out_arg] = "-o-";
+
+ for (attempt = 0; attempt < RETRY_ICE_ATTEMPTS + 1; ++attempt)
+ {
+ int fd = -1;
+ int status;
+
+ temp_filenames[attempt * 2] = make_temp_file (".out");
+ temp_filenames[attempt * 2 + 1] = make_temp_file (".err");
+
+ if (attempt == RETRY_ICE_ATTEMPTS)
+ {
+ int i;
+ int fd1, fd2;
+ struct stat st1, st2;
+ size_t n, len;
+ char *buf;
+
+ buf = xmalloc (8192);
+
+ for (i = 0; i < 2; ++i)
+ {
+ fd1 = open (temp_filenames[i], O_RDONLY);
+ fd2 = open (temp_filenames[2 + i], O_RDONLY);
+
+ if (fd1 < 0 || fd2 < 0)
+ {
+ i = -1;
+ close (fd1);
+ close (fd2);
+ break;
+ }
+
+ if (fstat (fd1, &st1) < 0 || fstat (fd2, &st2) < 0)
+ {
+ i = -1;
+ close (fd1);
+ close (fd2);
+ break;
+ }
+
+ if (st1.st_size != st2.st_size)
+ {
+ close (fd1);
+ close (fd2);
+ break;
+ }
+
+ len = 0;
+ for (n = st1.st_size; n; n -= len)
+ {
+ len = n;
+ if (len > 4096)
+ len = 4096;
+
+ if (read (fd1, buf, len) != (int) len
+ || read (fd2, buf + 4096, len) != (int) len)
+ {
+ i = -1;
+ break;
+ }
+
+ if (memcmp (buf, buf + 4096, len) != 0)
+ break;
+ }
+
+ close (fd1);
+ close (fd2);
+
+ if (n)
+ break;
+ }
+
+ free (buf);
+ if (i == -1)
+ break;
+
+ if (i != 2)
+ {
+ notice ("The bug is not reproducible, so it is likely a hardware or OS problem.\n");
+ break;
+ }
+
+ fd = open (temp_filenames[attempt * 2], O_RDWR);
+ if (fd < 0)
+ break;
+ write (fd, "//", 2);
+ for (i = 0; i < nargs; i++)
+ {
+ write (fd, " ", 1);
+ write (fd, new_argv[i], strlen (new_argv[i]));
+ }
+ write (fd, "\n", 1);
+ new_argv[nargs] = "-E";
+ new_argv[nargs + 1] = NULL;
+ }
+
+ /* Fork a subprocess; wait and retry if it fails. */
+ sleep_interval = 1;
+ pid = -1;
+ for (retries = 0; retries < 4; retries++)
+ {
+ pid = fork ();
+ if (pid >= 0)
+ break;
+ sleep (sleep_interval);
+ sleep_interval *= 2;
+ }
+
+ if (pid < 0)
+ break;
+ else if (pid == 0)
+ {
+ if (attempt != RETRY_ICE_ATTEMPTS)
+ fd = open (temp_filenames[attempt * 2], O_RDWR);
+ if (fd < 0)
+ exit (-1);
+ if (fd != 1)
+ {
+ close (1);
+ dup (fd);
+ close (fd);
+ }
+
+ fd = open (temp_filenames[attempt * 2 + 1], O_RDWR);
+ if (fd < 0)
+ exit (-1);
+ if (fd != 2)
+ {
+ close (2);
+ dup (fd);
+ close (fd);
+ }
+
+ if (prog == new_argv[0])
+ execvp (prog, (char *const *) new_argv);
+ else
+ execv (new_argv[0], (char *const *) new_argv);
+ exit (-1);
+ }
+
+ if (waitpid (pid, &status, 0) < 0)
+ break;
+
+ if (attempt < RETRY_ICE_ATTEMPTS
+ && (! WIFEXITED (status) || WEXITSTATUS (status) != ICE_EXIT_CODE))
+ {
+ notice ("The bug is not reproducible, so it is likely a hardware or OS problem.\n");
+ break;
+ }
+ else if (attempt == RETRY_ICE_ATTEMPTS)
+ {
+ close (fd);
+ if (WIFEXITED (status)
+ && WEXITSTATUS (status) == SUCCESS_EXIT_CODE)
+ {
+ notice ("Preprocessed source stored into %s file, please attach this to your bugreport.\n",
+ temp_filenames[attempt * 2]);
+ /* Make sure it is not deleted. */
+ free (temp_filenames[attempt * 2]);
+ temp_filenames[attempt * 2] = NULL;
+ break;
+ }
+ }
+ }
+
+ for (attempt = 0; attempt < RETRY_ICE_ATTEMPTS * 2 + 2; attempt++)
+ if (temp_filenames[attempt])
+ {
+ unlink (temp_filenames[attempt]);
+ free (temp_filenames[attempt]);
+ }
+}
+#endif
+
/* Search for a file named NAME trying various prefixes including the
user's -B prefix and some standard ones.
Return the absolute file name found. If nothing is found, return NAME. */
--- gcc/Makefile.in.orig 2007-09-30 10:48:13.000000000 +0000
+++ gcc/Makefile.in 2007-09-30 10:48:39.000000000 +0000
@@ -192,6 +192,7 @@
build/gengtype-lex.o-warn = -Wno-error
# SYSCALLS.c misses prototypes
SYSCALLS.c.X-warn = -Wno-strict-prototypes -Wno-error
+build/gcc.o-warn = -Wno-error
# All warnings have to be shut off in stage1 if the compiler used then
# isn't gcc; configure determines that. WARN_CFLAGS will be either

View File

@ -1,62 +0,0 @@
#! /bin/sh -e
# DP: Use lib instead of lib64 as multilibdir on amd64 and ppc64.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
Index: gcc/config/i386/t-linux64
===================================================================
--- gcc/config/i386/t-linux64 (revision 130706)
+++ gcc/config/i386/t-linux64 (working copy)
@@ -13,7 +13,7 @@
MULTILIB_OPTIONS = m64/m32
MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
+MULTILIB_OSDIRNAMES = ../lib $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
Index: gcc/config/rs6000/t-linux64
===================================================================
--- gcc/config/rs6000/t-linux64 (revision 130706)
+++ gcc/config/rs6000/t-linux64 (working copy)
@@ -14,13 +14,13 @@
# it doesn't tell anything about the 32bit libraries on those systems. Set
# MULTILIB_OSDIRNAMES according to what is found on the target.
-MULTILIB_OPTIONS = m64/m32 msoft-float
-MULTILIB_DIRNAMES = 64 32 nof
+MULTILIB_OPTIONS = m64/m32
+MULTILIB_DIRNAMES = 64 32
MULTILIB_EXTRA_OPTS = fPIC mstrict-align
-MULTILIB_EXCEPTIONS = m64/msoft-float
-MULTILIB_EXCLUSIONS = m64/!m32/msoft-float
-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) nof
-MULTILIB_MATCHES = $(MULTILIB_MATCHES_FLOAT)
+MULTILIB_EXCEPTIONS =
+MULTILIB_EXCLUSIONS =
+MULTILIB_OSDIRNAMES = ../lib $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
+MULTILIB_MATCHES =
softfp_wrap_start := '\#ifndef __powerpc64__'
softfp_wrap_end := '\#endif'

View File

@ -1,726 +0,0 @@
#! /bin/sh -e
# DP: Add pascal options and specs for the gcc driver.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
ln -sf p ${dir}/gcc/pascal
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
diff -urN gcc.orig/p/lang.opt gcc/p/lang.opt
--- gcc.orig/p/lang.opt 1970-01-01 01:00:00.000000000 +0100
+++ gcc/p/lang.opt 2006-03-03 20:17:49.000000000 +0100
@@ -0,0 +1,635 @@
+; This file was generated automatically by mk-lang_opt.
+; DO NOT CHANGE THIS FILE MANUALLY!
+;
+; Options for the Pascal front end.
+; Copyright (C) 2004-2006 Free Software Foundation, Inc.
+;
+; This file is part of GNU Pascal.
+;
+; GNU Pascal is free software; you can redistribute it and/or modify
+; it under the terms of the GNU General Public License as published by
+; the Free Software Foundation; either version 2, or (at your option)
+; any later version.
+;
+; GNU Pascal is distributed in the hope that it will be useful,
+; but WITHOUT ANY WARRANTY; without even the implied warranty of
+; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+; GNU General Public License for more details.
+;
+; You should have received a copy of the GNU General Public License
+; along with GNU Pascal; see the file COPYING. If not, write to the
+; Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+; 02111-1307, USA.
+
+; See c.opt for a description of this file's format.
+
+; Please try to keep this file in ASCII collating order.
+
+Language
+Pascal
+
+A
+Pascal
+Ignored
+
+D
+Pascal Joined Separate
+-D<macro>[=<val>] Define a <macro> with <val> as its value. If just <macro> is given, <val> is taken to be 1
+
+E
+Pascal
+Preprocess only
+
+H
+Pascal
+Print the name of include files as they are used
+
+I
+Pascal Joined Separate
+-I <dir> Add <dir> to the end of the main include path.
+
+M
+Pascal
+Generate make dependencies
+
+MM
+Pascal
+Like -M but ignore system header files
+
+P
+Pascal
+Do not generate #line directives
+
+U
+Pascal Joined Separate
+-U<macro> Undefine <macro>
+
+Wabsolute
+Pascal
+Warn about variables at absolute adresses and `absolute' variable with non-constant addresses (default)
+
+Wall
+Pascal
+
+
+Wcomment
+Pascal
+
+
+Wdynamic-arrays
+Pascal
+Warn about arrays whose size is determined at run time (including array slices)
+
+Werror
+Pascal
+
+
+Wfloat-equal
+Pascal
+Warn about `=' and `<>' comparisons of real numbers
+
+Widentifier-case
+Pascal
+Warn about an identifier written with varying case
+
+Widentifier-case-local
+Pascal
+Warn about an identifier written with varying case within one program/module/unit
+
+Wimplicit-abstract
+Pascal
+Warn when an object type not declared `abstract' contains an abstract method (default)
+
+Wimplicit-io
+Pascal
+Warn when `Input' or `Output' are used implicitly
+
+Winherited-abstract
+Pascal
+Warn when an abstract object type inherits from a non-abstract one (default)
+
+Winterface-file-name
+Pascal
+Warn when a unit/module interface differs from the file name
+
+Wlocal-external
+Pascal
+Warn about local `external' declarations
+
+Wmissing-declarations
+Pascal
+
+
+Wmissing-prototypes
+Pascal
+
+
+Wmixed-comments
+Pascal
+Warn about mixed comments like `{ ... *)'
+
+Wnear-far
+Pascal
+Warn about use of useless `near' or `far' directives (default)
+
+Wnested-comments
+Pascal
+Warn about nested comments like `{ { } }'
+
+Wobject-assignment
+Pascal
+Warn when when assigning objects or declaring them as value parameters or function results (default)
+
+Wpointer-arith
+Pascal
+
+
+Wsemicolon
+Pascal
+Warn about a semicolon after `then', `else' or `do' (default)
+
+Wtyped-const
+Pascal
+Warn about misuse of typed constants as initialized variables (default)
+
+Wundef
+Pascal
+
+
+Wunderscore
+Pascal
+Warn about double/leading/trailing underscores in identifiers
+
+Wwarnings
+Pascal
+Enable warnings (same as `{$W+}')
+
+Wwrite-strings
+Pascal
+
+
+famtmpfile=
+Pascal Joined RejectNegative
+(Internal switch used for automake)
+
+fassertions
+Pascal
+Enable assertion checking (default)
+
+fautobuild
+Pascal
+Automatically compile all units/modules/`{$L ...}' files and link the object files provided
+
+fautolink
+Pascal
+Automatically link object files provided by units/modules or `{$L ...}' (default)
+
+fautomake
+Pascal
+Automatically compile changed units/modules/`{$L ...}' files and link the object files provided
+
+fautomake-g++=
+Pascal Joined RejectNegative
+Set the C++ compiler invoked by automake
+
+fautomake-gcc=
+Pascal Joined RejectNegative
+Set the C compiler invoked by automake
+
+fautomake-gpc=
+Pascal Joined RejectNegative
+Set the Pascal compiler invoked by automake
+
+fbig-endian
+Pascal RejectNegative
+Tell GPC that the system is big-endian (for those targets where it can vary)
+
+fborland-objects
+Pascal RejectNegative
+Choose Borland object model
+
+fborland-pascal
+Pascal RejectNegative
+Try to emulate Borland Pascal, version 7.0
+
+fcase-value-checking
+Pascal
+Cause a runtime error if a `case' matches no branch (default in ISO Pascal modes)
+
+fcidefine=
+Pascal Joined RejectNegative
+Define a case-insensitive macro
+
+fclassic-pascal
+Pascal RejectNegative
+Reject anything besides ISO 7185 Pascal
+
+fclassic-pascal-level-0
+Pascal RejectNegative
+Reject conformant arrays and anything besides ISO 7185 Pascal
+
+fcsdefine=
+Pascal Joined RejectNegative
+Define a case-sensitive macro
+
+fcstrings-as-strings
+Pascal
+Treat CStrings as strings
+
+fdebug-automake
+Pascal RejectNegative
+(For GPC developers.) Give additional information about the actions of automake
+
+fdebug-gpi
+Pascal RejectNegative
+(For GPC developers.) Show what is written to and read from GPI files (huge output!)
+
+fdebug-source
+Pascal
+Output the source while it is processed to standard error
+
+fdebug-tree=
+Pascal Joined RejectNegative
+(For GPC developers.) Show the internal representation of a given tree node (name or address)
+
+fdelphi
+Pascal RejectNegative
+Try to emulate Borland Pascal, version 7.0, with some Delphi extensions
+
+fdelphi-comments
+Pascal
+Allow Delphi style `//' comments (default)
+
+fdelphi-method-shadowing
+Pascal
+Redefining methods silently shadows old definition (default in `--delphi')
+
+fdisable-debug-info
+Pascal RejectNegative
+Inhibit `-g' options (temporary work-around, this option may disappear in the future)
+
+fdisable-default-paths
+Pascal RejectNegative
+Do not add a default path to the unit and object path
+
+fdisable-keyword=
+Pascal Joined RejectNegative
+Disable a keyword, independently of dialect defaults
+
+fdisable-predefined-identifier=
+Pascal Joined RejectNegative
+Disable a predefined identifier, independently of dialect defaults
+
+fdouble-quoted-strings
+Pascal
+Allow strings enclosed in \"\" (default)
+
+fenable-keyword=
+Pascal Joined RejectNegative
+Enable a keyword, independently of dialect defaults
+
+fenable-predefined-identifier=
+Pascal Joined RejectNegative
+Enable a predefined identifier, independently of dialect defaults
+
+fexact-compare-strings
+Pascal
+Do not blank-pad strings for comparisons
+
+fexecutable-file-name
+Pascal RejectNegative
+Derive output file name from main source file name
+
+fexecutable-file-name=
+Pascal Joined RejectNegative
+Specify the name of the output file
+
+fexecutable-path
+Pascal
+`--no-executable-path': Create the executable file in the directory where the main source is (default)
+
+fexecutable-path=
+Pascal Joined RejectNegative
+Path where to create the executable file
+
+fextended-pascal
+Pascal RejectNegative
+Reject anything besides ISO 10206 Extended Pascal
+
+fextended-syntax
+Pascal
+same as `--ignore-function-results --pointer-arithmetic --cstrings-as-strings -Wno-absolute' (same as `{$X+}')
+
+ffield-widths
+Pascal
+Use default field widths in write statements
+
+ffield-widths=
+Pascal Joined RejectNegative
+Specify as a colon-separated list the default field widths in write statements for Integer, Real, Boolean, LongInt, LongReal
+
+fgnu-objects
+Pascal RejectNegative
+Reset object model to default state
+
+fgnu-pascal
+Pascal RejectNegative
+Undo the effect of previous dialect options, allow all features again
+
+fgpc-main=
+Pascal Joined RejectNegative
+External name for the program's entry point (default: `main')
+
+fgpi-destination-path=
+Pascal Joined RejectNegative
+(Internal switch used for automake)
+
+fignore-function-results
+Pascal
+Do not complain when a function is called like a procedure
+
+fignore-garbage-after-dot
+Pascal
+Ignore anything after the terminating `.' (default in `--borland-pascal')
+
+fignore-packed
+Pascal
+Ignore `packed' in the source code (default in `--borland-pascal')
+
+fimplementation-only
+Pascal RejectNegative
+Do not produce a GPI file; only compile the implementation part
+
+fimplicit-result
+Pascal
+Enable implicit `Result' for functions (default only in `--delphi')
+
+finit-modules=
+Pascal Joined RejectNegative
+Initialize the named modules in addition to those imported regularly; kind of a kludge
+
+finterface-only
+Pascal RejectNegative
+Compile only the interface part of a unit/module and exit (creates `.gpi' file, no `.o' file)
+
+fio-checking
+Pascal
+Check I/O operations automatically (same as `{$I+}') (default)
+
+fiso-goto-restrictions
+Pascal
+Do not allow jumps into structured instructions (default)
+
+flittle-endian
+Pascal RejectNegative
+Tell GPC that the system is little-endian (for those targets where it can vary)
+
+flongjmp-all-nonlocal-labels
+Pascal
+Use `longjmp' for all nonlocal labels (default for Darwin/PPC)
+
+fmac-objects
+Pascal RejectNegative
+Choose Mac object model
+
+fmac-pascal
+Pascal RejectNegative
+Support (some features of) traditional Macintosh Pascal compilers
+
+fmacros
+Pascal
+Expand macros (default except with `--ucsd-pascal', `--borland-pascal' or `--delphi')
+
+fmaximum-field-alignment=
+Pascal Joined RejectNegative
+Set the maximum field alignment in bits if `pack-struct' is in effect
+
+fmethods-always-virtual
+Pascal
+Make all methods virtual (default in `--mac-pascal')
+
+fmixed-comments
+Pascal
+Allow comments like `{ ... *)' as required in ISO Pascal (default in ISO 7185/10206 Pascal mode)
+
+fnested-comments
+Pascal
+Allow nested comments like `{ { } }' and `(* (* *) *)'
+
+fnonlocal-exit
+Pascal
+Allow non-local `Exit' statements (default in `--ucsd-pascal' and `--mac-pascal')
+
+fobject-checking
+Pascal
+Check for valid objects on virtual method calls (default)
+
+fobject-destination-path
+Pascal
+`--no-object-destination-path': Create additional object files (e.g. of C files, not Pascal units) in the current directory (default)
+
+fobject-destination-path=
+Pascal Joined RejectNegative
+Path where to create additional object files (e.g. of C files, not Pascal units)
+
+fobject-pascal
+Pascal RejectNegative
+Reject anything besides (the implemented parts of) ANSI draft Object Pascal
+
+fobject-path
+Pascal
+`--no-object-path': Forget about directories where to look for additional object (and source) files
+
+fobject-path=
+Pascal Joined RejectNegative
+Directories where to look for additional object (and source) files
+
+fobjects-are-references
+Pascal
+Turn objects into references (default in `--mac-pascal')
+
+fobjects-require-override
+Pascal
+Require override directive for objects (default in `--mac-pascal')
+
+fooe-objects
+Pascal RejectNegative
+Choose OOE object model
+
+fpascal-sc
+Pascal RejectNegative
+Be strict about the implemented Pascal-SC extensions
+
+fpedantic
+Pascal
+Reject everything not allowed in some dialect, e.g. redefinition of its keywords
+
+fpointer-arithmetic
+Pascal
+Enable pointer arithmetic
+
+fpointer-checking
+Pascal
+Validate pointers before dereferencing
+
+fpointer-checking-user-defined
+Pascal
+Use user-defined procedure for validating pointers
+
+fpreprocessed
+Pascal RejectNegative
+Treat the input file as already preprocessed
+
+fprint-needed-options
+Pascal RejectNegative
+Print the needed options
+
+fprogress-bar
+Pascal
+Output number of processed lines while compiling
+
+fprogress-messages
+Pascal
+Output source file names and line numbers while compiling
+
+fpropagate-units
+Pascal
+Automalically export all imported identifiers from a unit
+
+frange-and-object-checking
+Pascal
+Same as `--range-checking --object-checking', same as `{$R+}'
+
+frange-checking
+Pascal
+Do automatic range checks (default)
+
+fread-base-specifier
+Pascal
+In read statements, allow input base specifier `n#' (default)
+
+fread-hex
+Pascal
+In read statements, allow hexadecimal input with `$' (default)
+
+fread-white-space
+Pascal
+In read statements, require whitespace after numbers
+
+fsetlimit=
+Pascal Joined RejectNegative
+Define the range for `set of Integer' etc.
+
+fshort-circuit
+Pascal
+Guarantee short-circuit Boolean evaluation (default; same as `{$B-}')
+
+fstack-checking
+Pascal
+Enable stack checking (same as `{$S+}')
+
+fstandard-pascal
+Pascal RejectNegative
+Synonym for `--classic-pascal'
+
+fstandard-pascal-level-0
+Pascal RejectNegative
+Synonym for `--classic-pascal-level-0'
+
+fsun-pascal
+Pascal RejectNegative
+Support (a few features of) Sun Pascal
+
+ftransparent-file-names
+Pascal
+Derive external file names from variable names
+
+ftruncate-strings
+Pascal
+Truncate strings being assigned to other strings of too short capacity
+
+ftyped-address
+Pascal
+Make the result of the address operator typed (same as `{$T+}', default)
+
+fucsd-pascal
+Pascal RejectNegative
+Try to emulate UCSD Pascal
+
+funit-destination-path
+Pascal
+`--no-unit-destination-path': Create object and GPI files of Pascal units in the current directory (default)
+
+funit-destination-path=
+Pascal Joined RejectNegative
+Path where to create object and GPI files of Pascal units
+
+funit-path
+Pascal
+`--no-unit-path': Forget about directories where to look for unit/module sources
+
+funit-path=
+Pascal Joined RejectNegative
+Directories where to look for unit/module sources
+
+fuses=
+Pascal Joined RejectNegative
+Add an implicit `uses' clause
+
+fvax-pascal
+Pascal RejectNegative
+Support (a few features of) VAX Pascal
+
+fwrite-capital-exponent
+Pascal
+Write real exponents with a capital `E'
+
+fwrite-clip-strings
+Pascal
+In write statements, truncate strings exceeding their field width (`Write (SomeLongString : 3)')
+
+fwrite-real-blank
+Pascal
+Output a blank in front of positive reals in exponential form (default)
+
+idirafter
+Pascal Joined Separate
+`-idirafter <dir>' Add <dir> to the end of the system include path
+
+imacros
+Pascal Joined Separate
+-imacros <file> Accept definition of macros in <file>
+
+include
+Pascal Joined Separate
+-include <file> Include the contents of <file> before other files
+
+iprefix
+Pascal Joined Separate
+-iprefix <path> Specify <path> as a prefix for next two options
+
+isystem
+Pascal Joined Separate
+-isystem <dir> Add <dir> to the start of the system include path
+
+iwithprefix
+Pascal Joined Separate
+-iwithprefix <dir> Add <dir> to the end of the system include path
+
+iwithprefixbefore
+Pascal Joined Separate
+-iwithprefixbefore <dir> Add <dir> to the end of the main include path
+
+nostdinc
+Pascal
+Do not search standard system include directories (those specified with -isystem will still be used)
+
+remap
+Pascal
+Remap file names when including files
+
+v
+Pascal
+Enable verbose output
+
+; This comment is to ensure we retain the blank line above.
diff -urN gcc.orig/p/lang-specs.h gcc/p/lang-specs.h
--- gcc.orig/p/lang-specs.h 1970-01-01 01:00:00.000000000 +0100
+++ gcc/p/lang-specs.h 2006-03-25 02:53:09.000000000 +0100
@@ -0,0 +1,46 @@
+/*Definitions for specs for Pascal.
+
+ Copyright (C) 1997-2006 Free Software Foundation, Inc.
+
+ Authors: Peter Gerwinski <peter@gerwinski.de>
+ Frank Heckenbach <frank@pascal.gnu.de>
+
+ This file is part of GNU Pascal.
+
+ GNU Pascal is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published
+ by the Free Software Foundation; either version 2, or (at your
+ option) any later version.
+
+ GNU Pascal is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with GNU Pascal; see the file COPYING. If not, write to the
+ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA. */
+
+#include "p/p-version.h"
+
+/* This is the contribution to the `default_compilers' array for Pascal. */
+ {".pas", "@Pascal", 0},
+ {".p", "@Pascal", 0},
+ {".pp", "@Pascal", 0},
+ {".dpr", "@Pascal", 0},
+ {"@Pascal",
+ "gpc1 %{E:-E %{!M:%(cpp_unique_options) %1 %{m*} %{f*&W*&pedantic*} %{w} "
+ "%(cpp_debug_options) %{O*}}}"
+ "%{M:%(cpp_unique_options) %1 %{m*} %{f*&W*&pedantic*} %{w}"
+ "%(cpp_debug_options) %{O*}}"
+ "%{!E:%{!M:%{save-temps:-E %(cpp_unique_options) %1 %{m*} "
+ "%{f*&W*&pedantic*} %{w} %{O*} -o %b.i \n\
+ gpc1 -fpreprocessed %b.i} %{!save-temps:%(cpp_unique_options)} \
+ %(cc1_options)\
+ %{!famtmpfile*:%eInternal GPC problem: internal option `--amtmpfile' not given}\
+ %{!fsyntax-only:%(invoke_as)}}}", 0},
+ {"@Preprocessed-Pascal",
+ "%{!M:%{!MM:%{!E:gpc1 -fpreprocessed %i %(cc1_options)\
+ %{!famtmpfile*:%eInternal GPC problem: internal option `--amtmpfile' not given}\
+ %{!fsyntax-only:%(invoke_as)} }}}", 0},
diff -urN gcc.orig/p/p-version.h gcc/p/p-version.h
--- gcc.orig/p/p-version.h 1970-01-01 01:00:00.000000000 +0100
+++ gcc/p/p-version.h 2006-03-25 02:53:09.000000000 +0100
@@ -0,0 +1,7 @@
+/* Generated automatically by the Makefile.
+ DO NOT CHANGE THIS FILE MANUALLY! */
+
+#define GPC_MAJOR "2"
+#define GPC_MINOR "1"
+#define GPC_VERSION_STRING "20060325"
+#define GPC_RELEASE_STRING GPC_VERSION_STRING

View File

@ -1,209 +0,0 @@
#! /bin/sh -e
# DP: Turn on -fstack-protector by default for C, C++, ObjC, ObjC++.
# DP: Build libgcc using -fno-stack-protector.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- gcc/doc/invoke.texi.orig 2007-11-29 11:21:52.863409623 +0000
+++ gcc/doc/invoke.texi 2007-11-29 11:22:35.014045455 +0000
@@ -6553,6 +6553,10 @@
when a function is entered and then checked when the function exits.
If a guard check fails, an error message is printed and the program exits.
+NOTE: In Ubuntu 6.10 and later versions this option is enabled by default
+for C, C++, ObjC, ObjC++, if neither @option{-no-fstack-protector}
+nor @option{-nostdlib} are found.
+
@item -fstack-protector-all
@opindex fstack-protector-all
Like @option{-fstack-protector} except that all functions are protected.
--- gcc/objc/lang-specs.h.orig 2007-11-29 11:21:52.863409623 +0000
+++ gcc/objc/lang-specs.h 2007-11-29 11:22:35.014045455 +0000
@@ -30,13 +30,13 @@
%{traditional|ftraditional|traditional-cpp:\
%eGNU Objective C no longer supports traditional compilation}\
%{save-temps|no-integrated-cpp:cc1obj -E %(cpp_options) -o %{save-temps:%b.mi} %{!save-temps:%g.mi} \n\
- cc1obj -fpreprocessed %{save-temps:%b.mi} %{!save-temps:%g.mi} %(cc1_options) %{print-objc-runtime-info} %{gen-decls}}\
+ cc1obj -fpreprocessed %{save-temps:%b.mi} %{!save-temps:%g.mi} %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}}\
%{!save-temps:%{!no-integrated-cpp:\
- cc1obj %(cpp_unique_options) %(cc1_options) %{print-objc-runtime-info} %{gen-decls}}}\
+ cc1obj %(cpp_unique_options) %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}}}\
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
{".mi", "@objc-cpp-output", 0, 0, 0},
{"@objc-cpp-output",
- "%{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\
+ "%{!M:%{!MM:%{!E:cc1obj -fpreprocessed %i %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}\
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
{"@objective-c-header",
"%{E|M|MM:cc1obj -E %{traditional|ftraditional|traditional-cpp:-traditional-cpp}\
@@ -45,10 +45,10 @@
%{traditional|ftraditional|traditional-cpp:\
%eGNU Objective C no longer supports traditional compilation}\
%{save-temps|no-integrated-cpp:cc1obj -E %(cpp_options) -o %{save-temps:%b.mi} %{!save-temps:%g.mi} \n\
- cc1obj -fpreprocessed %b.mi %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\
+ cc1obj -fpreprocessed %b.mi %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}\
-o %g.s %{!o*:--output-pch=%i.gch}\
%W{o*:--output-pch=%*}%V}\
%{!save-temps:%{!no-integrated-cpp:\
- cc1obj %(cpp_unique_options) %(cc1_options) %{print-objc-runtime-info} %{gen-decls}\
+ cc1obj %(cpp_unique_options) %(cc1_options) %(ssp_default) %{print-objc-runtime-info} %{gen-decls}\
-o %g.s %{!o*:--output-pch=%i.gch}\
%W{o*:--output-pch=%*}%V}}}}}", 0, 0, 0},
--- gcc/objcp/lang-specs.h.orig 2007-11-29 11:21:52.863409623 +0000
+++ gcc/objcp/lang-specs.h 2007-11-29 11:22:35.014045455 +0000
@@ -36,7 +36,7 @@
%(cpp_options) %2 -o %{save-temps:%b.mii} %{!save-temps:%g.mii} \n}\
cc1objplus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.mii} %{!save-temps:%g.mii}}\
%{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\
- %(cc1_options) %2 %{+e1*}\
+ %(cc1_options) %(ssp_default) %2 %{+e1*}\
-o %g.s %{!o*:--output-pch=%i.gch} %W{o*:--output-pch=%*}%V}}}",
CPLUSPLUS_CPP_SPEC, 0, 0},
{"@objective-c++",
@@ -46,15 +46,15 @@
%(cpp_options) %2 -o %{save-temps:%b.mii} %{!save-temps:%g.mii} \n}\
cc1objplus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.mii} %{!save-temps:%g.mii}}\
%{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\
- %(cc1_options) %2 %{+e1*}\
+ %(cc1_options) %(ssp_default) %2 %{+e1*}\
%{!fsyntax-only:%(invoke_as)}}}}",
CPLUSPLUS_CPP_SPEC, 0, 0},
{".mii", "@objective-c++-cpp-output", 0, 0, 0},
{"@objective-c++-cpp-output",
"%{!M:%{!MM:%{!E:\
- cc1objplus -fpreprocessed %i %(cc1_options) %2 %{+e*}\
+ cc1objplus -fpreprocessed %i %(cc1_options) %(ssp_default) %2 %{+e*}\
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
{"@objc++-cpp-output",
"%{!M:%{!MM:%{!E:\
- cc1objplus -fpreprocessed %i %(cc1_options) %2 %{+e*}\
+ cc1objplus -fpreprocessed %i %(cc1_options) %(ssp_default) %2 %{+e*}\
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
--- gcc/cp/lang-specs.h.orig 2007-11-29 11:21:52.863409623 +0000
+++ gcc/cp/lang-specs.h 2007-11-29 11:22:35.014045455 +0000
@@ -47,7 +47,7 @@
%(cpp_options) %2 -o %{save-temps:%b.ii} %{!save-temps:%g.ii} \n}\
cc1plus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.ii} %{!save-temps:%g.ii}}\
%{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\
- %(cc1_options) %2 %{+e1*}\
+ %(cc1_options) %(ssp_default) %2 %{+e1*}\
%{!fsyntax-only:-o %g.s %{!o*:--output-pch=%i.gch} %W{o*:--output-pch=%*}%V}}}}",
CPLUSPLUS_CPP_SPEC, 0, 0},
{"@c++",
@@ -57,11 +57,11 @@
%(cpp_options) %2 -o %{save-temps:%b.ii} %{!save-temps:%g.ii} \n}\
cc1plus %{save-temps|no-integrated-cpp:-fpreprocessed %{save-temps:%b.ii} %{!save-temps:%g.ii}}\
%{!save-temps:%{!no-integrated-cpp:%(cpp_unique_options)}}\
- %(cc1_options) %2 %{+e1*}\
+ %(cc1_options) %(ssp_default) %2 %{+e1*}\
%{!fsyntax-only:%(invoke_as)}}}}",
CPLUSPLUS_CPP_SPEC, 0, 0},
{".ii", "@c++-cpp-output", 0, 0, 0},
{"@c++-cpp-output",
"%{!M:%{!MM:%{!E:\
- cc1plus -fpreprocessed %i %(cc1_options) %2 %{+e*}\
+ cc1plus -fpreprocessed %i %(cc1_options) %(ssp_default) %2 %{+e*}\
%{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
--- gcc/Makefile.in.orig 2007-11-29 11:21:52.863409623 +0000
+++ gcc/Makefile.in 2007-11-29 11:23:23.254773156 +0000
@@ -559,6 +559,7 @@
LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(TARGET_LIBGCC2_CFLAGS) \
$(LIBGCC2_DEBUG_CFLAGS) $(GTHREAD_FLAGS) \
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED \
+ -fno-stack-protector \
$(INHIBIT_LIBC_CFLAGS)
# Additional options to use when compiling libgcc2.a.
@@ -572,6 +573,7 @@
CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -g0 \
-finhibit-size-directive -fno-inline-functions -fno-exceptions \
-fno-zero-initialized-in-bss -fno-toplevel-reorder -fno-tree-vectorize \
+ -fno-stack-protector \
$(INHIBIT_LIBC_CFLAGS)
# Additional sources to handle exceptions; overridden by targets as needed.
--- gcc/gcc.c.orig 2007-11-29 11:21:52.873409773 +0000
+++ gcc/gcc.c 2007-11-29 11:22:35.024045606 +0000
@@ -701,6 +701,10 @@
#endif
#endif
+#ifndef SSP_DEFAULT_SPEC
+#define SSP_DEFAULT_SPEC "%{!fno-stack-protector:%{!nostdlib:-fstack-protector}}"
+#endif
+
#ifndef LINK_PIE_SPEC
#ifdef HAVE_LD_PIE
#define LINK_PIE_SPEC "%{pie:-pie} "
@@ -754,6 +758,7 @@
static const char *cc1plus_spec = CC1PLUS_SPEC;
static const char *link_gcc_c_sequence_spec = LINK_GCC_C_SEQUENCE_SPEC;
static const char *link_ssp_spec = LINK_SSP_SPEC;
+static const char *ssp_default_spec = SSP_DEFAULT_SPEC;
static const char *asm_spec = ASM_SPEC;
static const char *asm_final_spec = ASM_FINAL_SPEC;
static const char *link_spec = LINK_SPEC;
@@ -827,6 +832,7 @@
%{--help=*:--help=%(VALUE)}\
%{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}}\
%{fsyntax-only:-o %j} %{-param*}\
+ %(ssp_default)\
%{fmudflap|fmudflapth:-fno-builtin -fno-merge-constants}\
%{coverage:-fprofile-arcs -ftest-coverage}";
@@ -988,15 +994,15 @@
%{save-temps|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \
%(cpp_options) -o %{save-temps:%b.i} %{!save-temps:%g.i} \n\
cc1 -fpreprocessed %{save-temps:%b.i} %{!save-temps:%g.i} \
- %(cc1_options)}\
+ %(cc1_options) %(ssp_default)}\
%{!save-temps:%{!traditional-cpp:%{!no-integrated-cpp:\
- cc1 %(cpp_unique_options) %(cc1_options)}}}\
+ cc1 %(cpp_unique_options) %(cc1_options) %(ssp_default)}}}\
%{!fsyntax-only:%(invoke_as)}} \
%{combine:\
%{save-temps|traditional-cpp|no-integrated-cpp:%(trad_capable_cpp) \
%(cpp_options) -o %{save-temps:%b.i} %{!save-temps:%g.i}}\
%{!save-temps:%{!traditional-cpp:%{!no-integrated-cpp:\
- cc1 %(cpp_unique_options) %(cc1_options)}}\
+ cc1 %(cpp_unique_options) %(cc1_options) %(ssp_default)}}\
%{!fsyntax-only:%(invoke_as)}}}}}}", 0, 1, 1},
{"-",
"%{!E:%e-E or -x required when input is from standard input}\
@@ -1019,7 +1025,7 @@
%W{o*:--output-pch=%*}%V}}}}}}", 0, 0, 0},
{".i", "@cpp-output", 0, 1, 0},
{"@cpp-output",
- "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 1, 0},
+ "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %(ssp_default) %{!fsyntax-only:%(invoke_as)}}}}", 0, 1, 0},
{".s", "@assembler", 0, 1, 0},
{"@assembler",
"%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 1, 0},
@@ -1579,6 +1585,7 @@
INIT_STATIC_SPEC ("cc1plus", &cc1plus_spec),
INIT_STATIC_SPEC ("link_gcc_c_sequence", &link_gcc_c_sequence_spec),
INIT_STATIC_SPEC ("link_ssp", &link_ssp_spec),
+ INIT_STATIC_SPEC ("ssp_default", &ssp_default_spec),
INIT_STATIC_SPEC ("endfile", &endfile_spec),
INIT_STATIC_SPEC ("link", &link_spec),
INIT_STATIC_SPEC ("lib", &lib_spec),

View File

@ -1,103 +0,0 @@
#! /bin/sh -e
# DP: Set gettext's domain and textdomain to the versioned package name.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- gcc/Makefile.in.orig 2005-09-04 23:32:54.003440040 +0000
+++ gcc/Makefile.in 2005-09-04 23:40:10.954013456 +0000
@@ -4565,8 +4565,8 @@
dir=$(localedir)/$$lang/LC_MESSAGES; \
echo $(mkinstalldirs) $(DESTDIR)$$dir; \
$(mkinstalldirs) $(DESTDIR)$$dir || exit 1; \
- echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc.mo; \
- $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc.mo; \
+ echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc-4.3.mo; \
+ $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc-4.3.mo; \
done
# Rule for regenerating the message template (gcc.pot).
--- gcc/intl.c.orig 2005-09-04 23:32:54.006439584 +0000
+++ gcc/intl.c 2005-09-04 23:36:37.933397512 +0000
@@ -51,8 +51,8 @@
setlocale (LC_ALL, "");
#endif
- (void) bindtextdomain ("gcc", LOCALEDIR);
- (void) textdomain ("gcc");
+ (void) bindtextdomain ("gcc-4.3", LOCALEDIR);
+ (void) textdomain ("gcc-4.3");
/* Opening quotation mark. */
open_quote = _("`");
--- libcpp/Makefile.in.orig 2005-09-04 23:32:54.009439128 +0000
+++ libcpp/Makefile.in 2005-09-04 23:33:24.607787472 +0000
@@ -47,6 +47,7 @@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
PACKAGE = @PACKAGE@
+PACKAGE_SUFFIX = -4.3
RANLIB = @RANLIB@
SHELL = @SHELL@
USED_CATALOGS = @USED_CATALOGS@
@@ -66,6 +67,7 @@
INCLUDES = -I$(srcdir) -I. -I$(srcdir)/../include @INCINTL@ \
-I$(srcdir)/include
+CPPFLAGS += -DPACKAGE_SUFFIX=\"$(strip $(PACKAGE_SUFFIX))\"
ALL_CFLAGS = $(CFLAGS) $(WARN_CFLAGS) $(INCLUDES) $(CPPFLAGS)
@@ -156,8 +158,8 @@
else continue; \
fi; \
dir=$(localedir)/$$lang/LC_MESSAGES; \
- echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
- $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
+ echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE)$(PACKAGE_SUFFIX).mo; \
+ $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE)$(PACKAGE_SUFFIX).mo; \
done
mostlyclean:
--- libcpp/system.h.orig 2005-09-04 23:32:54.006439584 +0000
+++ libcpp/system.h 2005-09-04 23:33:24.606787624 +0000
@@ -260,7 +260,7 @@
#endif
#ifndef _
-# define _(msgid) dgettext (PACKAGE, msgid)
+# define _(msgid) dgettext (PACKAGE PACKAGE_SUFFIX, msgid)
#endif
#ifndef N_
--- libcpp/init.c.orig 2005-09-04 23:32:54.008439280 +0000
+++ libcpp/init.c 2005-09-04 23:33:24.607787472 +0000
@@ -122,7 +122,7 @@
init_trigraph_map ();
#ifdef ENABLE_NLS
- (void) bindtextdomain (PACKAGE, LOCALEDIR);
+ (void) bindtextdomain (PACKAGE PACKAGE_SUFFIX, LOCALEDIR);
#endif
}
}

View File

@ -1,87 +0,0 @@
#! /bin/sh -e
# gdc-fix-build-kfreebsd.dpatch by Arthur Loiret <arthur.loiret@gmail.com>
# DP: Fix gdc build on k*bsd*-gnu, update configure and target-ver-syms.sh
# DP: to build k*bsd*-gnu architectures as a freebsd
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
#cd ${dir}gcc && autoconf
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
#rm ${dir}gcc/configure
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- gcc/d/phobos/configure 2007-09-03 01:23:59.000000000 +0200
+++ gcc/d/phobos/configure 2007-09-03 01:27:18.000000000 +0200
@@ -4599,7 +4599,7 @@
case "$target_os" in
darwin6*) DCFG_LONG_DOUBLE_FUNCS=config/noldfuncs ;;
darwin*) DCFG_LONG_DOUBLE_FUNCS=config/ldfuncs-darwin ;;
- linux*)
+ linux*|k*bsd*-gnu)
case "$target_cpu" in
powerpc*)
DCFG_LONG_DOUBLE_FUNCS=config/ldfuncs-ppclinux
@@ -5687,7 +5687,7 @@
case "$d_target_os" in
# use fpmath on Linux
- linux*) d_have_fpsb=''
+ linux*|k*bsd*-gnu) d_have_fpsb=''
;;
esac
@@ -7014,7 +7014,7 @@
rm -f conftest.d conftest.$ac_objext
case "$d_target_os" in
- aix*|*bsd*|cygwin*|darwin*|linux*|skyos*|solaris*|sysv*) d_have_unix=1 ;;
+ aix*|*bsd*|cygwin*|darwin*|linux*|k*bsd*-gnu|skyos*|solaris*|sysv*) d_have_unix=1 ;;
esac
DCFG_CBRIDGE_STDIO=
@@ -7027,7 +7027,7 @@
d_sem_impl="mach"
d_have_loader=1
;;
- freebsd*)
+ freebsd*|k*bsd*-gnu)
d_have_loader=1
D_EXTRA_OBJS="$D_EXTRA_OBJS gcc/cbridge_stdio.o"
DCFG_CBRIDGE_STDIO=GNU_CBridge_Stdio
@@ -9046,7 +9046,7 @@
d_gc_stack=GC_Use_Stack_Fixed
d_gc_data="$d_gc_data GC_Use_Data_Dyld"
;;
- freebsd*) D_GC_MODULES="$D_GC_MODULES internal/gc/gc_freebsd.o"
+ freebsd*|k*bsd*-gnu) D_GC_MODULES="$D_GC_MODULES internal/gc/gc_freebsd.o"
d_gc_stack=GC_Use_Stack_FreeBSD
d_gc_data="$d_gc_data GC_Use_Data_Fixed"
;;
--- gcc/d/target-ver-syms.sh 2007-09-03 02:14:56.000000000 +0200
+++ gcc/d/target-ver-syms.sh 2007-09-03 02:52:43.000000000 +0200
@@ -30,6 +30,7 @@
darwin*) d_os_versym=darwin ; d_unix=1 ;;
elf*) ;;
freebsd*) d_os_versym=freebsd ; d_unix=1 ;;
+k*bsd*-gnu) d_os_versym=freebsd ; d_unix=1;;
linux*) d_os_versym=linux ; d_unix=1 ;;
mingw32*) d_os_versym=Win32; d_windows=1 ;;
pe*) case "$target" in

View File

@ -1,28 +0,0 @@
#! /bin/sh -e
# DP: GPC updates for GCC 4.1.2
dir=gcc/
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3/gcc"
dir="$3/gcc/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p1 < $0
#cd ${dir}gcc && autoconf
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
#rm ${dir}gcc/configure
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
Not yet available for GCC-4.3

View File

@ -1,32 +0,0 @@
#! /bin/sh -e
# DP: The gpc patch from the gpc tarball.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
#pdir="-d $3/gcc"
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
gpc_gcc_patch=$pdir/p/diffs/gcc-4.1.diff
gpc_gcc_patch=debian/patches/gpc-gcc-4.1.diff
case "$1" in
-patch)
echo Using patch file ${gpc_gcc_patch}
patch $pdir -f -p0 < ${gpc_gcc_patch}
;;
-unpatch)
# get the patch from the gpc source
echo Using patch file ${gpc_gcc_patch}
patch $pdir -f -R -p0 < ${gpc_gcc_patch}
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0

View File

@ -1,117 +0,0 @@
#! /bin/sh -e
# DP: versioned gpc names
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
-unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- gcc/p/doc/en/gpc.texi.orig 2007-08-27 00:21:02.340767891 +0200
+++ gcc/p/doc/en/gpc.texi 2007-08-27 00:21:29.921183935 +0200
@@ -23,11 +23,11 @@
@dircategory GNU programming tools
@direntry
-* GPC: (gpc). The GNU Pascal Compiler.
+* GPC-4.1: (gpc-4.1). The GNU Pascal Compiler (v2.1, based on GCC 4.1).
@end direntry
@dircategory Individual utilities
@direntry
-* GPC: (gpc)Invoking GPC. The GNU Pascal Compiler.
+* GPC-4.1: (gpc-4.1)Invoking GPC. The GNU Pascal Compiler (v2.1, based on GCC 4.1).
@end direntry
@c For FSF printing, turn on finalout (to get rid of the black
--- gcc/p/Make-lang.in.orig 2007-08-27 00:21:02.340767891 +0200
+++ gcc/p/Make-lang.in 2007-08-27 00:23:19.412835592 +0200
@@ -799,42 +799,43 @@
pascal.start.encap:
pascal.rest.encap: pascal.rts pascal.utils
-pascal.info: $(srcdir)/p/doc/info/gpc.info \
- $(srcdir)/p/doc/info/gpcs.info \
- $(srcdir)/p/doc/info/gpcs-de.info \
- $(srcdir)/p/doc/info/gpc-hr.info \
- $(srcdir)/p/doc/info/gpcs-hr.info \
- $(srcdir)/p/doc/info/gpc-es.info \
- $(srcdir)/p/doc/info/gpcs-es.info
+iv=-4.1
+pascal.info: $(srcdir)/p/doc/info/gpc$(iv).info \
+ $(srcdir)/p/doc/info/gpcs$(iv).info \
+ $(srcdir)/p/doc/info/gpcs-de$(iv).info \
+ $(srcdir)/p/doc/info/gpc-hr$(iv).info \
+ $(srcdir)/p/doc/info/gpcs-hr$(iv).info \
+ $(srcdir)/p/doc/info/gpc-es$(iv).info \
+ $(srcdir)/p/doc/info/gpcs-es$(iv).info
pascal.dvi: gpc.dvi
-$(srcdir)/p/doc/info/gpc.info: $(GPC_TEXI_EN)
+$(srcdir)/p/doc/info/gpc$(iv).info: $(GPC_TEXI_EN)
[ -d "$(srcdir)/p/doc/info" ] || $(srcdir)/p/script/mkdir-p "$(srcdir)/p/doc/info"
- $(MAKEINFO_EN) -o $(srcdir)/p/doc/info/gpc.info gpc.texi
+ $(MAKEINFO_EN) -o $(srcdir)/p/doc/info/gpc$(iv).info gpc.texi
-$(srcdir)/p/doc/info/gpcs.info: $(GPC_TEXI_EN)
+$(srcdir)/p/doc/info/gpcs$(iv).info: $(GPC_TEXI_EN)
[ -d "$(srcdir)/p/doc/info" ] || $(srcdir)/p/script/mkdir-p "$(srcdir)/p/doc/info"
- $(MAKEINFO_EN) --no-split -o $(srcdir)/p/doc/info/gpcs.info gpcs.texi
+ $(MAKEINFO_EN) --no-split -o $(srcdir)/p/doc/info/gpcs$(iv).info gpcs.texi
-$(srcdir)/p/doc/info/gpcs-de.info: $(GPC_TEXI_DE)
+$(srcdir)/p/doc/info/gpcs-de$(iv).info: $(GPC_TEXI_DE)
[ -d "$(srcdir)/p/doc/info" ] || $(srcdir)/p/script/mkdir-p "$(srcdir)/p/doc/info"
- $(MAKEINFO_DE) --no-split -o $(srcdir)/p/doc/info/gpcs-de.info gpcs.texi
+ $(MAKEINFO_DE) --no-split -o $(srcdir)/p/doc/info/gpcs-de$(iv).info gpcs.texi
-$(srcdir)/p/doc/info/gpc-hr.info: $(GPC_TEXI_HR)
+$(srcdir)/p/doc/info/gpc-hr$(iv).info: $(GPC_TEXI_HR)
[ -d "$(srcdir)/p/doc/info" ] || $(srcdir)/p/script/mkdir-p "$(srcdir)/p/doc/info"
- $(MAKEINFO_HR) -o $(srcdir)/p/doc/info/gpc-hr.info gpc.texi
+ $(MAKEINFO_HR) -o $(srcdir)/p/doc/info/gpc-hr$(iv).info gpc.texi
-$(srcdir)/p/doc/info/gpcs-hr.info: $(GPC_TEXI_HR)
+$(srcdir)/p/doc/info/gpcs-hr$(iv).info: $(GPC_TEXI_HR)
[ -d "$(srcdir)/p/doc/info" ] || $(srcdir)/p/script/mkdir-p "$(srcdir)/p/doc/info"
- $(MAKEINFO_HR) --no-split -o $(srcdir)/p/doc/info/gpcs-hr.info gpcs.texi
+ $(MAKEINFO_HR) --no-split -o $(srcdir)/p/doc/info/gpcs-hr$(iv).info gpcs.texi
-$(srcdir)/p/doc/info/gpc-es.info: $(GPC_TEXI_ES)
+$(srcdir)/p/doc/info/gpc-es$(iv).info: $(GPC_TEXI_ES)
[ -d "$(srcdir)/p/doc/info" ] || $(srcdir)/p/script/mkdir-p "$(srcdir)/p/doc/info"
- $(MAKEINFO_ES) -o $(srcdir)/p/doc/info/gpc-es.info gpc.texi
+ $(MAKEINFO_ES) -o $(srcdir)/p/doc/info/gpc-es$(iv).info gpc.texi
-$(srcdir)/p/doc/info/gpcs-es.info: $(GPC_TEXI_ES)
+$(srcdir)/p/doc/info/gpcs-es$(iv).info: $(GPC_TEXI_ES)
[ -d "$(srcdir)/p/doc/info" ] || $(srcdir)/p/script/mkdir-p "$(srcdir)/p/doc/info"
- $(MAKEINFO_ES) --no-split -o $(srcdir)/p/doc/info/gpcs-es.info gpcs.texi
+ $(MAKEINFO_ES) --no-split -o $(srcdir)/p/doc/info/gpcs-es$(iv).info gpcs.texi
gpc.dvi: $(GPC_TEXI_EN)
TEXINPUTS=$(srcdir)/p/doc:$(srcdir)/p/doc/images:$$TEXINPUTS \
@@ -1023,11 +1024,11 @@
fi
pascal.install-info: pascal.install-info-man-dirs pascal.info
- rm -f $(DESTDIR)$(infodir)/gpc.info* $(DESTDIR)$(infodir)/gpcs.info* $(DESTDIR)$(infodir)/gpcs-de.info* $(DESTDIR)$(infodir)/gpcs-hr.info* $(DESTDIR)$(infodir)/gpcs-es.info*
- for f in `cd $(srcdir)/p/doc/info && echo gpc.info* gpcs*.info*`; do \
+ rm -f $(DESTDIR)$(infodir)/gpc*.info* $(DESTDIR)$(infodir)/gpcs*.info* $(DESTDIR)$(infodir)/gpcs-de*.info* $(DESTDIR)$(infodir)/gpcs-hr*.info* $(DESTDIR)$(infodir)/gpcs-es*.info*
+ for f in `cd $(srcdir)/p/doc/info && echo gpc$(iv).info* gpcs*.info*`; do \
$(INSTALL_DATA) $(srcdir)/p/doc/info/$$f $(DESTDIR)$(infodir)/$$f || exit 1; \
done
- chmod a-x $(DESTDIR)$(infodir)/gpc.info* $(DESTDIR)$(infodir)/gpcs.info* $(DESTDIR)$(infodir)/gpcs-de.info* $(DESTDIR)$(infodir)/gpcs-hr.info* $(DESTDIR)$(infodir)/gpcs-es.info*
+ chmod a-x $(DESTDIR)$(infodir)/gpc*.info* $(DESTDIR)$(infodir)/gpcs*.info* $(DESTDIR)$(infodir)/gpcs-de*.info* $(DESTDIR)$(infodir)/gpcs-hr*.info* $(DESTDIR)$(infodir)/gpcs-es*.info*
pascal.install-man: pascal.install-info-man-dirs $(srcdir)/p/doc/en/gpc.1 $(srcdir)/p/doc/generated/gpc-run.1
-if [ -f gpc1$(exeext) ]; then \

View File

@ -1,72 +0,0 @@
#! /bin/sh -e
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
# DP: Traditional GNU systems don't have a /usr directory. However, Debian
# DP: systems do, and we support both having a /usr -> . symlink, and having a
# DP: /usr directory like the other ports. So this patch should NOT go
# DP: upstream.
# DP:
# DP: Define MAXPATHLEN and PATH_MAX.
--- gcc/config/gnu.h.orig 2004-07-05 21:49:20.000000000 +0200
+++ gcc/config/gnu.h 2006-12-10 12:28:45.000000000 +0100
@@ -6,7 +6,8 @@
/* Standard include directory. In GNU, "/usr" is a four-letter word. */
#undef STANDARD_INCLUDE_DIR
-#define STANDARD_INCLUDE_DIR "/include"
+/* Overriden for Debian GNU/Hurd. */
+#define STANDARD_INCLUDE_DIR "/usr/include"
/* The system headers under GNU are C++-aware. */
#define NO_IMPLICIT_EXTERN_C
--- gcc/config/t-gnu.orig 2004-01-10 07:40:24.000000000 +0100
+++ gcc/config/t-gnu 2006-12-10 12:28:45.000000000 +0100
@@ -1,2 +1,2 @@
# In GNU, "/usr" is a four-letter word.
-NATIVE_SYSTEM_HEADER_DIR = /include
+NATIVE_SYSTEM_HEADER_DIR = /usr/include
--- gcc/tlink.c.orig 2005-06-25 04:02:01.000000000 +0200
+++ gcc/tlink.c 2006-12-10 12:28:45.000000000 +0100
@@ -34,6 +34,10 @@
#define MAX_ITERATIONS 17
+#ifndef MAXPATHLEN
+#define MAXPATHLEN 4096
+#endif
+
/* Defined in the automatically-generated underscore.c. */
extern int prepends_underscore;
--- boehm-gc/dyn_load.c.orig 2007-08-13 09:10:48.215678000 +0200
+++ boehm-gc/dyn_load.c 2007-08-13 09:11:09.743969000 +0200
@@ -26,7 +26,7 @@
* None of this is safe with dlclose and incremental collection.
* But then not much of anything is safe in the presence of dlclose.
*/
-#if (defined(__linux__) || defined(__GLIBC__)) && !defined(_GNU_SOURCE)
+#if (defined(__linux__) || defined(__GLIBC__) || defined(__GNU__)) && !defined(_GNU_SOURCE)
/* Can't test LINUX, since this must be define before other includes */
# define _GNU_SOURCE
#endif

View File

@ -1,38 +0,0 @@
#! /bin/sh -e
# DP: Ignore the bootstrap comparision failure
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- gcc/Makefile.in~ 2004-02-06 08:03:12.000000000 +0100
+++ gcc/Makefile.in 2004-02-14 10:27:19.000000000 +0100
@@ -3567,7 +3567,9 @@
if [ -f .bad_compare ]; then \
echo "Bootstrap comparison failure!"; \
cat .bad_compare; \
- exit 1; \
+ echo ""; \
+ echo "Ignore the comparision failure!"; \
+ true; \
else \
case "$@" in \
*-lean ) rm -rf stage$$stage ;; \

View File

@ -1,231 +0,0 @@
#! /bin/sh -e
# Description: Ada support for GNU/k*BSD
# Author: Aurelien Jarno <aurel32@debian.Org>
# Status: submitted.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p1 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
# append the patch here and adjust the -p? flag in the patch calls.
--- src/gcc/ada/Makefile.in.orig 2008-02-09 13:03:14 +0100
+++ src/gcc/ada/Makefile.in 2008-02-09 13:03:33 +0100
@@ -866,6 +866,8 @@
s-osinte.ads<s-osinte-kfreebsd-gnu.ads \
s-osprim.adb<s-osprim-posix.adb \
s-taprop.adb<s-taprop-linux.adb \
+ s-tasinf.ads<s-tasinf-linux.ads \
+ s-tasinf.adb<s-tasinf-linux.adb \
s-taspri.ads<s-taspri-posix.ads \
s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
system.ads<system-freebsd-x86.ads
--- src/gcc/ada/s-osinte-kfreebsd-gnu.ads.orig 2008-02-09 12:18:43 +0100
+++ src/gcc/ada/s-osinte-kfreebsd-gnu.ads 2008-02-09 13:00:36 +0100
@@ -223,7 +223,8 @@
function sysconf (name : int) return long;
pragma Import (C, sysconf);
- SC_CLK_TCK : constant := 2;
+ SC_CLK_TCK : constant := 2;
+ SC_NPROCESSORS_ONLN : constant := 84;
-------------------------
-- Priority Scheduling --
@@ -235,7 +236,7 @@
function To_Target_Priority
(Prio : System.Any_Priority) return Interfaces.C.int;
- -- Maps System.Any_Priority to a POSIX priority.
+ -- Maps System.Any_Priority to a POSIX priority
-------------
-- Process --
@@ -255,6 +256,7 @@
type Thread_Body is access
function (arg : System.Address) return System.Address;
+ pragma Convention (C, Thread_Body);
function Thread_Body_Access is new
Unchecked_Conversion (System.Address, Thread_Body);
@@ -438,12 +440,31 @@
pragma Import (C, pthread_getspecific, "pthread_getspecific");
type destructor_pointer is access procedure (arg : System.Address);
+ pragma Convention (C, destructor_pointer);
function pthread_key_create
(key : access pthread_key_t;
destructor : destructor_pointer) return int;
pragma Import (C, pthread_key_create, "pthread_key_create");
+ CPU_SETSIZE : constant := 1_024;
+
+ type bit_field is array (1 .. CPU_SETSIZE) of Boolean;
+ for bit_field'Size use CPU_SETSIZE;
+ pragma Pack (bit_field);
+ pragma Convention (C, bit_field);
+
+ type cpu_set_t is record
+ bits : bit_field;
+ end record;
+ pragma Convention (C, cpu_set_t);
+
+ function pthread_setaffinity_np
+ (thread : pthread_t;
+ cpusetsize : size_t;
+ cpuset : access cpu_set_t) return int;
+ pragma Import (C, pthread_setaffinity_np, "__gnat_pthread_setaffinity_np");
+
private
type sigset_t is array (1 .. 4) of unsigned;
--- src/gcc/ada/adaint.c 2008-02-10 03:14:20 +0100
+++ src/gcc/ada/adaint.c 2008-02-09 18:22:02 +0100
@@ -888,7 +888,7 @@
strcpy (path, "GNAT-XXXXXX");
#if (defined (__FreeBSD__) || defined (__NetBSD__) || defined (__OpenBSD__) \
- || defined (linux)) && !defined (__vxworks)
+ || defined (linux) || defined(__GLIBC__)) && !defined (__vxworks)
return mkstemp (path);
#elif defined (__Lynx__)
mktemp (path);
@@ -981,7 +981,7 @@
}
#elif defined (linux) || defined (__FreeBSD__) || defined (__NetBSD__) \
- || defined (__OpenBSD__)
+ || defined (__OpenBSD__) || defined(__GLIBC__)
#define MAX_SAFE_PATH 1000
char *tmpdir = getenv ("TMPDIR");
@@ -3001,7 +3001,7 @@
}
#endif
-#if defined (linux)
+#if defined (linux) || defined(__GLIBC__)
/* pthread affinity support */
#ifdef CPU_SETSIZE
--- src/gcc/ada/socket.c 2007-10-19 15:14:33 +0200
+++ src/gcc/ada/socket.c 2008-02-09 18:23:40 +0100
@@ -206,7 +206,7 @@
struct hostent *rh;
int ri;
-#ifdef __linux__
+#if defined(__linux__) || defined(__GLIBC__)
(void) gethostbyname_r (name, ret, buf, buflen, &rh, h_errnop);
#else
rh = gethostbyname_r (name, ret, buf, buflen, h_errnop);
@@ -223,7 +223,7 @@
struct hostent *rh;
int ri;
-#ifdef __linux__
+#if defined(__linux__) || defined(__GLIBC__)
(void) gethostbyaddr_r (addr, len, type, ret, buf, buflen, &rh, h_errnop);
#else
rh = gethostbyaddr_r (addr, len, type, ret, buf, buflen, h_errnop);
@@ -239,7 +239,7 @@
struct servent *rh;
int ri;
-#ifdef __linux__
+#if defined(__linux__) || defined(__GLIBC__)
(void) getservbyname_r (name, proto, ret, buf, buflen, &rh);
#else
rh = getservbyname_r (name, proto, ret, buf, buflen);
@@ -255,7 +255,7 @@
struct servent *rh;
int ri;
-#ifdef __linux__
+#if defined(__linux__) || defined(__GLIBC__)
(void) getservbyport_r (port, proto, ret, buf, buflen, &rh);
#else
rh = getservbyport_r (port, proto, ret, buf, buflen);
--- src/gcc/ada/gsocket.h.orig 2008-02-10 11:50:18 +0100
+++ src/gcc/ada/gsocket.h 2008-02-10 11:50:38 +0100
@@ -167,7 +167,7 @@
#if defined (_AIX) || defined (__FreeBSD__) || defined (__hpux__) || defined (__osf__) || defined (_WIN32) || defined (__APPLE__)
# define HAVE_THREAD_SAFE_GETxxxBYyyy 1
-#elif defined (sgi) || defined (linux) || (defined (sun) && defined (__SVR4) && !defined (__vxworks))
+#elif defined (sgi) || defined (linux) || defined (__GLIBC__) || (defined (sun) && defined (__SVR4) && !defined (__vxworks))
# define HAVE_GETxxxBYyyy_R 1
#endif
--- src/gcc/ada/sysdep.c.orig 2008-02-10 11:55:28 +0100
+++ src/gcc/ada/sysdep.c 2008-02-10 11:58:15 +0100
@@ -342,7 +342,8 @@
|| (defined (__osf__) && ! defined (__alpha_vxworks)) || defined (WINNT) \
|| defined (__MACHTEN__) || defined (__hpux__) || defined (_AIX) \
|| (defined (__svr4__) && defined (i386)) || defined (__Lynx__) \
- || defined (__CYGWIN__) || defined (__FreeBSD__) || defined (__OpenBSD__)
+ || defined (__CYGWIN__) || defined (__FreeBSD__) || defined (__OpenBSD__) \
+ || defined (__GLIBC__)
#ifdef __MINGW32__
#if OLD_MINGW
@@ -399,7 +400,8 @@
|| (defined (__osf__) && ! defined (__alpha_vxworks)) \
|| defined (__CYGWIN32__) || defined (__MACHTEN__) || defined (__hpux__) \
|| defined (_AIX) || (defined (__svr4__) && defined (i386)) \
- || defined (__Lynx__) || defined (__FreeBSD__) || defined (__OpenBSD__)
+ || defined (__Lynx__) || defined (__FreeBSD__) || defined (__OpenBSD__) \
+ || defined (__GLIBC__)
char c;
int nread;
int good_one = 0;
@@ -418,7 +420,8 @@
#if defined(linux) || defined (sun) || defined (sgi) || defined (__EMX__) \
|| defined (__osf__) || defined (__MACHTEN__) || defined (__hpux__) \
|| defined (_AIX) || (defined (__svr4__) && defined (i386)) \
- || defined (__Lynx__) || defined (__FreeBSD__) || defined (__OpenBSD__)
+ || defined (__Lynx__) || defined (__FreeBSD__) || defined (__OpenBSD__) \
+ || defined (__GLIBC__)
eof_ch = termios_rec.c_cc[VEOF];
/* If waiting (i.e. Get_Immediate (Char)), set MIN = 1 and wait for
@@ -845,7 +848,7 @@
/* Darwin, Free BSD, Linux, Tru64, where there exists a component tm_gmtoff
in struct tm */
#elif defined (__APPLE__) || defined (__FreeBSD__) || defined (linux) ||\
- (defined (__alpha__) && defined (__osf__))
+ (defined (__alpha__) && defined (__osf__)) || defined (__GLIBC__)
*off = tp->tm_gmtoff;
/* All other platforms: Treat all time values in GMT */
--- src/gcc/ada/link.c.orig 2008-02-10 11:59:07 +0100
+++ src/gcc/ada/link.c 2008-02-10 11:59:14 +0100
@@ -153,7 +153,7 @@
unsigned char __gnat_using_gnu_linker = 1;
const char *__gnat_object_library_extension = ".a";
-#elif defined (linux)
+#elif defined (linux) || defined(__GLIBC__)
const char *__gnat_object_file_option = "";
const char *__gnat_run_path_option = "";
char __gnat_shared_libgnat_default = SHARED;

View File

@ -1,99 +0,0 @@
#! /bin/sh -e
# DP: GNU/k*BSD support
# Author: Robert Millan <rmh@aybabtu.com>
# Status: Not yet submitted
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p1 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
# append the patch here and adjust the -p? flag in the patch calls.
diff -Nurd gcc-4.2.orig/gcc/config/i386/kfreebsd-gnu.h gcc-4.2/gcc/config/i386/kfreebsd-gnu.h
--- gcc-4.2.orig/gcc/config/i386/kfreebsd-gnu.h 2006-01-18 22:46:30.000000000 +0100
+++ gcc-4.2/gcc/config/i386/kfreebsd-gnu.h 2007-05-23 05:34:47.000000000 +0200
@@ -20,7 +20,29 @@
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
+#ifdef GLIBC_DYNAMIC_LINKER32
+#undef GLIBC_DYNAMIC_LINKER32
+#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
+#endif
+
+#ifdef GLIBC_DYNAMIC_LINKER64
+#undef GLIBC_DYNAMIC_LINKER64
+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-kfreebsd-x86-64.so.1"
+#endif
+
#undef LINK_EMULATION
#define LINK_EMULATION "elf_i386_fbsd"
+
+#ifdef LINK_EMULATION32
+#undef LINK_EMULATION32
+#define LINK_EMULATION32 LINK_EMULATION
+#endif
+
+#ifdef LINK_EMULATION64
+#undef LINK_EMULATION64
+#define LINK_EMULATION64 "elf_x86_64_fbsd"
+#endif
+
#undef REG_NAME
#define REG_NAME(reg) sc_ ## reg
+
diff -Nurd gcc-4.2.orig/gcc/config/i386/linux64.h gcc-4.2/gcc/config/i386/linux64.h
--- gcc-4.2.orig/gcc/config/i386/linux64.h 2007-05-22 22:25:11.000000000 +0200
+++ gcc-4.2/gcc/config/i386/linux64.h 2007-05-23 05:39:11.000000000 +0200
@@ -53,8 +53,11 @@
When the -shared link option is used a final link is not being
done. */
+/* These macros may be overridden in k*bsd-gnu.h and i386/k*bsd-gnu.h. */
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
+#define LINK_EMULATION32 "elf_i386"
+#define LINK_EMULATION64 "elf_x86_64"
#if TARGET_64BIT_DEFAULT
#define SPEC_32 "m32"
@@ -65,7 +68,7 @@
#endif
#undef LINK_SPEC
-#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} --hash-style=both \
+#define LINK_SPEC "%{" SPEC_64 ":-m " LINK_EMULATION64 "} %{" SPEC_32 ":-m " LINK_EMULATION32 "} --hash-style=both \
%{shared:-shared} \
%{!shared: \
%{!static: \
diff -Nurd gcc-4.2.orig/gcc/config.gcc gcc-4.2/gcc/config.gcc
--- gcc-4.2.orig/gcc/config.gcc 2007-02-03 10:03:58.000000000 +0100
+++ gcc-4.2/gcc/config.gcc 2007-05-23 05:37:10.000000000 +0200
@@ -1102,7 +1102,7 @@
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h \
i386/x86-64.h i386/linux64.h"
case ${target} in
- x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h" ;;
+ x86_64-*-kfreebsd*-gnu) tm_file="${tm_file} kfreebsd-gnu.h i386/kfreebsd-gnu.h" ;;
x86_64-*-knetbsd*-gnu) tm_file="${tm_file} knetbsd-gnu.h" ;;
esac
tmake_file="${tmake_file} i386/t-linux64 i386/t-crtfm t-dfprules"

View File

@ -1,45 +0,0 @@
#! /bin/sh -e
# DP: Add --enable-libffi option to toplevel configure script
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
cd ${dir} && autoconf
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- configure.ac.orig 2007-08-27 13:42:57.000000000 +0200
+++ configure.ac 2007-09-01 15:57:19.664811738 +0200
@@ -347,6 +347,16 @@
ENABLE_LIBSSP=$enableval,
ENABLE_LIBSSP=yes)
+AC_ARG_ENABLE(libffi,
+[ --enable-libffi build libffi directory],
+ENABLE_LIBFFI=$enableval,
+ENABLE_LIBFFI=yes)
+if test "${ENABLE_LIBFFI}" != "yes" ; then
+ noconfigdirs="$noconfigdirs target-libffi"
+else
+ libgcj="`echo $libgcj | sed 's/target-libffi *//'`"
+fi
+
# Save it here so that, even in case of --enable-libgcj, if the Java
# front-end isn't enabled, we still get libgcj disabled.
libgcj_saved=$libgcj

View File

@ -1,38 +0,0 @@
#! /bin/sh -e
# DP: Adjust libjava extra_ldflags for armel.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
cd ${dir}libjava && autoconf
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
rm -f ${dir}libjava/configure
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- libjava/configure.ac~ 2008-01-14 15:45:26.698717101 +0100
+++ libjava/configure.ac 2008-01-14 15:47:37.460689616 +0100
@@ -807,7 +807,7 @@
# Some of the ARM unwinder code is actually in libstdc++. We
# could in principle replicate it in libgcj, but it's better to
# have a dependency on libstdc++.
- extra_ldflags='-L$(here)/../libstdc++-v3/src/.libs -lstdc++'
+ extra_ldflags='-L$(here)/../libstdc++-v3/src -L$(here)/../libstdc++-v3/src/.libs -lstdc++'
LIBSTDCXXSPEC=-lstdc++
LIBGCJTESTSPEC="-L`${PWDCMD-pwd}`/.libs -L`${PWDCMD-pwd}`/../libstdc++-v3/src/.libs -rpath `${PWDCMD-pwd}`/.libs:`${PWDCMD-pwd}`/../libstdc++-v3/src/.libs -lstdc++"
;;

View File

@ -1,43 +0,0 @@
#! /bin/sh -e
# DP: Fix java debuginfo breakage.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
2008-03-06 Andrew Haley <aph@littlepinkcloud.com>
* jcf-parse.c (give_name_to_class): Call find_sourcefile fo find full
pathname of source file.
Index: jcf-parse.c
===================================================================
--- gcc/java/jcf-parse.c (revision 131324)
+++ gcc/java/jcf-parse.c (working copy)
@@ -1208,7 +1208,7 @@
#ifdef USE_MAPPED_LOCATION
{
tree source_name = identifier_subst (class_name, "", '.', '/', ".java");
- const char *sfname = IDENTIFIER_POINTER (source_name);
+ const char *sfname = find_sourcefile (IDENTIFIER_POINTER (source_name));
linemap_add (line_table, LC_ENTER, false, sfname, 0);
input_location = linemap_line_start (line_table, 0, 1);
file_start_location = input_location;

View File

@ -1,45 +0,0 @@
#! /bin/sh -e
# DP: Disable building the static libjava.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- Makefile.in~ 2007-03-26 10:44:16.881179540 +0200
+++ Makefile.in 2007-03-26 10:48:27.564961048 +0200
@@ -43901,7 +43901,7 @@
rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
- --target=${target_alias} $${srcdiroption} \
+ --target=${target_alias} --disable-static $${srcdiroption} \
|| exit 1
@endif target-libjava
@@ -44783,7 +44783,7 @@
rm -f no-such-file || : ; \
CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
- --target=${target_alias} $${srcdiroption} \
+ --target=${target_alias} --disable-static $${srcdiroption} \
|| exit 1
@endif target-boehm-gc

View File

@ -1,227 +0,0 @@
#! /bin/sh -e
# DP: gjar: support @ arguments.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
uudecode $0
tar -xv -f jar-main-classes.tar.bz2 -C ${dir}libjava
rm -f jar-main-classes.tar.bz2*
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
From: Christian Thalinger <twisti@complang.tuwien.ac.at>
While building OpenJDK b16 I noticed that jar does not support @
arguments. OpenJDK e.g. uses it to import the binary plug files.
This patch adds support for @filelist, where the file filelist may only
contain files and not options, as the spec says.
Index: libjava/classpath/tools/gnu/classpath/tools/jar/Main.java
===================================================================
RCS file: /cvsroot/classpath/classpath/tools/gnu/classpath/tools/jar/Main.java,v
retrieving revision 1.9
diff -u -3 -p -r1.9 Main.java
--- libjava/classpath/tools/gnu/classpath/tools/jar/Main.java 31 Jan 2007 17:05:34 -0000 1.9
+++ libjava/classpath/tools/gnu/classpath/tools/jar/Main.java 23 Jul 2007 18:31:19 -0000
@@ -47,6 +47,8 @@ import gnu.classpath.tools.getopt.Parser
import java.io.BufferedReader;
import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.text.MessageFormat;
@@ -102,14 +104,51 @@ public class Main
public void notifyFile(String fileArgument)
{
Entry entry;
+
+ if (fileArgument.charAt(0) == '@')
+ {
+ BufferedReader br = null;
+ String filename;
+
+ try
+ {
+ br =
+ new BufferedReader(new FileReader(fileArgument.substring(1)));
+ }
+ catch (FileNotFoundException fnfe)
+ {
+ System.err.println(fnfe);
+ System.exit(1);
+ }
+
+ try
+ {
+ while ((filename = br.readLine()) != null)
+ addEntry(filename);
+ }
+ catch (IOException ioe)
+ {
+ ioe.printStackTrace();
+ }
+ }
+ else
+ {
+ addEntry(fileArgument);
+ }
+ }
+
+ private final void addEntry(String filename)
+ {
+ Entry entry;
+
if (changedDirectory != null)
{
- entry = new Entry(new File(changedDirectory, fileArgument),
- fileArgument);
+ entry = new Entry(new File(changedDirectory, filename),
+ filename);
changedDirectory = null;
}
else
- entry = new Entry(new File(fileArgument));
+ entry = new Entry(new File(filename));
entries.add(entry);
}
}
begin-base64 644 jar-main-classes.tar.bz2
QlpoOTFBWSZTWW4Pr8QAFqP/////////////////////////////////////
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
====

View File

@ -1,94 +0,0 @@
#! /bin/sh -e
# DP: - Add /usr/lib/jni to java.library.path.
# DP: - When running the i386 binaries on amd64, look in
# DP: - /usr/lib32/gcj-x.y and /usr/lib32/jni instead.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- libjava/gnu/classpath/natSystemProperties.cc~ 2006-08-02 00:53:40.000000000 +0200
+++ libjava/gnu/classpath/natSystemProperties.cc 2006-08-19 00:41:50.063803000 +0200
@@ -141,6 +141,34 @@
return retval;
}
+static char*
+AppendJniLibdir (char *path, struct utsname *u)
+{
+ char* retval;
+ const char* jnilibdir = "/usr/lib/jni";
+
+#if defined(__linux__) && defined (__i386__)
+ if (! strcmp ("x86_64", u->machine))
+ jnilibdir = "/usr/lib32/jni";
+#endif
+
+ if (path)
+ {
+ jsize total = strlen (path)
+ + (sizeof (PATH_SEPARATOR) - 1) + strlen (jnilibdir) + 1;
+ retval = (char*) _Jv_Malloc (total);
+ strcpy (retval, path);
+ strcat (retval, PATH_SEPARATOR);
+ strcat (retval, jnilibdir);
+ }
+ else
+ {
+ retval = (char*) _Jv_Malloc (strlen (jnilibdir) + 1);
+ strcpy (retval, jnilibdir);
+ }
+ return retval;
+}
+
void
gnu::classpath::SystemProperties::insertSystemProperties (java::util::Properties *newprops)
{
@@ -370,8 +398,13 @@
// Prepend GCJ_VERSIONED_LIBDIR to the module load path so that
// libgcj will find its own JNI libraries, like libgtkpeer.so.
char* val = PrependVersionedLibdir (path);
- _Jv_SetDLLSearchPath (val);
+
+ // Append jnilibdir
+ char* val2 = AppendJniLibdir (val, &u);
+
+ _Jv_SetDLLSearchPath (val2);
_Jv_Free (val);
+ _Jv_Free (val2);
}
else
{
@@ -379,9 +412,12 @@
#ifdef USE_LTDL
char *libpath = getenv (LTDL_SHLIBPATH_VAR);
char* val = _Jv_PrependVersionedLibdir (libpath);
- SET ("java.library.path", val);
- _Jv_SetDLLSearchPath (val);
+ // Append jnilibdir
+ char* val2 = AppendJniLibdir (val, &u);
+ SET ("java.library.path", val2);
+ _Jv_SetDLLSearchPath (val2);
_Jv_Free (val);
+ _Jv_Free (val2);
#else
SET ("java.library.path", "");
#endif

View File

@ -1,431 +0,0 @@
#! /bin/sh -e
# DP: Reimplement loading constraints (taken from the trunk).
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
uudecode $0
tar -xv -f class-loader-classes.tar.bz2 -C ${dir}libjava
rm -f class-loader-classes.tar.bz2*
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
2008-03-13 Tom Tromey <tromey@redhat.com>
* java/lang/natClassLoader.cc (_Jv_RegisterInitiatingLoader):
Check loading constraints.
(_Jv_CheckOrCreateLoadingConstraint): New function.
* java/lang/ClassLoader.java (loadingConstraints): New field.
* link.cc (_Jv_Linker::find_field): Use
_Jv_CheckOrCreateLoadingConstraint.
(_Jv_Linker::check_loading_constraints): New function.
(_Jv_Linker::resolve_method_entry): Use
check_loading_constraints.
(_Jv_Linker::append_partial_itable): Likewise.
(_Jv_Linker::layout_vtable_methods): Likewise.
* include/jvm.h (_Jv_Linker::check_loading_constraints): Declare.
(_Jv_CheckOrCreateLoadingConstraint): Declare.
--- libjava/include/jvm.h.orig 2008-03-21 22:09:54.249100837 +0100
+++ libjava/include/jvm.h 2008-03-21 22:10:20.739500439 +0100
@@ -1,6 +1,6 @@
// jvm.h - Header file for private implementation information. -*- c++ -*-
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation
This file is part of libgcj.
@@ -265,6 +265,7 @@
jclass, jclass *);
static _Jv_Field *find_field(jclass, jclass, jclass *, _Jv_Utf8Const *,
_Jv_Utf8Const *);
+ static void check_loading_constraints (_Jv_Method *, jclass, jclass);
static void prepare_constant_time_tables(jclass);
static jshort get_interfaces(jclass, _Jv_ifaces *);
static void link_symbol_table(jclass);
@@ -557,6 +558,9 @@
jboolean is_jni_call = true,
jclass iface = NULL);
+extern void _Jv_CheckOrCreateLoadingConstraint (jclass,
+ java::lang::ClassLoader *);
+
extern jobject _Jv_NewMultiArray (jclass, jint ndims, jint* dims)
__attribute__((__malloc__));
--- libjava/java/lang/ClassLoader.h.orig 2008-03-21 22:09:54.249100837 +0100
+++ libjava/java/lang/ClassLoader.h 2008-03-21 22:10:20.749500589 +0100
@@ -86,6 +86,7 @@
void checkInitialized();
public: // actually package-private
::java::util::HashMap * __attribute__((aligned(__alignof__( ::java::lang::Object)))) loadedClasses;
+ ::java::util::HashMap * loadingConstraints;
::java::util::HashMap * definedPackages;
private:
::java::lang::ClassLoader * parent;
--- libjava/java/lang/ClassLoader.java.orig 2008-03-21 22:09:54.249100837 +0100
+++ libjava/java/lang/ClassLoader.java 2008-03-21 22:10:20.749500589 +0100
@@ -1,5 +1,5 @@
/* ClassLoader.java -- responsible for loading classes into the VM
- Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -45,6 +45,7 @@
import java.io.IOException;
import java.io.InputStream;
+import java.lang.ref.WeakReference;
import java.net.URL;
import java.nio.ByteBuffer;
import java.security.CodeSource;
@@ -130,6 +131,15 @@
final HashMap loadedClasses = new HashMap();
/**
+ * Loading constraints registered with this classloader. This maps
+ * a class name to a weak reference to a class. When the reference
+ * is non-null, it means that a reference to the name must resolve
+ * to the indicated class.
+ */
+ final HashMap<String, WeakReference<Class>> loadingConstraints
+ = new HashMap<String, WeakReference<Class>>();
+
+ /**
* All packages defined by this classloader. It is not private in order to
* allow native code (and trusted subclasses) access to this field.
*/
--- libjava/java/lang/natClassLoader.cc.orig 2008-03-21 22:09:54.249100837 +0100
+++ libjava/java/lang/natClassLoader.cc 2008-03-21 22:10:20.749500589 +0100
@@ -1,6 +1,6 @@
// natClassLoader.cc - Implementation of java.lang.ClassLoader native methods.
-/* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation
+/* Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008 Free Software Foundation
This file is part of libgcj.
@@ -41,6 +41,7 @@
#include <java/lang/StringBuffer.h>
#include <java/io/Serializable.h>
#include <java/lang/Cloneable.h>
+#include <java/lang/ref/WeakReference.h>
#include <java/util/HashMap.h>
#include <gnu/gcj/runtime/BootClassLoader.h>
#include <gnu/gcj/runtime/SystemClassLoader.h>
@@ -143,7 +144,21 @@
// them later.
return;
}
- loader->loadedClasses->put(klass->name->toString(), klass);
+
+ JvSynchronize sync (loader->loadingConstraints);
+
+ using namespace java::lang::ref;
+
+ jstring name = klass->getName();
+ WeakReference *ref = (WeakReference *) loader->loadingConstraints->get (name);
+ if (ref)
+ {
+ jclass constraint = (jclass) ref->get();
+ if (constraint && constraint != klass)
+ throw new java::lang::LinkageError(JvNewStringLatin1("loading constraint violated"));
+ }
+ loader->loadingConstraints->put(name, new WeakReference(klass));
+ loader->loadedClasses->put(name, klass);
}
// If we found an error while defining an interpreted class, we must
@@ -156,6 +171,46 @@
loader->loadedClasses->remove(klass->name->toString());
}
+// Check a loading constraint. In particular check that, if there is
+// a constraint for the name of KLASS in LOADER, that it maps to
+// KLASS. If there is no such constraint, make a new one. If the
+// constraint is violated, throw an exception. Do nothing for
+// primitive types.
+void
+_Jv_CheckOrCreateLoadingConstraint (jclass klass,
+ java::lang::ClassLoader *loader)
+{
+ // Strip arrays.
+ while (klass->isArray())
+ klass = klass->getComponentType();
+ // Ignore primitive types.
+ if (klass->isPrimitive())
+ return;
+
+ if (! loader)
+ loader = java::lang::VMClassLoader::bootLoader;
+ jstring name = klass->getName();
+
+ JvSynchronize sync (loader->loadingConstraints);
+
+ using namespace java::lang::ref;
+
+ WeakReference *ref = (WeakReference *) loader->loadingConstraints->get (name);
+ if (ref)
+ {
+ jclass constraint = (jclass) ref->get();
+ if (constraint)
+ {
+ if (klass != constraint)
+ throw new java::lang::LinkageError(JvNewStringLatin1("loading constraint violated"));
+ // Otherwise, all is ok.
+ return;
+ }
+ }
+ // No constraint (or old constraint GC'd). Make a new one.
+ loader->loadingConstraints->put(name, new WeakReference(klass));
+}
+
// Class registration.
//
--- libjava/link.cc.orig 2008-03-21 22:09:54.249100837 +0100
+++ libjava/link.cc 2008-03-21 22:24:51.692638568 +0100
@@ -246,13 +246,9 @@
if (_Jv_CheckAccess (klass, *found_class, the_field->flags))
{
// Note that the field returned by find_field_helper is always
- // resolved. There's no point checking class loaders here,
- // since we already did the work to look up all the types.
- // FIXME: being lazy here would be nice.
- if (the_field->type != field_type)
- throw new java::lang::LinkageError
- (JvNewStringLatin1
- ("field type mismatch with different loaders"));
+ // resolved. However, we still use the constraint mechanism
+ // because this may affect other lookups.
+ _Jv_CheckOrCreateLoadingConstraint (klass, (*found_class)->loader);
}
else
{
@@ -269,6 +265,23 @@
return the_field;
}
+// Check loading constraints for method.
+void
+_Jv_Linker::check_loading_constraints (_Jv_Method *method, jclass self_class,
+ jclass other_class)
+{
+ JArray<jclass> *klass_args;
+ jclass klass_return;
+
+ _Jv_GetTypesFromSignature (method, self_class, &klass_args, &klass_return);
+ jclass *klass_arg = elements (klass_args);
+ java::lang::ClassLoader *found_loader = other_class->loader;
+
+ _Jv_CheckOrCreateLoadingConstraint (klass_return, found_loader);
+ for (int i = 0; i < klass_args->length; i++)
+ _Jv_CheckOrCreateLoadingConstraint (*(klass_arg++), found_loader);
+}
+
_Jv_Method *
_Jv_Linker::resolve_method_entry (jclass klass, jclass &found_class,
int class_index, int name_and_type_index,
@@ -359,6 +372,11 @@
throw new java::lang::NoSuchMethodError (sb->toString());
}
+ // if (found_class->loader != klass->loader), then we must actually
+ // check that the types of arguments correspond. JVMS 5.4.3.3.
+ if (found_class->loader != klass->loader)
+ check_loading_constraints (the_method, klass, found_class);
+
return the_method;
}
@@ -891,7 +909,8 @@
continue;
meth = NULL;
- for (jclass cl = klass; cl; cl = cl->getSuperclass())
+ jclass cl;
+ for (cl = klass; cl; cl = cl->getSuperclass())
{
meth = _Jv_GetMethodLocal (cl, iface->methods[j].name,
iface->methods[j].signature);
@@ -913,6 +932,9 @@
itable[pos] = (void *) &_Jv_ThrowAbstractMethodError;
else
itable[pos] = meth->ncode;
+
+ if (cl->loader != iface->loader)
+ check_loading_constraints (meth, cl, iface);
}
else
{
@@ -1467,6 +1489,11 @@
sb->append(_Jv_GetMethodString(declarer, super_meth));
throw new VerifyError(sb->toString());
}
+ else if (declarer->loader != klass->loader)
+ {
+ // JVMS 5.4.2.
+ check_loading_constraints (meth, klass, declarer);
+ }
}
}
begin 644 class-loader-classes.tar.bz2
M0EIH.3%!62936;AC>/P`$B'_____________________________________
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
?RU2TG1I:U$H06)<TB$BJ$Y,>E_^+N2*<*$A<,;Q^````
`
end

View File

@ -1,44 +0,0 @@
#! /bin/sh -e
# DP: For biarch builds, disable the testsuite for the non-default architecture
# DP: for runtime libraries, which are not built by default (libjava).
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- libjava/testsuite/Makefile.in~ 2005-09-29 23:53:39.213898000 +0200
+++ libjava/testsuite/Makefile.in 2005-09-29 23:55:33.382541760 +0200
@@ -346,12 +346,14 @@
check-DEJAGNU: site.exp
+ runtestflags="`echo '$(RUNTESTFLAGS)' | sed 's/,-m[36][24]//'`"; \
+ case "$$runtestflags" in *\\{\\}) runtestflags=; esac; \
srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \
EXPECT=$(EXPECT); export EXPECT; \
runtest=$(RUNTEST); \
if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
l='$(DEJATOOL)'; for tool in $$l; do \
- $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \
+ $$runtest $(AM_RUNTESTFLAGS) $(RUNTESTDEFAULTFLAGS) $$runtestflags; \
done; \
else echo "WARNING: could not find \`runtest'" 1>&2; :;\
fi

View File

@ -1,79 +0,0 @@
#! /bin/sh -e
# DP: Don't leak upon failed realloc (taken from the trunk).
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
libjava/
2008-03-10 Jim Meyering <meyering@redhat.com>
Don't leak upon failed realloc.
* gnu/classpath/natSystemProperties.cc
(SystemProperties::insertSystemProperties):
libjava/classpath/
2008-03-10 Jim Meyering <meyering@redhat.com>
Don't leak upon failed realloc.
* native/jni/classpath/jcl.c (JCL_realloc): Upon failed realloc,
free the original buffer before throwing the exception.
Index: libjava/classpath/native/jni/classpath/jcl.c
===================================================================
--- libjava/classpath/native/jni/classpath/jcl.c (revision 133093)
+++ libjava/classpath/native/jni/classpath/jcl.c (revision 133094)
@@ -1,5 +1,5 @@
/* jcl.c
- Copyright (C) 1998, 2005, 2006 Free Software Foundation, Inc.
+ Copyright (C) 1998, 2005, 2006, 2008 Free Software Foundation, Inc.
This file is part of GNU Classpath.
@@ -152,9 +152,11 @@
JNIEXPORT void *JNICALL
JCL_realloc (JNIEnv * env, void *ptr, size_t size)
{
+ void *orig_ptr = ptr;
ptr = realloc (ptr, size);
if (ptr == 0)
{
+ free (orig_ptr);
JCL_ThrowException (env, "java/lang/OutOfMemoryError",
"malloc() failed.");
return NULL;
Index: libjava/gnu/classpath/natSystemProperties.cc
===================================================================
--- libjava/gnu/classpath/natSystemProperties.cc (revision 133093)
+++ libjava/gnu/classpath/natSystemProperties.cc (revision 133094)
@@ -270,7 +270,10 @@
if (errno != ERANGE)
break;
buflen = 2 * buflen;
+ char *orig_buf = buffer;
buffer = (char *) realloc (buffer, buflen);
+ if (buffer == NULL)
+ free (orig_buf);
}
if (buffer != NULL)
free (buffer);

View File

@ -1,49 +0,0 @@
#! /bin/sh -e
# DP: - Link ecjx with -rpath $(dbexecdir)
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
#cd ${dir}libjava && autoconf
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
#rm -f ${dir}libjava/configure
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- libjava/Makefile.am~ 2007-03-04 18:50:01.000000000 +0100
+++ libjava/Makefile.am 2007-03-04 19:19:32.000000000 +0100
@@ -683,7 +683,7 @@
ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR)
endif !ENABLE_SHARED
-ecjx_LDADD = -L$(here)/.libs libgcj.la
+ecjx_LDADD = -L$(here)/.libs libgcj.la -rpath $(dbexecdir)
ecjx_DEPENDENCIES = libgcj.la libgcj.spec
else !NATIVE
--- libjava/Makefile.in~ 2007-03-04 18:50:01.000000000 +0100
+++ libjava/Makefile.in 2007-03-04 19:21:22.000000000 +0100
@@ -7787,7 +7787,7 @@
@ENABLE_SHARED_TRUE@@NATIVE_TRUE@ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) -Djava.class.path=$(ECJ_JAR)
@NATIVE_FALSE@ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR)
@NATIVE_FALSE@ecjx_LDADD =
-@NATIVE_TRUE@ecjx_LDADD = -L$(here)/.libs libgcj.la
+@NATIVE_TRUE@ecjx_LDADD = -L$(here)/.libs libgcj.la -rpath $(dbexecdir)
@NATIVE_FALSE@ecjx_DEPENDENCIES =
@NATIVE_TRUE@ecjx_DEPENDENCIES = libgcj.la libgcj.spec
gappletviewer_SOURCES =

View File

@ -1,65 +0,0 @@
#! /bin/sh -e
# DP: Don't try to use _Unwind_Backtrace on SJLJ targets.
# DP: See bug #387875, #388505, GCC PR 29206.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p1 < $0
#cd ${dir}gcc && autoconf
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
#rm ${dir}gcc/configure
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
---
libjava/sysdep/generic/backtrace.h | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
Index: src/libjava/sysdep/generic/backtrace.h
===================================================================
--- src.orig/libjava/sysdep/generic/backtrace.h 2006-11-06 14:00:32.000000000 -0500
+++ src/libjava/sysdep/generic/backtrace.h 2006-11-06 14:04:38.000000000 -0500
@@ -13,6 +13,20 @@ details. */
#include <java-stack.h>
+#ifdef SJLJ_EXCEPTIONS
+
+#undef _Unwind_GetIPInfo
+#define _Unwind_GetIPInfo(ctx,ip_before_insn) \
+ (abort (), (void) (ctx), *ip_before_insn = 1, 0)
+
+#undef _Unwind_GetRegionStart
+#define _Unwind_GetRegionStart(ctx) \
+ (abort (), (void) (ctx), 0)
+
+#undef _Unwind_Backtrace
+#define _Unwind_Backtrace(trace_fn,state_ptr) \
+ (fallback_backtrace (trace_fn, state_ptr))
+
/* Unwind through the call stack calling TRACE_FN with STATE for every stack
frame. Returns the reason why the unwinding was stopped. */
_Unwind_Reason_Code
@@ -20,4 +34,7 @@ fallback_backtrace (_Unwind_Trace_Fn, _J
{
return _URC_NO_REASON;
}
+
+#endif /* SJLJ_EXCEPTIONS */
+
#endif

View File

@ -1,34 +0,0 @@
#! /bin/sh -e
# DP: Bump the libgcj soversion.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- libjava/libtool-version~ 2006-01-18 22:52:29.000000000 +0100
+++ libjava/libtool-version 2006-04-03 23:32:44.934656864 +0200
@@ -3,4 +3,4 @@
# a separate file so that version updates don't involve re-running
# automake.
# CURRENT:REVISION:AGE
-9:0:0
+90:0:0

View File

@ -1,70 +0,0 @@
#! /bin/sh -e
# DP: libgcj: Lookup source file name and line number in separated
# DP: debug files found in /usr/lib/debug
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- libjava/stacktrace.cc.orig 2006-06-16 13:54:07.078577632 +0200
+++ libjava/stacktrace.cc 2006-06-16 13:56:08.032189888 +0200
@@ -20,6 +20,11 @@
#endif
#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
#include <java/lang/Class.h>
#include <java/lang/Long.h>
@@ -222,6 +227,28 @@
finder->lookup (binaryName, (jlong) offset);
*sourceFileName = finder->getSourceFile();
*lineNum = finder->getLineNum();
+ if (*lineNum == -1 && info.file_name[0] == '/')
+ {
+ const char *debugPrefix = "/usr/lib/debug";
+ char *debugPath = (char *) malloc (strlen(debugPrefix)
+ + strlen(info.file_name)
+ + 2);
+
+ if (debugPath)
+ {
+ strcpy (debugPath, debugPrefix);
+ strcat (debugPath, info.file_name);
+ //printf ("%s: 0x%x\n", debugPath, offset);
+ if (!access (debugPath, R_OK))
+ {
+ binaryName = JvNewStringUTF (debugPath);
+ finder->lookup (binaryName, (jlong) offset);
+ *sourceFileName = finder->getSourceFile();
+ *lineNum = finder->getLineNum();
+ }
+ free (debugPath);
+ }
+ }
if (*lineNum == -1 && NameFinder::showRaw())
{
gnu::gcj::runtime::StringBuffer *t =

View File

@ -1,246 +0,0 @@
#! /bin/sh -e
# DP: - Set the libjava sublibdir to /usr/lib/gcj-4.3
# DP: - Set the default libgcj database dir to /var/lib/gcj-4.3
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
cd ${dir}libjava && aclocal -I . -I .. -I ../config -I libltdl && autoconf
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
rm -f ${dir}libjava/configure
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- gcc/java/Make-lang.in.orig 2007-09-06 21:19:09.582719152 +0200
+++ gcc/java/Make-lang.in 2007-09-06 21:20:32.543970604 +0200
@@ -313,12 +313,13 @@
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(ZLIBINC) \
$(srcdir)/java/jcf-io.c $(OUTPUT_OPTION)
+short_version := $(shell echo $(version) | sed -r 's/([0-9]+\.[0-9]+).*/\1/')
# jcf-path.o needs a -D.
java/jcf-path.o: java/jcf-path.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
java/jcf.h
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
- -DLIBGCJ_ZIP_FILE='"$(datadir)/java/libgcj-$(version).jar"' \
- -DDEFAULT_TARGET_VERSION=\"$(version)\" \
+ -DLIBGCJ_ZIP_FILE='"$(datadir)/java/libgcj-$(short_version).jar"' \
+ -DDEFAULT_TARGET_VERSION=\"$(short_version)\" \
$(srcdir)/java/jcf-path.c $(OUTPUT_OPTION)
TEXI_JAVA_FILES = java/gcj.texi $(gcc_docdir)/include/fdl.texi \
--- libjava/classpath/configure.ac.orig 2008-01-13 17:18:19.000000000 +0100
+++ libjava/classpath/configure.ac 2008-01-13 17:18:45.000000000 +0100
@@ -301,7 +301,7 @@
nativeexeclibdir=${withval}
],
[
- nativeexeclibdir='${toolexeclibdir}/gcj-'`cat ${srcdir}/../../gcc/BASE-VER`-`awk -F: '/^[[^#]].*:/ { print $1 }' ${srcdir}/../libtool-version`
+ nativeexeclibdir='${toolexeclibdir}/gcj-'`sed -r 's/([[0-9]]+\.[[0-9]]+).*/\1/' ${srcdir}/../../gcc/BASE-VER`-`awk -F: '/^[[^#]].*:/ { print $1 }' ${srcdir}/../libtool-version`
])
AC_SUBST(nativeexeclibdir)
--- libjava/classpath/configure.orig 2008-01-13 17:18:20.000000000 +0100
+++ libjava/classpath/configure 2008-01-13 17:18:45.000000000 +0100
@@ -4771,7 +4771,7 @@
else
- nativeexeclibdir='${toolexeclibdir}/gcj-'`cat ${srcdir}/../../gcc/BASE-VER`-`awk -F: '/^[^#].*:/ { print $1 }' ${srcdir}/../libtool-version`
+ nativeexeclibdir='${toolexeclibdir}/gcj-'`sed -r 's/([0-9]+\.[0-9]+).*/\1/' ${srcdir}/../../gcc/BASE-VER`-`awk -F: '/^[^#].*:/ { print $1 }' ${srcdir}/../libtool-version`
fi;
--- libjava/testsuite/lib/libjava.exp.orig 2008-01-13 17:18:20.000000000 +0100
+++ libjava/testsuite/lib/libjava.exp 2008-01-13 17:18:45.000000000 +0100
@@ -169,6 +169,7 @@
set text [eval exec "$GCJ_UNDER_TEST -B$specdir -v 2>@ stdout"]
regexp " version \[^\n\r\]*" $text version
set libjava_version [lindex $version 1]
+ set libjava_version "4.3"
verbose "version: $libjava_version"
--- libjava/testsuite/Makefile.am.orig 2008-01-13 17:18:20.000000000 +0100
+++ libjava/testsuite/Makefile.am 2008-01-13 17:18:45.000000000 +0100
@@ -4,6 +4,7 @@
# May be used by various substitution variables.
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+gcc_short_version := $(shell sed -r 's/([0-9]+\.[0-9]+).*/\1/' $(top_srcdir)/../gcc/BASE-VER)
# autoconf2.13's target_alias
target_noncanonical = @target_noncanonical@
@@ -59,11 +60,11 @@
rm -rf $$testtmpdir; $(mkdir_p) $$testtmpdir; \
if test -n "$$testdep"; then \
$(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \
- $(top_builddir)/libgcj-$(gcc_version).jar::$$testtmpdir \
+ $(top_builddir)/libgcj-$(gcc_short_version).jar::$$testtmpdir \
-d $$testtmpdir $(srcdir)/$$testdep || exit; \
fi; \
$(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \
- $(top_builddir)/libgcj-$(gcc_version).jar:$$testtmpdir \
+ $(top_builddir)/libgcj-$(gcc_short_version).jar:$$testtmpdir \
-d $$testtmpdir $(srcdir)/$$test || exit; \
case "$$test" in \
libjava.loader/dummy.java) \
@@ -75,7 +76,7 @@
esac; \
if test -n "$$genheader"; then \
$(MYGCJH) $$genheader $$testtmpdir/*.class \
- -bootclasspath $(top_builddir)/libgcj-$(gcc_version).jar \
+ -bootclasspath $(top_builddir)/libgcj-$(gcc_short_version).jar \
-d $$testtmpdir/ || exit; \
mv $$testtmpdir/*.h $(srcdir)/`dirname $$test`/ 2>/dev/null; \
fi; \
--- libjava/testsuite/Makefile.in.orig 2008-01-13 17:18:20.000000000 +0100
+++ libjava/testsuite/Makefile.in 2008-01-13 17:18:45.000000000 +0100
@@ -327,6 +327,7 @@
# May be used by various substitution variables.
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+gcc_short_version := $(shell sed -r 's/([0-9]+\.[0-9]+).*/\1/' $(top_srcdir)/../gcc/BASE-VER)
# Setup the testing framework, if you have one
EXPECT = `if [ -f $(top_builddir)/../expect/expect ] ; then \
@@ -576,11 +577,11 @@
@JAVA_MAINTAINER_MODE_TRUE@ rm -rf $$testtmpdir; $(mkdir_p) $$testtmpdir; \
@JAVA_MAINTAINER_MODE_TRUE@ if test -n "$$testdep"; then \
@JAVA_MAINTAINER_MODE_TRUE@ $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \
-@JAVA_MAINTAINER_MODE_TRUE@ $(top_builddir)/libgcj-$(gcc_version).jar::$$testtmpdir \
+@JAVA_MAINTAINER_MODE_TRUE@ $(top_builddir)/libgcj-$(gcc_short_version).jar::$$testtmpdir \
@JAVA_MAINTAINER_MODE_TRUE@ -d $$testtmpdir $(srcdir)/$$testdep || exit; \
@JAVA_MAINTAINER_MODE_TRUE@ fi; \
@JAVA_MAINTAINER_MODE_TRUE@ $(GCJ) -C -g -w --encoding=UTF-8 -bootclasspath \
-@JAVA_MAINTAINER_MODE_TRUE@ $(top_builddir)/libgcj-$(gcc_version).jar:$$testtmpdir \
+@JAVA_MAINTAINER_MODE_TRUE@ $(top_builddir)/libgcj-$(gcc_short_version).jar:$$testtmpdir \
@JAVA_MAINTAINER_MODE_TRUE@ -d $$testtmpdir $(srcdir)/$$test || exit; \
@JAVA_MAINTAINER_MODE_TRUE@ case "$$test" in \
@JAVA_MAINTAINER_MODE_TRUE@ libjava.loader/dummy.java) \
@@ -592,7 +593,7 @@
@JAVA_MAINTAINER_MODE_TRUE@ esac; \
@JAVA_MAINTAINER_MODE_TRUE@ if test -n "$$genheader"; then \
@JAVA_MAINTAINER_MODE_TRUE@ $(MYGCJH) $$genheader $$testtmpdir/*.class \
-@JAVA_MAINTAINER_MODE_TRUE@ -bootclasspath $(top_builddir)/libgcj-$(gcc_version).jar \
+@JAVA_MAINTAINER_MODE_TRUE@ -bootclasspath $(top_builddir)/libgcj-$(gcc_short_version).jar \
@JAVA_MAINTAINER_MODE_TRUE@ -d $$testtmpdir/ || exit; \
@JAVA_MAINTAINER_MODE_TRUE@ mv $$testtmpdir/*.h $(srcdir)/`dirname $$test`/ 2>/dev/null; \
@JAVA_MAINTAINER_MODE_TRUE@ fi; \
--- libjava/Makefile.am.orig 2008-01-13 17:18:20.000000000 +0100
+++ libjava/Makefile.am 2008-01-13 17:18:45.000000000 +0100
@@ -5,7 +5,8 @@
ACLOCAL_AMFLAGS = -I . -I .. -I ../config -I libltdl
# May be used by various substitution variables.
-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+gcc_full_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+gcc_version := $(shell sed -r 's/([0-9]+\.[0-9]+).*/\1/' $(top_srcdir)/../gcc/BASE-VER)
SUBDIRS = $(DIRLTDL) gcj include classpath
if TESTSUBDIR
@@ -27,9 +28,9 @@
target_noncanonical = @target_noncanonical@
# This is required by TL_AC_GXX_INCLUDE_DIR.
-libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)
+libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_full_version)
-libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
+libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_full_version)
##
## What gets installed, and where.
@@ -141,7 +142,7 @@
-DGCJ_VERSIONED_LIBDIR="\"$(dbexecdir)\"" \
-DPATH_SEPARATOR="\"$(CLASSPATH_SEPARATOR)\"" \
-DECJ_JAR_FILE="\"$(ECJ_JAR)\"" \
- -DLIBGCJ_DEFAULT_DATABASE="\"$(dbexecdir)/$(db_name)\"" \
+ -DLIBGCJ_DEFAULT_DATABASE="\"/var/lib/gcj-4.3/$(db_name)\"" \
-DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"$(db_pathtail)\""
AM_GCJFLAGS = \
--- libjava/Makefile.in.orig 2008-01-13 17:18:20.000000000 +0100
+++ libjava/Makefile.in 2008-01-13 17:18:45.000000000 +0100
@@ -816,7 +816,8 @@
ACLOCAL_AMFLAGS = -I . -I .. -I ../config -I libltdl
# May be used by various substitution variables.
-gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+gcc_full_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
+gcc_version := $(shell sed -r 's/([0-9]+\.[0-9]+).*/\1/' $(top_srcdir)/../gcc/BASE-VER)
SUBDIRS = $(DIRLTDL) gcj include classpath $(am__append_1)
# write_entries_to_file - writes each entry in a list
@@ -829,8 +830,8 @@
write_entries_to_file = $(shell rm -f $(2) || :) $(shell touch $(2)) $(foreach object,$(1),$(shell echo $(object) >> $(2)))
# This is required by TL_AC_GXX_INCLUDE_DIR.
-libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_version)
-libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
+libsubdir = $(libdir)/gcc/$(target_noncanonical)/$(gcc_full_version)
+libexecsubdir = $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_full_version)
toolexeclib_LTLIBRARIES = libgcj.la libgij.la libgcj-tools.la \
$(am__append_2) $(am__append_3)
toolexecmainlib_DATA = libgcj.spec
@@ -875,7 +876,7 @@
-DGCJ_VERSIONED_LIBDIR="\"$(dbexecdir)\"" \
-DPATH_SEPARATOR="\"$(CLASSPATH_SEPARATOR)\"" \
-DECJ_JAR_FILE="\"$(ECJ_JAR)\"" \
- -DLIBGCJ_DEFAULT_DATABASE="\"$(dbexecdir)/$(db_name)\"" \
+ -DLIBGCJ_DEFAULT_DATABASE="\"/var/lib/gcj-4.3/$(db_name)\"" \
-DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"$(db_pathtail)\""
AM_GCJFLAGS = \
--- libjava/configure.ac.orig 2008-01-13 17:18:20.000000000 +0100
+++ libjava/configure.ac 2008-01-13 17:18:45.000000000 +0100
@@ -511,6 +511,9 @@
AS_HELP_STRING([--with-java-home=DIRECTORY],
[value of java.home system property]),
[JAVA_HOME="${withval}"], [JAVA_HOME=""])
+if test -n "$with_multisubdir"; then
+ JAVA_HOME=`echo $JAVA_HOME | sed "s,/usr/lib/,/usr/lib$with_multisubdir/,"`
+fi
AM_CONDITIONAL(JAVA_HOME_SET, test ! -z "$JAVA_HOME")
AC_SUBST(JAVA_HOME)
@@ -1385,6 +1388,7 @@
multi_os_directory=`$CC -print-multi-os-directory`
case $multi_os_directory in
.) toolexeclibdir=$toolexecmainlibdir ;; # Avoid trailing /.
+ ../lib*) toolexeclibdir='$(subst /lib/../lib,/lib,'$toolexecmainlibdir/$multi_os_directory')' ;;
*) toolexeclibdir=$toolexecmainlibdir/$multi_os_directory ;;
esac
;;
@@ -1395,6 +1399,7 @@
# Determine gcj and libgcj version number.
gcjversion=`cat "$srcdir/../gcc/BASE-VER"`
+short_version=`sed -r 's/([[0-9]]+\.[[0-9]]+).*/\1/' $srcdir/../gcc/BASE-VER`
libgcj_soversion=`awk -F: '/^[[^#]].*:/ { print $1 }' $srcdir/libtool-version`
GCJVERSION=$gcjversion
AC_SUBST(GCJVERSION)
@@ -1402,7 +1407,7 @@
# Determine where the standard .db file and GNU Classpath JNI
# libraries are found.
-gcjsubdir=gcj-$gcjversion-$libgcj_soversion
+gcjsubdir=gcj-$short_version-$libgcj_soversion
multi_os_directory=`$CC -print-multi-os-directory`
case $multi_os_directory in
.)

View File

@ -1,41 +0,0 @@
#! /bin/sh -e
# DP: Add configure check for xulrunner-1.9.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
cd ${dir}libjava/classpath && aclocal -I m4 -I ../.. -I ../../config && autoconf
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
rm -f ${dir}libjava/configure
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- libjava/classpath/configure.ac~ 2008-02-22 08:37:10.356094701 +0100
+++ libjava/classpath/configure.ac 2008-02-22 08:38:49.397588719 +0100
@@ -702,7 +702,10 @@
dnl Check for plugin support headers and libraries.
if test "x${COMPILE_PLUGIN}" = xyes; then
- PKG_CHECK_MODULES(MOZILLA, mozilla-plugin, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no])
+ PKG_CHECK_MODULES(MOZILLA, mozilla-plugin libxul-unstable, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no])
+ if test "x${MOZILLA_FOUND}" = xno; then
+ PKG_CHECK_MODULES(MOZILLA, mozilla-plugin, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no])
+ fi
if test "x${MOZILLA_FOUND}" = xno; then
PKG_CHECK_MODULES(MOZILLA, firefox-plugin firefox-xpcom, [MOZILLA_FOUND=yes], [MOZILLA_FOUND=no])
fi

View File

@ -1,73 +0,0 @@
#! /bin/sh -e
# DP: Link libobjc_gc with libgcjgc_convenience.la.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
cd ${dir}libobjc && autoconf
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
rm -f ${dir}libobjc/configure
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
2008-02-06 Matthias Klose <doko@ubuntu.com>
* configure.ac (OBJC_BOEHM_GC_LIBS): Link with libgcjgc_convenience.la.
* configure: Regenerate.
* Makefile.in (libobjc_gc$(libsuffix).la): Link with OBJC_BOEHM_GC_LIBS.
--- libobjc/Makefile.in~ 2007-07-05 10:18:52.000000000 +0200
+++ libobjc/Makefile.in 2008-02-07 17:17:17.243167905 +0100
@@ -95,6 +95,7 @@
OBJC_THREAD_FILE=thr-objc
OBJC_BOEHM_GC=@OBJC_BOEHM_GC@
OBJC_BOEHM_GC_INCLUDES=@OBJC_BOEHM_GC_INCLUDES@
+OBJC_BOEHM_GC_LIBS=@OBJC_BOEHM_GC_LIBS@
INCLUDES = -I$(srcdir)/objc -I$(srcdir)/$(MULTISRCTOP)../gcc \
-I$(srcdir)/$(MULTISRCTOP)../gcc/config \
@@ -281,6 +282,7 @@
libobjc_gc$(libsuffix).la: $(OBJS_GC)
$(LIBTOOL_LINK) $(CC) -o $@ $(OBJS_GC) \
+ $(OBJC_BOEHM_GC_LIBS) \
-rpath $(toolexeclibdir) \
-version-info $(LIBOBJC_GC_VERSION) $(extra_ldflags_libobjc)
--- libobjc/configure.ac~ 2007-10-19 15:14:58.000000000 +0200
+++ libobjc/configure.ac 2008-02-07 17:25:15.750386077 +0100
@@ -66,15 +66,18 @@
no)
OBJC_BOEHM_GC=''
OBJC_BOEHM_GC_INCLUDES=''
+ OBJC_BOEHM_GC_LIBS=''
;;
*)
OBJC_BOEHM_GC=libobjc_gc.la
OBJC_BOEHM_GC_INCLUDES='-I$(top_srcdir)/../boehm-gc/include -I../boehm-gc/include'
+ OBJC_BOEHM_GC_LIBS='../boehm-gc/libgcjgc_convenience.la -pthread'
;;
esac],
[OBJC_BOEHM_GC=''; OBJC_BOEHM_GC_INCLUDES=''])
AC_SUBST(OBJC_BOEHM_GC)
AC_SUBST(OBJC_BOEHM_GC_INCLUDES)
+AC_SUBST(OBJC_BOEHM_GC_LIBS)
# -----------
# Directories

View File

@ -1,52 +0,0 @@
#! /bin/sh -e
# DP: GNU/k*BSD support
# Author: Aurelien Jarno <aurel32@debian.org>
# Status: Submitted: http://gcc.gnu.org/ml/gcc-patches/2007-04/msg01962.html
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p1 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
# append the patch here and adjust the -p? flag in the patch calls.
--- src.orig/gcc/configure 2008-03-01 15:51:06 +0100
+++ src/gcc/configure 2008-03-01 16:02:24 +0100
@@ -17110,7 +17110,7 @@
else
gcc_cv_libc_provides_ssp=no
case "$target" in
- *-*-linux*)
+ *-*-*-gnu*)
if test x$host != x$target || test "x$TARGET_SYSTEM_ROOT" != x; then
if test "x$with_sysroot" = x; then
glibc_header_dir="${exec_prefix}/${target_noncanonical}/sys-include"
--- src.orig/gcc/configure.ac 2008-02-01 19:55:55 +0100
+++ src/gcc/configure.ac 2008-03-01 16:02:06 +0100
@@ -3379,7 +3379,7 @@
gcc_cv_libc_provides_ssp,
[gcc_cv_libc_provides_ssp=no
case "$target" in
- *-*-linux*)
+ *-*-*-gnu*)
if test x$host != x$target || test "x$TARGET_SYSTEM_ROOT" != x; then
if test "x$with_sysroot" = x; then
glibc_header_dir="${exec_prefix}/${target_noncanonical}/sys-include"

View File

@ -1,51 +0,0 @@
#! /bin/sh -e
# DP: adjust hrefs to point to the local documentation
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- libstdc++-v3/doc/doxygen/mainpage.html~ 2008-02-19 21:08:07.375796572 +0100
+++ libstdc++-v3/doc/doxygen/mainpage.html 2008-02-19 21:14:20.841430216 +0100
@@ -30,8 +30,8 @@
<p>There are two types of documentation for libstdc++. One is the
distribution documentation, which can be read online
<a href="http://gcc.gnu.org/onlinedocs/libstdc++/index.html">here</a>
- or offline from the file doc/html/index.html in the library source
- directory.
+ or offline in the documentation directory
+ <a href="documentation.html">here</a>.
</p>
<p>The other type is the source documentation, of which this is the first page.
@@ -71,9 +71,9 @@
This style guide can also be viewed on the <a href="http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01apas04.html">web</a>.
<h2>License, Copyright, and Other Lawyerly Verbosity</h2>
-<p>The libstdc++ documentation is released under
- <a href="http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt01ch01s02.html">
- these terms</a>.
+<p>The libstdc++ documentation is released under these terms
+ (<a href="http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt01ch01s02.html">read online</a>, or
+ <a href="17_intro/license.html">read offline</a>).
</p>
<p>Part of the generated documentation involved comments and notes from
SGI, who says we gotta say this:

View File

@ -1,71 +0,0 @@
#! /bin/sh -e
# DP: Build and install libstdc++_pic.a library.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
diff -ur libstdc++-v3/src/Makefile.am libstdc++-v3/src/Makefile.am
--- libstdc++-v3/src/Makefile.am~ 2004-04-16 21:04:05.000000000 +0200
+++ libstdc++-v3/src/Makefile.am 2004-07-03 20:22:43.000000000 +0200
@@ -210,6 +210,10 @@
$(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LDFLAGS) -o $@
+install-exec-local:
+ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o || touch libstdc++_pic.a
+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
+
# Added bits to build debug library.
if GLIBCXX_BUILD_DEBUG
all-local: build_debug
diff -ur libstdc++-v3/src/Makefile.in libstdc++-v3/src/Makefile.in
--- libstdc++-v3/src/Makefile.in 2004-07-03 06:41:13.000000000 +0200
+++ libstdc++-v3/src/Makefile.in 2004-07-03 20:25:05.000000000 +0200
@@ -611,7 +611,7 @@
install-data-am: install-data-local
-install-exec-am: install-toolexeclibLTLIBRARIES
+install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
install-info: install-info-am
@@ -644,6 +644,7 @@
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-data-local install-exec \
+ install-exec-local \
install-exec-am install-info install-info-am install-man \
install-strip install-toolexeclibLTLIBRARIES installcheck \
installcheck-am installdirs maintainer-clean \
@@ -729,6 +730,11 @@
install_debug:
(cd ${debugdir} && $(MAKE) \
toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
+
+install-exec-local:
+ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o || touch libstdc++_pic.a
+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,369 +0,0 @@
#! /bin/sh -e
# DP: Update libstdc++ baseline symbols for hppa.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
Index: libstdc++-v3/config/abi/post/hppa-linux-gnu/baseline_symbols.txt
===================================================================
--- libstdc++-v3/config/abi/post/hppa-linux-gnu/baseline_symbols.txt (revision 133733)
+++ libstdc++-v3/config/abi/post/hppa-linux-gnu/baseline_symbols.txt (working copy)
@@ -33,19 +33,51 @@
FUNC:_ZN10__gnu_norm15_List_node_base6unhookEv@@GLIBCXX_3.4
FUNC:_ZN10__gnu_norm15_List_node_base7reverseEv@@GLIBCXX_3.4
FUNC:_ZN10__gnu_norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv@@GLIBCXX_3.4.9
+FUNC:_ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4.9
+FUNC:_ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv@@GLIBCXX_3.4.9
FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb@@GLIBCXX_3.4
FUNC:_ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv@@GLIBCXX_3.4
+FUNC:_ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv@@GLIBCXX_3.4.9
FUNC:_ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv@@GLIBCXX_3.4
FUNC:_ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv@@GLIBCXX_3.4
FUNC:_ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv@@GLIBCXX_3.4
FUNC:_ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_@@GLIBCXX_3.4
+FUNC:_ZN14__gnu_parallel9_Settings3getEv@@GLIBCXX_3.4.10
+FUNC:_ZN14__gnu_parallel9_Settings3setERS0_@@GLIBCXX_3.4.10
FUNC:_ZN9__gnu_cxx12__atomic_addEPVii@@GLIBCXX_3.4
FUNC:_ZN9__gnu_cxx17__pool_alloc_base12_M_get_mutexEv@@GLIBCXX_3.4.2
FUNC:_ZN9__gnu_cxx17__pool_alloc_base16_M_get_free_listEj@@GLIBCXX_3.4.2
FUNC:_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEj@@GLIBCXX_3.4.2
FUNC:_ZN9__gnu_cxx18__exchange_and_addEPVii@@GLIBCXX_3.4
FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4fileEv@@GLIBCXX_3.4.2
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE4syncEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE5uflowEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE8overflowEi@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9pbackfailEi@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEE9underflowEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC1EP8_IO_FILE@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEEC2EP8_IO_FILE@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED0Ev@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIcSt11char_traitsIcEED1Ev@@GLIBCXX_3.4.10
FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4fileEv@@GLIBCXX_3.4.2
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE4syncEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE5uflowEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekoffExSt12_Ios_SeekdirSt13_Ios_Openmode@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE8overflowEj@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9pbackfailEj@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEE9underflowEv@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC1EP8_IO_FILE@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEEC2EP8_IO_FILE@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4.10
+FUNC:_ZN9__gnu_cxx18stdio_sync_filebufIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4.10
FUNC:_ZN9__gnu_cxx27__verbose_terminate_handlerEv@@CXXABI_1.3
FUNC:_ZN9__gnu_cxx6__poolILb0EE10_M_destroyEv@@GLIBCXX_3.4.4
FUNC:_ZN9__gnu_cxx6__poolILb0EE13_M_initializeEv@@GLIBCXX_3.4.4
@@ -53,6 +85,7 @@
FUNC:_ZN9__gnu_cxx6__poolILb0EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
FUNC:_ZN9__gnu_cxx6__poolILb1EE10_M_destroyEv@@GLIBCXX_3.4.4
FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEPFvPvE@@GLIBCXX_3.4.4
+FUNC:_ZN9__gnu_cxx6__poolILb1EE13_M_initializeEv@@GLIBCXX_3.4.6
FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_get_thread_idEv@@GLIBCXX_3.4.4
FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reclaim_blockEPcj@@GLIBCXX_3.4.4
FUNC:_ZN9__gnu_cxx6__poolILb1EE16_M_reserve_blockEjj@@GLIBCXX_3.4.4
@@ -81,6 +114,7 @@
FUNC:_ZNK11__gnu_debug16_Error_formatter10_Parameter20_M_print_descriptionEPKS0_@@GLIBCXX_3.4
FUNC:_ZNK11__gnu_debug16_Error_formatter13_M_print_wordEPKc@@GLIBCXX_3.4
FUNC:_ZNK11__gnu_debug16_Error_formatter15_M_print_stringEPKc@@GLIBCXX_3.4
+FUNC:_ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv@@GLIBCXX_3.4.10
FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4
FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4
FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4
@@ -203,6 +237,7 @@
FUNC:_ZNKSs8max_sizeEv@@GLIBCXX_3.4
FUNC:_ZNKSs9_M_ibeginEv@@GLIBCXX_3.4
FUNC:_ZNKSsixEj@@GLIBCXX_3.4
+FUNC:_ZNKSt10bad_typeid4whatEv@@GLIBCXX_3.4.9
FUNC:_ZNKSt10istrstream5rdbufEv@@GLIBCXX_3.4
FUNC:_ZNKSt10moneypunctIcLb0EE10neg_formatEv@@GLIBCXX_3.4
FUNC:_ZNKSt10moneypunctIcLb0EE10pos_formatEv@@GLIBCXX_3.4
@@ -301,6 +336,7 @@
FUNC:_ZNKSt11logic_error4whatEv@@GLIBCXX_3.4
FUNC:_ZNKSt12__basic_fileIcE7is_openEv@@GLIBCXX_3.4
FUNC:_ZNKSt12strstreambuf6pcountEv@@GLIBCXX_3.4
+FUNC:_ZNKSt13bad_exception4whatEv@@GLIBCXX_3.4.9
FUNC:_ZNKSt13basic_filebufIcSt11char_traitsIcEE7is_openEv@@GLIBCXX_3.4
FUNC:_ZNKSt13basic_filebufIwSt11char_traitsIwEE7is_openEv@@GLIBCXX_3.4
FUNC:_ZNKSt13basic_fstreamIcSt11char_traitsIcEE5rdbufEv@@GLIBCXX_3.4
@@ -353,6 +389,16 @@
FUNC:_ZNKSt19basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4
FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4
FUNC:_ZNKSt19basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4
+FUNC:_ZNKSt3tr14hashIRKSbIwSt11char_traitsIwESaIwEEEclES6_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt3tr14hashIRKSsEclES2_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt3tr14hashISbIwSt11char_traitsIwESaIwEEEclES4_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt3tr14hashISsEclESs@@GLIBCXX_3.4.10
+FUNC:_ZNKSt3tr14hashIeEclEe@@GLIBCXX_3.4.10
+FUNC:_ZNKSt4hashIRKSbIwSt11char_traitsIwESaIwEEEclES5_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt4hashIRKSsEclES1_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt4hashISbIwSt11char_traitsIwESaIwEEEclES3_@@GLIBCXX_3.4.10
+FUNC:_ZNKSt4hashISsEclESs@@GLIBCXX_3.4.10
+FUNC:_ZNKSt4hashIeEclEe@@GLIBCXX_3.4.10
FUNC:_ZNKSt5ctypeIcE10do_tolowerEPcPKc@@GLIBCXX_3.4
FUNC:_ZNKSt5ctypeIcE10do_tolowerEc@@GLIBCXX_3.4
FUNC:_ZNKSt5ctypeIcE10do_toupperEPcPKc@@GLIBCXX_3.4
@@ -515,6 +561,7 @@
FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewm@@GLIBCXX_3.4
FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewx@@GLIBCXX_3.4
FUNC:_ZNKSt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewy@@GLIBCXX_3.4
+FUNC:_ZNKSt8bad_cast4whatEv@@GLIBCXX_3.4.9
FUNC:_ZNKSt8ios_base7failure4whatEv@@GLIBCXX_3.4
FUNC:_ZNKSt8messagesIcE18_M_convert_to_charERKSs@@GLIBCXX_3.4
FUNC:_ZNKSt8messagesIcE20_M_convert_from_charEPc@@GLIBCXX_3.4
@@ -591,6 +638,7 @@
FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE3putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
FUNC:_ZNKSt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE6do_putES3_RSt8ios_basewPK2tmcc@@GLIBCXX_3.4
FUNC:_ZNKSt8valarrayIjE4sizeEv@@GLIBCXX_3.4
+FUNC:_ZNKSt9bad_alloc4whatEv@@GLIBCXX_3.4.9
FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE10exceptionsEv@@GLIBCXX_3.4
FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3badEv@@GLIBCXX_3.4
FUNC:_ZNKSt9basic_iosIcSt11char_traitsIcEE3eofEv@@GLIBCXX_3.4
@@ -774,6 +822,17 @@
FUNC:_ZNSdD0Ev@@GLIBCXX_3.4
FUNC:_ZNSdD1Ev@@GLIBCXX_3.4
FUNC:_ZNSdD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSi10_M_extractIPvEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIbEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIdEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIeEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIfEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIjEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIlEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractImEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractItEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIxEERSiRT_@@GLIBCXX_3.4.9
+FUNC:_ZNSi10_M_extractIyEERSiRT_@@GLIBCXX_3.4.9
FUNC:_ZNSi3getEPci@@GLIBCXX_3.4
FUNC:_ZNSi3getEPcic@@GLIBCXX_3.4
FUNC:_ZNSi3getERSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
@@ -833,6 +892,14 @@
FUNC:_ZNSo6sentryD1Ev@@GLIBCXX_3.4
FUNC:_ZNSo6sentryD2Ev@@GLIBCXX_3.4
FUNC:_ZNSo8_M_writeEPKci@@GLIBCXX_3.4
+FUNC:_ZNSo9_M_insertIPKvEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIbEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIdEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIeEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIlEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertImEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIxEERSoT_@@GLIBCXX_3.4.9
+FUNC:_ZNSo9_M_insertIyEERSoT_@@GLIBCXX_3.4.9
FUNC:_ZNSoC1EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
FUNC:_ZNSoC1Ev@@GLIBCXX_3.4
FUNC:_ZNSoC2EPSt15basic_streambufIcSt11char_traitsIcEE@@GLIBCXX_3.4
@@ -1206,6 +1273,17 @@
FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_fstreamIwSt11char_traitsIwEED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIPvEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIbEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIdEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIeEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIfEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIjEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIlEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractImEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractItEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIxEERS2_RT_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE10_M_extractIyEERS2_RT_@@GLIBCXX_3.4.9
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwi@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getEPwiw@@GLIBCXX_3.4
FUNC:_ZNSt13basic_istreamIwSt11char_traitsIwEE3getERSt15basic_streambufIwS1_E@@GLIBCXX_3.4
@@ -1265,6 +1343,14 @@
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE6sentryD2Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE8_M_writeEPKwi@@GLIBCXX_3.4
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIPKvEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIbEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIdEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIeEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIlEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertImEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIxEERS2_T_@@GLIBCXX_3.4.9
+FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertIyEERS2_T_@@GLIBCXX_3.4.9
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1Ev@@GLIBCXX_3.4
FUNC:_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E@@GLIBCXX_3.4
@@ -1386,6 +1472,7 @@
FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv@@GLIBCXX_3.4
FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPci@@GLIBCXX_3.4
FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6snextcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6stosscEv@@GLIBCXX_3.4.10
FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPci@@GLIBCXX_3.4
FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci@@GLIBCXX_3.4
FUNC:_ZNSt15basic_streambufIcSt11char_traitsIcEE7pubsyncEv@@GLIBCXX_3.4
@@ -1424,6 +1511,7 @@
FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6sbumpcEv@@GLIBCXX_3.4
FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6setbufEPwi@@GLIBCXX_3.4
FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6snextcEv@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6stosscEv@@GLIBCXX_3.4.10
FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsgetnEPwi@@GLIBCXX_3.4
FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE6xsputnEPKwi@@GLIBCXX_3.4
FUNC:_ZNSt15basic_streambufIwSt11char_traitsIwEE7pubsyncEv@@GLIBCXX_3.4
@@ -1455,6 +1543,7 @@
FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9pbackfailEi@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9showmanycEv@@GLIBCXX_3.4.6
FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE9underflowEv@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ERKSsSt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
@@ -1471,6 +1560,7 @@
FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE8overflowEj@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9pbackfailEj@@GLIBCXX_3.4
+FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9showmanycEv@@GLIBCXX_3.4.6
FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEE9underflowEv@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ERKSbIwS1_S2_ESt13_Ios_Openmode@@GLIBCXX_3.4
FUNC:_ZNSt15basic_stringbufIwSt11char_traitsIwESaIwEEC1ESt13_Ios_Openmode@@GLIBCXX_3.4
@@ -1660,10 +1750,16 @@
FUNC:_ZNSt5ctypeIwED0Ev@@GLIBCXX_3.4
FUNC:_ZNSt5ctypeIwED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt5ctypeIwED2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6__norm15_List_node_base4hookEPS0_@@GLIBCXX_3.4.9
+FUNC:_ZNSt6__norm15_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.9
+FUNC:_ZNSt6__norm15_List_node_base6unhookEv@@GLIBCXX_3.4.9
+FUNC:_ZNSt6__norm15_List_node_base7reverseEv@@GLIBCXX_3.4.9
+FUNC:_ZNSt6__norm15_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.9
FUNC:_ZNSt6gslice8_IndexerC1EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
FUNC:_ZNSt6gslice8_IndexerC2EjRKSt8valarrayIjES4_@@GLIBCXX_3.4
FUNC:_ZNSt6locale11_M_coalesceERKS_S1_i@@GLIBCXX_3.4
FUNC:_ZNSt6locale21_S_normalize_categoryEi@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEj@@GLIBCXX_3.4.7
FUNC:_ZNSt6locale5_Impl16_M_install_facetEPKNS_2idEPKNS_5facetE@@GLIBCXX_3.4
FUNC:_ZNSt6locale5_Impl16_M_replace_facetEPKS0_PKNS_2idE@@GLIBCXX_3.4
FUNC:_ZNSt6locale5_Impl19_M_replace_categoryEPKS0_PKPKNS_2idE@@GLIBCXX_3.4
@@ -1676,6 +1772,7 @@
FUNC:_ZNSt6locale5_ImplC2Ej@@GLIBCXX_3.4
FUNC:_ZNSt6locale5_ImplD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt6locale5_ImplD2Ev@@GLIBCXX_3.4
+FUNC:_ZNSt6locale5facet13_S_get_c_nameEv@@GLIBCXX_3.4.6
FUNC:_ZNSt6locale5facet15_S_get_c_localeEv@@GLIBCXX_3.4
FUNC:_ZNSt6locale5facet17_S_clone_c_localeERP15__locale_struct@@GLIBCXX_3.4
FUNC:_ZNSt6locale5facet18_S_create_c_localeERP15__locale_structPKcS2_@@GLIBCXX_3.4
@@ -1753,7 +1850,9 @@
FUNC:_ZNSt8bad_castD2Ev@@GLIBCXX_3.4
FUNC:_ZNSt8ios_base13_M_grow_wordsEib@@GLIBCXX_3.4
FUNC:_ZNSt8ios_base15sync_with_stdioEb@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base17_M_call_callbacksENS_5eventE@@GLIBCXX_3.4.6
FUNC:_ZNSt8ios_base17register_callbackEPFvNS_5eventERS_iEi@@GLIBCXX_3.4
+FUNC:_ZNSt8ios_base20_M_dispose_callbacksEv@@GLIBCXX_3.4.6
FUNC:_ZNSt8ios_base4InitC1Ev@@GLIBCXX_3.4
FUNC:_ZNSt8ios_base4InitC2Ev@@GLIBCXX_3.4
FUNC:_ZNSt8ios_base4InitD1Ev@@GLIBCXX_3.4
@@ -1832,6 +1931,11 @@
FUNC:_ZNSt8valarrayIjED1Ev@@GLIBCXX_3.4
FUNC:_ZNSt8valarrayIjED2Ev@@GLIBCXX_3.4
FUNC:_ZNSt8valarrayIjEixEj@@GLIBCXX_3.4
+FUNC:_ZNSt9__cxx199815_List_node_base4hookEPS0_@@GLIBCXX_3.4.10
+FUNC:_ZNSt9__cxx199815_List_node_base4swapERS0_S1_@@GLIBCXX_3.4.10
+FUNC:_ZNSt9__cxx199815_List_node_base6unhookEv@@GLIBCXX_3.4.10
+FUNC:_ZNSt9__cxx199815_List_node_base7reverseEv@@GLIBCXX_3.4.10
+FUNC:_ZNSt9__cxx199815_List_node_base8transferEPS0_S1_@@GLIBCXX_3.4.10
FUNC:_ZNSt9bad_allocD0Ev@@GLIBCXX_3.4
FUNC:_ZNSt9bad_allocD1Ev@@GLIBCXX_3.4
FUNC:_ZNSt9bad_allocD2Ev@@GLIBCXX_3.4
@@ -1913,8 +2017,13 @@
FUNC:_ZSt14__convert_to_vIfEvPKcRT_RSt12_Ios_IostateRKP15__locale_struct@@GLIBCXX_3.4
FUNC:_ZSt14set_unexpectedPFvvE@@GLIBCXX_3.4
FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4
+FUNC:_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i@@GLIBCXX_3.4.9
+FUNC:_ZSt16__ostream_insertIwSt11char_traitsIwEERSt13basic_ostreamIT_T0_ES6_PKS3_i@@GLIBCXX_3.4.9
FUNC:_ZSt16__throw_bad_castv@@GLIBCXX_3.4
+FUNC:_ZSt17__copy_streambufsIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.6
+FUNC:_ZSt17__copy_streambufsIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_@@GLIBCXX_3.4.6
FUNC:_ZSt17__throw_bad_allocv@@GLIBCXX_3.4
+FUNC:_ZSt17__verify_groupingPKcjRKSs@@GLIBCXX_3.4.10
FUNC:_ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
FUNC:_ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base@@GLIBCXX_3.4
FUNC:_ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base@@GLIBCXX_3.4
@@ -1930,6 +2039,8 @@
FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4
FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4
FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4
+FUNC:_ZSt21__copy_streambufs_eofIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
+FUNC:_ZSt21__copy_streambufs_eofIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9
FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4
FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4
FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4
@@ -2162,36 +2273,23 @@
FUNC:__cxa_vec_new@@CXXABI_1.3
FUNC:__dynamic_cast@@CXXABI_1.3
FUNC:__gxx_personality_v0@@CXXABI_1.3
-FUNC:acosl@@GLIBCXX_3.4.3
-FUNC:asinl@@GLIBCXX_3.4.3
-FUNC:atan2l@@GLIBCXX_3.4
-FUNC:atanl@@GLIBCXX_3.4.3
-FUNC:ceill@@GLIBCXX_3.4.3
-FUNC:coshl@@GLIBCXX_3.4
-FUNC:cosl@@GLIBCXX_3.4
-FUNC:expl@@GLIBCXX_3.4
-FUNC:floorl@@GLIBCXX_3.4.3
-FUNC:fmodl@@GLIBCXX_3.4.3
-FUNC:frexpl@@GLIBCXX_3.4.3
-FUNC:hypotl@@GLIBCXX_3.4
-FUNC:ldexpl@@GLIBCXX_3.4.3
-FUNC:log10l@@GLIBCXX_3.4
-FUNC:logl@@GLIBCXX_3.4
-FUNC:modfl@@GLIBCXX_3.4.3
-FUNC:powl@@GLIBCXX_3.4
-FUNC:sinhl@@GLIBCXX_3.4
-FUNC:sinl@@GLIBCXX_3.4
-FUNC:sqrtl@@GLIBCXX_3.4
-FUNC:tanhl@@GLIBCXX_3.4
-FUNC:tanl@@GLIBCXX_3.4
+FUNC:__signbitl@@GLIBCXX_3.4
OBJECT:0:CXXABI_1.3
OBJECT:0:CXXABI_1.3.1
+OBJECT:0:CXXABI_1.3.2
OBJECT:0:GLIBCXX_3.4
OBJECT:0:GLIBCXX_3.4.1
+OBJECT:0:GLIBCXX_3.4.10
OBJECT:0:GLIBCXX_3.4.2
OBJECT:0:GLIBCXX_3.4.3
OBJECT:0:GLIBCXX_3.4.4
OBJECT:0:GLIBCXX_3.4.5
+OBJECT:0:GLIBCXX_3.4.6
+OBJECT:0:GLIBCXX_3.4.7
+OBJECT:0:GLIBCXX_3.4.8
+OBJECT:0:GLIBCXX_3.4.9
+OBJECT:1028:_ZNSt3tr18__detail12__prime_listE@@GLIBCXX_3.4.10
+OBJECT:1028:_ZNSt8__detail12__prime_listE@@GLIBCXX_3.4.10
OBJECT:12:_ZTIN10__cxxabiv116__enum_type_infoE@@CXXABI_1.3
OBJECT:12:_ZTIN10__cxxabiv117__array_type_infoE@@CXXABI_1.3
OBJECT:12:_ZTIN10__cxxabiv117__class_type_infoE@@CXXABI_1.3
@@ -3135,6 +3233,8 @@
OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4
OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4
+OBJECT:8:_ZTIN10__cxxabiv115__forced_unwindE@@CXXABI_1.3.2
+OBJECT:8:_ZTIN10__cxxabiv119__foreign_exceptionE@@CXXABI_1.3.2
OBJECT:8:_ZTINSt6locale5facetE@@GLIBCXX_3.4
OBJECT:8:_ZTISt10ctype_base@@GLIBCXX_3.4
OBJECT:8:_ZTISt10money_base@@GLIBCXX_3.4

View File

@ -1,157 +0,0 @@
#! /bin/sh -e
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- gcc/config/t-slibgcc-elf-ver.orig 2006-10-03 18:16:53.094898500 +0200
+++ gcc/config/t-slibgcc-elf-ver 2006-10-03 18:17:40.061833750 +0200
@@ -14,6 +14,7 @@
SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
-Wl,--soname=$(SHLIB_SONAME) \
-Wl,--version-script=$(SHLIB_MAP) \
+ -Wl,-O1 \
-o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ \
$(SHLIB_OBJS) $(SHLIB_LC) && \
rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \
--- libstdc++-v3/src/Makefile.am.orig 2006-10-03 18:16:53.186904250 +0200
+++ libstdc++-v3/src/Makefile.am 2006-10-03 18:17:40.121837500 +0200
@@ -185,6 +185,7 @@
libstdc___la_DEPENDENCIES = ${version_dep} $(libstdc___la_LIBADD)
libstdc___la_LDFLAGS = \
+ -Wl,-O1 \
-version-info $(libtool_VERSION) ${version_arg} -lm
# Use special rules for the deprecated source files so that they find
--- libstdc++-v3/src/Makefile.in.orig 2006-10-03 18:16:53.206905500 +0200
+++ libstdc++-v3/src/Makefile.in 2006-10-03 18:17:40.137838500 +0200
@@ -387,6 +387,7 @@
libstdc___la_DEPENDENCIES = ${version_dep} $(libstdc___la_LIBADD)
libstdc___la_LDFLAGS = \
+ -Wl,-O1 \
-version-info $(libtool_VERSION) ${version_arg} -lm
--- libobjc/Makefile.in.orig 2006-10-03 18:16:53.098898750 +0200
+++ libobjc/Makefile.in 2006-10-03 18:17:40.061833750 +0200
@@ -276,11 +276,13 @@
libobjc$(libext).la: $(OBJS)
$(LIBTOOL_LINK) $(CC) -o $@ $(OBJS) \
-rpath $(toolexeclibdir) \
+ -Wl,-O1 \
-version-info $(LIBOBJC_VERSION) $(extra_ldflags_libobjc)
libobjc_gc$(libext).la: $(OBJS_GC)
$(LIBTOOL_LINK) $(CC) -o $@ $(OBJS_GC) \
-rpath $(toolexeclibdir) \
+ -Wl,-O1 \
-version-info $(LIBOBJC_GC_VERSION) $(extra_ldflags_libobjc)
#
--- libgfortran/Makefile.am.orig 2006-10-03 18:16:53.102899000 +0200
+++ libgfortran/Makefile.am 2006-10-03 18:18:59.566802500 +0200
@@ -7,7 +7,7 @@
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
toolexeclib_LTLIBRARIES = libgfortran.la
-libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -lm $(extra_ldflags_libgfortran)
+libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -lm $(extra_ldflags_libgfortran) -Wl,-O1
myexeclib_LTLIBRARIES = libgfortranbegin.la
myexeclibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)
--- libgfortran/Makefile.in.orig 2006-10-03 18:16:53.106899250 +0200
+++ libgfortran/Makefile.in 2006-10-03 18:19:17.543926000 +0200
@@ -359,7 +359,7 @@
ACLOCAL_AMFLAGS = -I ../config
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
toolexeclib_LTLIBRARIES = libgfortran.la
-libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -lm $(extra_ldflags_libgfortran)
+libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -lm $(extra_ldflags_libgfortran) -Wl,-O1
myexeclib_LTLIBRARIES = libgfortranbegin.la
myexeclibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)
libgfortranbegin_la_SOURCES = fmain.c
--- libmudflap/Makefile.am.orig 2006-10-03 18:16:53.182904000 +0200
+++ libmudflap/Makefile.am 2006-10-03 18:17:40.117837250 +0200
@@ -34,7 +34,7 @@
mf-hooks2.c
libmudflap_la_LIBADD =
libmudflap_la_DEPENDENCIES = $(libmudflap_la_LIBADD)
-libmudflap_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
+libmudflap_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -Wl,-O1
clean-local:
rm -f pth/*.o pth/*.lo
--- libmudflap/Makefile.in.orig 2006-10-03 18:16:53.182904000 +0200
+++ libmudflap/Makefile.in 2006-10-03 18:17:40.121837500 +0200
@@ -241,7 +241,7 @@
libmudflap_la_LIBADD =
libmudflap_la_DEPENDENCIES = $(libmudflap_la_LIBADD)
-libmudflap_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
+libmudflap_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -Wl,-O1
libmudflapth_la_SOURCES =
libmudflapth_la_LIBADD = \
pth/mf-runtime.lo \
--- libffi/Makefile.am.orig 2006-10-03 18:16:53.098898750 +0200
+++ libffi/Makefile.am 2006-10-03 18:17:40.061833750 +0200
@@ -154,7 +154,7 @@
AM_CFLAGS = -Wall -g -fexceptions
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
+libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -Wl,-O1
AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
AM_CCASFLAGS = $(AM_CPPFLAGS)
--- libffi/Makefile.in.orig 2006-10-03 18:16:53.102899000 +0200
+++ libffi/Makefile.in 2006-10-03 18:17:40.065834000 +0200
@@ -436,7 +436,7 @@
libffi_convenience_la_SOURCES = $(libffi_la_SOURCES)
nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
AM_CFLAGS = -Wall -g -fexceptions
-libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
+libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -Wl,-O1
AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
AM_CCASFLAGS = $(AM_CPPFLAGS)
all: fficonfig.h
--- libjava/Makefile.am.orig 2006-10-03 18:16:53.130900750 +0200
+++ libjava/Makefile.am 2006-10-03 18:17:40.093835750 +0200
@@ -97,7 +97,7 @@
GCJLINK = $(LIBTOOL) --tag=GCJ --mode=link $(GCJ) -L$(here) $(JC1FLAGS) \
$(LDFLAGS) -o $@
LIBLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXX) -L$(here) $(JC1FLAGS) \
- $(LDFLAGS) $(extra_ldflags_libjava) -o $@
+ $(LDFLAGS) $(extra_ldflags_libjava) -Wl,-O1 -o $@
GCC_UNWIND_INCLUDE = @GCC_UNWIND_INCLUDE@
--- libjava/Makefile.in.orig 2006-10-03 18:16:53.162902750 +0200
+++ libjava/Makefile.in 2006-10-03 18:17:40.117837250 +0200
@@ -733,7 +733,7 @@
$(LDFLAGS) -o $@
LIBLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXX) -L$(here) $(JC1FLAGS) \
- $(LDFLAGS) $(extra_ldflags_libjava) -o $@
+ $(LDFLAGS) $(extra_ldflags_libjava) -Wl,-O1 -o $@
WARNINGS = -Wextra -Wall
AM_CXXFLAGS = \

View File

@ -1,61 +0,0 @@
#! /bin/sh -e
# DP: Patch author: Stuart Anderson <anderson@netsweng.com>
# DP: Upstream status: Not submitted
# DP: Description: add full tri-arch support. Include linux64.h also fix up
# DP: Description: the directory names so that o32 is the default and follow
# DP: Description: the glibc convention for 32 & 64 bit names
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p1 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- src/gcc/config/mips/linux64.h 2007-08-02 12:49:31.000000000 +0200
+++ src/gcc/config/mips/linux64.h 2008-03-14 14:33:41.000000000 +0100
@@ -24,7 +24,7 @@
#define DRIVER_SELF_SPECS \
NO_SHARED_SPECS \
" %{!EB:%{!EL:%(endian_spec)}}" \
-" %{!mabi=*: -mabi=n32}"
+" %{!mabi=*: -mabi=32}"
#undef SUBTARGET_ASM_SPEC
#define SUBTARGET_ASM_SPEC "\
--- src/gcc/config/mips/t-linux64 2006-06-06 14:51:24.000000000 +0200
+++ src/gcc/config/mips/t-linux64 2008-03-14 14:26:21.000000000 +0100
@@ -1,5 +1,5 @@
MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
-MULTILIB_DIRNAMES = n32 32 64
+MULTILIB_DIRNAMES = n32 . 64
MULTILIB_OSDIRNAMES = ../lib32 ../lib ../lib64
EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
--- src/gcc/config.gcc 2008-01-29 17:28:10.000000000 +0100
+++ src/gcc/config.gcc 2008-03-14 14:26:21.000000000 +0100
@@ -1680,7 +1680,8 @@
test x$with_llsc != x || with_llsc=yes
;;
mips*-*-linux*) # Linux MIPS, either endian.
- tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
+ tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h mips/linux64.h"
+ tmake_file="${tmake_file} mips/t-linux64"
case ${target} in
mipsisa32r2*)
tm_defines="${tm_defines} MIPS_ISA_DEFAULT=33"

View File

@ -1,36 +0,0 @@
#! /bin/sh -e
# DP: Disable running the libmudflap testsuite. Getting killed on alpha.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- libmudflap/testsuite/Makefile.in~ 2005-09-23 18:33:47.000000000 +0200
+++ libmudflap/testsuite/Makefile.in 2006-03-25 20:31:45.044903808 +0100
@@ -218,6 +218,8 @@
check-DEJAGNU: site.exp
+ @echo target $@ disabled for Debian build.
+check-DEJAGNU-disabled: site.exp
srcdir=`$(am__cd) $(srcdir) && pwd`; export srcdir; \
EXPECT=$(EXPECT); export EXPECT; \
runtest=$(RUNTEST); \

View File

@ -1,138 +0,0 @@
#! /bin/sh -e
# DP: biarch-include.dpatch
# DP:
# DP: Adds biarch include directories
# DP: /usr/local/include/<arch>-linux-gnu
# DP: /usr/include/<arch>-linux-gnu
# DP: to the system include paths, depending on 32/64 bit mode.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
Index: gcc/cppdefault.c
===================================================================
--- gcc/cppdefault.c (revision 112832)
+++ gcc/cppdefault.c (working copy)
@@ -60,6 +60,7 @@
#endif
#ifdef LOCAL_INCLUDE_DIR
/* /usr/local/include comes before the fixincluded header files. */
+ { LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 2 },
{ LOCAL_INCLUDE_DIR, 0, 0, 1, 1, 0 },
#endif
#ifdef PREFIX_INCLUDE_DIR
@@ -83,6 +84,7 @@
#endif
#ifdef STANDARD_INCLUDE_DIR
/* /usr/include comes dead last. */
+ { STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT, 0, 0, 1, 2 },
{ STANDARD_INCLUDE_DIR, STANDARD_INCLUDE_COMPONENT, 0, 0, 1, 0 },
#endif
{ 0, 0, 0, 0, 0, 0 }
Index: gcc/c-incpath.c
===================================================================
--- gcc/c-incpath.c (revision 112832)
+++ gcc/c-incpath.c (working copy)
@@ -30,6 +30,7 @@
#include "intl.h"
#include "c-incpath.h"
#include "cppdefault.h"
+#include "errors.h"
/* Windows does not natively support inodes, and neither does MSDOS.
Cygwin's emulation can generate non-unique inodes, so don't use it.
@@ -121,6 +121,31 @@
}
}
+struct multiarch_mapping
+{
+ const char *const multilib;
+ const char *const multiarch;
+};
+
+const struct multiarch_mapping multiarch_mappings[]
+= {
+#include "multiarch.inc"
+ { 0, 0 }
+};
+
+static const char*
+multilib_to_multiarch (const char *imultilib)
+{
+ const struct multiarch_mapping *p;
+
+ for (p = multiarch_mappings; p->multiarch; p++)
+ {
+ if (!strcmp(p->multilib, imultilib ? imultilib : ""))
+ return p->multiarch;
+ }
+ internal_error("no multiarch mapping for multilib (%s)\n", imultilib);
+}
+
/* Append the standard include chain defined in cppdefault.c. */
static void
add_standard_paths (const char *sysroot, const char *iprefix,
@@ -128,6 +153,7 @@
{
const struct default_include *p;
size_t len;
+ const char *multiarch;
if (iprefix && (len = cpp_GCC_INCLUDE_DIR_len) != 0)
{
@@ -146,8 +172,15 @@
if (!strncmp (p->fname, cpp_GCC_INCLUDE_DIR, len))
{
char *str = concat (iprefix, p->fname + len, NULL);
- if (p->multilib && imultilib)
+ if (p->multilib == 1 && imultilib)
str = concat (str, dir_separator_str, imultilib, NULL);
+ if (p->multilib == 2)
+ {
+ multiarch = multilib_to_multiarch (imultilib);
+ if (!multiarch)
+ continue;
+ str = concat (str, dir_separator_str, multiarch, NULL);
+ }
add_path (str, SYSTEM, p->cxx_aware, false);
}
}
@@ -166,9 +199,17 @@
else
str = update_path (p->fname, p->component);
- if (p->multilib && imultilib)
+ if (p->multilib == 1 && imultilib)
str = concat (str, dir_separator_str, imultilib, NULL);
+ if (p->multilib == 2)
+ {
+ multiarch = multilib_to_multiarch (imultilib);
+ if (!multiarch)
+ continue;
+ str = concat (str, dir_separator_str, multiarch, NULL);
+ }
+
add_path (str, SYSTEM, p->cxx_aware, false);
}
}

View File

@ -1,52 +0,0 @@
#! /bin/sh -e
# multiarch-lib.dpatch by Stephen Frost <sfrost@debian.org>
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
diff -urN gcc.old/config/i386/t-linux64 gcc/config/i386/t-linux64
--- gcc.old/config/i386/t-linux64 2002-11-28 15:47:02.000000000 +0100
+++ gcc/config/i386/t-linux64 2004-07-10 07:28:01.000000000 +0200
@@ -6,7 +6,7 @@
MULTILIB_OPTIONS = m64/m32
MULTILIB_DIRNAMES = 64 32
-MULTILIB_OSDIRNAMES = ../lib64 ../lib
+MULTILIB_OSDIRNAMES = x86_64-linux i486-linux
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
diff -urN gcc.old/config/t-linux gcc/config/t-linux
--- gcc.old/config/t-linux 2004-05-04 18:09:38.000000000 +0200
+++ gcc/config/t-linux 2004-07-10 07:28:01.000000000 +0200
@@ -11,3 +11,11 @@
LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c \
$(srcdir)/unwind-sjlj.c $(srcdir)/gthr-gnat.c $(srcdir)/unwind-c.c
LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c
+
+MULTILIB_OPTIONS = m32
+MULTILIB_DIRNAMES = 32
+MULTILIB_OSDIRNAMES = $TARGET_ARCH
+
+LIBGCC = stmp-multilib
+INSTALL_LIBGCC = install-multilib
+

View File

@ -1,316 +0,0 @@
#! /bin/sh -e
# DP: Add .note.GNU-stack sections for gcc's crt files, libffi and boehm-gc
# DP: Taken from FC.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
#cd ${dir}gcc && autoconf
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
#rm ${dir}gcc/configure
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
gcc/
2004-09-20 Jakub Jelinek <jakub@redhat.com>
* config/rs6000/ppc-asm.h: Add .note.GNU-stack section also
on ppc64-linux.
* config/ia64/lib1funcs.asm: Add .note.GNU-stack section on
ia64-linux.
* config/ia64/crtbegin.asm: Likewise.
* config/ia64/crtend.asm: Likewise.
* config/ia64/crti.asm: Likewise.
* config/ia64/crtn.asm: Likewise.
2004-05-14 Jakub Jelinek <jakub@redhat.com>
* config/ia64/linux.h (TARGET_ASM_FILE_END): Define.
boehm-gc/
2005-02-08 Jakub Jelinek <jakub@redhat.com>
* ia64_save_regs_in_stack.s: Moved to...
* ia64_save_regs_in_stack.S: ... this. Add .note.GNU-stack
on Linux.
libffi/
2007-05-11 Daniel Jacobowitz <dan@debian.org>
* src/arm/sysv.S: Fix ARM comment marker.
2005-02-08 Jakub Jelinek <jakub@redhat.com>
* src/alpha/osf.S: Add .note.GNU-stack on Linux.
* src/s390/sysv.S: Likewise.
* src/powerpc/linux64.S: Likewise.
* src/powerpc/linux64_closure.S: Likewise.
* src/powerpc/ppc_closure.S: Likewise.
* src/powerpc/sysv.S: Likewise.
* src/x86/unix64.S: Likewise.
* src/x86/sysv.S: Likewise.
* src/sparc/v8.S: Likewise.
* src/sparc/v9.S: Likewise.
* src/m68k/sysv.S: Likewise.
* src/ia64/unix.S: Likewise.
* src/arm/sysv.S: Likewise.
Index: boehm-gc/ia64_save_regs_in_stack.s
===================================================================
--- boehm-gc/ia64_save_regs_in_stack.s (revision 107431)
+++ boehm-gc/ia64_save_regs_in_stack.s (revision 107432)
@@ -1,12 +0,0 @@
- .text
- .align 16
- .global GC_save_regs_in_stack
- .proc GC_save_regs_in_stack
-GC_save_regs_in_stack:
- .body
- flushrs
- ;;
- mov r8=ar.bsp
- br.ret.sptk.few rp
- .endp GC_save_regs_in_stack
-
Index: boehm-gc/ia64_save_regs_in_stack.S
===================================================================
--- boehm-gc/ia64_save_regs_in_stack.S (revision 0)
+++ boehm-gc/ia64_save_regs_in_stack.S (revision 107432)
@@ -0,0 +1,15 @@
+ .text
+ .align 16
+ .global GC_save_regs_in_stack
+ .proc GC_save_regs_in_stack
+GC_save_regs_in_stack:
+ .body
+ flushrs
+ ;;
+ mov r8=ar.bsp
+ br.ret.sptk.few rp
+ .endp GC_save_regs_in_stack
+
+#ifdef __linux__
+ .section .note.GNU-stack,"",@progbits
+#endif
--- gcc/config/ia64/linux.h.orig 2006-10-12 02:01:00.000000000 +0200
+++ gcc/config/ia64/linux.h 2006-12-11 10:33:13.000000000 +0100
@@ -5,6 +5,8 @@
#define TARGET_VERSION fprintf (stderr, " (IA-64) Linux");
+#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
+
/* This is for -profile to use -lc_p instead of -lc. */
#undef CC1_SPEC
#define CC1_SPEC "%{profile:-p} %{G*}"
--- gcc/config/ia64/lib1funcs.asm.orig 2006-01-18 22:46:41.000000000 +0100
+++ gcc/config/ia64/lib1funcs.asm 2006-12-11 10:33:13.000000000 +0100
@@ -792,3 +792,7 @@
}
.endp __floattitf
#endif
+
+#ifdef __linux__
+.section .note.GNU-stack; .previous
+#endif
--- gcc/config/ia64/crti.asm.orig 2006-01-18 22:46:41.000000000 +0100
+++ gcc/config/ia64/crti.asm 2006-12-11 10:33:13.000000000 +0100
@@ -64,3 +64,7 @@
.body
# end of crti.asm
+
+#ifdef __linux__
+.section .note.GNU-stack; .previous
+#endif
--- gcc/config/ia64/crtn.asm.orig 2006-01-18 22:46:41.000000000 +0100
+++ gcc/config/ia64/crtn.asm 2006-12-11 10:33:13.000000000 +0100
@@ -54,3 +54,7 @@
br.ret.sptk.many b0
# end of crtn.asm
+
+#ifdef __linux__
+.section .note.GNU-stack; .previous
+#endif
--- gcc/config/ia64/crtend.asm.orig 2006-01-18 22:46:41.000000000 +0100
+++ gcc/config/ia64/crtend.asm 2006-12-11 10:33:13.000000000 +0100
@@ -122,3 +122,7 @@
br.ret.sptk.many rp
.endp __do_global_ctors_aux
+
+#ifdef __linux__
+.section .note.GNU-stack; .previous
+#endif
--- gcc/config/ia64/crtbegin.asm.orig 2006-01-18 22:46:41.000000000 +0100
+++ gcc/config/ia64/crtbegin.asm 2006-12-11 10:33:13.000000000 +0100
@@ -255,3 +255,7 @@
.weak __cxa_finalize
#endif
.weak _Jv_RegisterClasses
+
+#ifdef __linux__
+.section .note.GNU-stack; .previous
+#endif
--- gcc/config/rs6000/ppc-asm.h.orig 2006-01-18 22:46:46.000000000 +0100
+++ gcc/config/rs6000/ppc-asm.h 2006-12-11 10:33:14.000000000 +0100
@@ -158,7 +158,7 @@
.size FUNC_NAME(name),GLUE(.L,name)-FUNC_NAME(name)
#endif
-#if defined __linux__ && !defined __powerpc64__
+#if defined __linux__
.section .note.GNU-stack
.previous
#endif
--- libffi/src/powerpc/ppc_closure.S.orig 2006-03-25 09:16:06.000000000 +0100
+++ libffi/src/powerpc/ppc_closure.S 2006-12-11 10:33:14.000000000 +0100
@@ -281,3 +281,7 @@
.LEFDE1:
#endif
+
+#if defined __ELF__ && defined __linux__
+ .section .note.GNU-stack,"",@progbits
+#endif
--- libffi/src/powerpc/sysv.S.orig 2006-03-25 09:16:06.000000000 +0100
+++ libffi/src/powerpc/sysv.S 2006-12-11 10:33:14.000000000 +0100
@@ -217,3 +217,7 @@
.align 2
.LEFDE1:
#endif
+
+#if defined __ELF__ && defined __linux__
+ .section .note.GNU-stack,"",@progbits
+#endif
--- libffi/src/powerpc/linux64_closure.S.orig 2006-01-18 22:49:27.000000000 +0100
+++ libffi/src/powerpc/linux64_closure.S 2006-12-11 10:33:14.000000000 +0100
@@ -204,3 +204,7 @@
.align 3
.LEFDE1:
#endif
+
+#if defined __ELF__ && defined __linux__
+ .section .note.GNU-stack,"",@progbits
+#endif
--- libffi/src/powerpc/linux64.S.orig 2006-03-25 09:16:06.000000000 +0100
+++ libffi/src/powerpc/linux64.S 2006-12-11 10:33:14.000000000 +0100
@@ -175,3 +175,7 @@
.align 3
.LEFDE1:
#endif
+
+#if defined __ELF__ && defined __linux__
+ .section .note.GNU-stack,"",@progbits
+#endif
--- libffi/src/arm/sysv.S.orig 2006-10-12 02:00:57.000000000 +0200
+++ libffi/src/arm/sysv.S 2006-12-11 10:33:14.000000000 +0100
@@ -255,3 +255,6 @@
.ffi_closure_SYSV_end:
.size CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV)
+#if defined __ELF__ && defined __linux__
+ .section .note.GNU-stack,"",%progbits
+#endif
--- libffi/src/m68k/sysv.S.orig 2006-01-18 22:49:27.000000000 +0100
+++ libffi/src/m68k/sysv.S 2006-12-11 10:33:14.000000000 +0100
@@ -207,3 +207,7 @@
rts
CFI_ENDPROC()
.size ffi_closure_struct_SYSV,.-ffi_closure_struct_SYSV
+
+#if defined __ELF__ && defined __linux__
+ .section .note.GNU-stack,"",@progbits
+#endif
--- libffi/src/alpha/osf.S.orig 2006-01-18 22:49:27.000000000 +0100
+++ libffi/src/alpha/osf.S 2006-12-11 10:33:14.000000000 +0100
@@ -356,4 +356,8 @@
.byte 16 # uleb128 offset 16*-8
.align 3
$LEFDE3:
+
+#ifdef __linux__
+ .section .note.GNU-stack,"",@progbits
+#endif
#endif
--- libffi/src/x86/sysv.S.orig 2006-01-18 22:49:28.000000000 +0100
+++ libffi/src/x86/sysv.S 2006-12-11 10:33:14.000000000 +0100
@@ -376,3 +376,7 @@
#endif
#endif /* ifndef __x86_64__ */
+
+#if defined __ELF__ && defined __linux__
+ .section .note.GNU-stack,"",@progbits
+#endif
--- libffi/src/x86/unix64.S.orig 2006-01-18 22:49:28.000000000 +0100
+++ libffi/src/x86/unix64.S 2006-12-11 10:33:14.000000000 +0100
@@ -410,3 +410,7 @@
.LEFDE3:
#endif /* __x86_64__ */
+
+#if defined __ELF__ && defined __linux__
+ .section .note.GNU-stack,"",@progbits
+#endif
--- libffi/src/s390/sysv.S.orig 2006-01-18 22:49:28.000000000 +0100
+++ libffi/src/s390/sysv.S 2006-12-11 10:33:14.000000000 +0100
@@ -427,3 +427,6 @@
#endif
+#if defined __ELF__ && defined __linux__
+ .section .note.GNU-stack,"",@progbits
+#endif
--- libffi/src/ia64/unix.S.orig 2006-01-18 22:49:29.000000000 +0100
+++ libffi/src/ia64/unix.S 2006-12-11 10:33:14.000000000 +0100
@@ -553,3 +553,7 @@
data8 @pcrel(.Lld_hfa_float) // FFI_IA64_TYPE_HFA_FLOAT
data8 @pcrel(.Lld_hfa_double) // FFI_IA64_TYPE_HFA_DOUBLE
data8 @pcrel(.Lld_hfa_ldouble) // FFI_IA64_TYPE_HFA_LDOUBLE
+
+#if defined __ELF__ && defined __linux__
+ .section .note.GNU-stack,"",@progbits
+#endif
--- libffi/src/sparc/v9.S.orig 2006-01-18 22:49:29.000000000 +0100
+++ libffi/src/sparc/v9.S 2006-12-11 10:33:14.000000000 +0100
@@ -300,3 +300,7 @@
.align 8
.LLEFDE2:
#endif
+
+#ifdef __linux__
+ .section .note.GNU-stack,"",@progbits
+#endif
--- libffi/src/sparc/v8.S.orig 2006-01-18 22:49:29.000000000 +0100
+++ libffi/src/sparc/v8.S 2006-12-11 10:33:14.000000000 +0100
@@ -265,3 +265,7 @@
.byte 0x1f ! uleb128 0x1f
.align WS
.LLEFDE2:
+
+#if defined __ELF__ && defined __linux__
+ .section .note.GNU-stack,"",@progbits
+#endif

View File

@ -1,47 +0,0 @@
#! /bin/sh -e
# DP: enable biarch for 32 bit compiler
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
--- gcc/config/rs6000/t-linux64.orig 2007-09-29 16:03:54.000000000 +0000
+++ gcc/config/rs6000/t-linux64 2007-09-30 10:36:47.000000000 +0000
@@ -14,13 +14,13 @@
# it doesn't tell anything about the 32bit libraries on those systems. Set
# MULTILIB_OSDIRNAMES according to what is found on the target.
-MULTILIB_OPTIONS = m64/m32 msoft-float
-MULTILIB_DIRNAMES = 64 32 nof
+MULTILIB_OPTIONS = m64/m32
+MULTILIB_DIRNAMES = 64 32
MULTILIB_EXTRA_OPTS = fPIC mstrict-align
-MULTILIB_EXCEPTIONS = m64/msoft-float
-MULTILIB_EXCLUSIONS = m64/!m32/msoft-float
-MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) nof
-MULTILIB_MATCHES = $(MULTILIB_MATCHES_FLOAT)
+MULTILIB_EXCEPTIONS =
+MULTILIB_EXCLUSIONS =
+MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
+MULTILIB_MATCHES =
softfp_wrap_start := '\#ifndef __powerpc64__'
softfp_wrap_end := '\#endif'

View File

@ -1,257 +0,0 @@
#! /bin/sh -e
# DP: Add gcc/ada/system-linux-ppc64.ads and use it in gcc/ada/Makefile.in
# DP:
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p1 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p1 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
diff -urN src.orig/gcc/ada/Makefile.in src/gcc/ada/Makefile.in
--- src.orig/gcc/ada/Makefile.in 2005-05-02 16:39:32.000000000 +0200
+++ src/gcc/ada/Makefile.in 2005-05-02 16:36:37.000000000 +0200
@@ -1346,6 +1346,31 @@
LIBRARY_VERSION := $(LIB_VERSION)
endif
+ifeq ($(strip $(filter-out powerpc64% linux%,$(arch) $(osys))),)
+ LIBGNAT_TARGET_PAIRS = \
+ a-intnam.ads<a-intnam-linux.ads \
+ s-inmaop.adb<s-inmaop-posix.adb \
+ s-intman.adb<s-intman-posix.adb \
+ s-osinte.adb<s-osinte-posix.adb \
+ s-osinte.ads<s-osinte-linux.ads \
+ s-osprim.adb<s-osprim-posix.adb \
+ s-taprop.adb<s-taprop-linux.adb \
+ s-taspri.ads<s-taspri-linux.ads \
+ s-tpopsp.adb<s-tpopsp-posix-foreign.adb \
+ s-parame.adb<s-parame-linux.adb \
+ system.ads<system-linux-ppc64.ads
+
+ TOOLS_TARGET_PAIRS = \
+ mlib-tgt.adb<mlib-tgt-linux.adb \
+ indepsw.adb<indepsw-linux.adb
+
+ THREADSLIB = -lpthread
+ GNATLIB_SHARED = gnatlib-shared-dual
+ GMEM_LIB = gmemlib
+ PREFIX_OBJS = $(PREFIX_REAL_OBJS)
+ LIBRARY_VERSION := $(LIB_VERSION)
+endif
+
ifeq ($(strip $(filter-out sparc% linux%,$(arch) $(osys))),)
LIBGNAT_TARGET_PAIRS = \
a-intnam.ads<a-intnam-linux.ads \
diff -urN src.orig/gcc/ada/system-linux-ppc64.ads src/gcc/ada/system-linux-ppc64.ads
--- src.orig/gcc/ada/system-linux-ppc64.ads 1970-01-01 01:00:00.000000000 +0100
+++ src/gcc/ada/system-linux-ppc64.ads 2005-05-02 16:33:38.000000000 +0200
@@ -0,0 +1,151 @@
+------------------------------------------------------------------------------
+-- --
+-- GNAT RUN-TIME COMPONENTS --
+-- --
+-- S Y S T E M --
+-- --
+-- S p e c --
+-- (GNU-Linux/PPC64 Version) --
+-- --
+-- Copyright (C) 1992-2004 Free Software Foundation, Inc. --
+-- --
+-- This specification is derived from the Ada Reference Manual for use with --
+-- GNAT. The copyright notice above, and the license provisions that follow --
+-- apply solely to the contents of the part following the private keyword. --
+-- --
+-- GNAT is free software; you can redistribute it and/or modify it under --
+-- terms of the GNU General Public License as published by the Free Soft- --
+-- ware Foundation; either version 2, or (at your option) any later ver- --
+-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
+-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
+-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
+-- for more details. You should have received a copy of the GNU General --
+-- Public License distributed with GNAT; see file COPYING. If not, write --
+-- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, --
+-- MA 02111-1307, USA. --
+-- --
+-- As a special exception, if other files instantiate generics from this --
+-- unit, or you link this unit with other files to produce an executable, --
+-- this unit does not by itself cause the resulting executable to be --
+-- covered by the GNU General Public License. This exception does not --
+-- however invalidate any other reasons why the executable file might be --
+-- covered by the GNU Public License. --
+-- --
+-- GNAT was originally developed by the GNAT team at New York University. --
+-- Extensive contributions were provided by Ada Core Technologies Inc. --
+-- --
+------------------------------------------------------------------------------
+
+package System is
+pragma Pure (System);
+-- Note that we take advantage of the implementation permission to
+-- make this unit Pure instead of Preelaborable, see RM 13.7(36)
+
+ type Name is (SYSTEM_NAME_GNAT);
+ System_Name : constant Name := SYSTEM_NAME_GNAT;
+
+ -- System-Dependent Named Numbers
+
+ Min_Int : constant := Long_Long_Integer'First;
+ Max_Int : constant := Long_Long_Integer'Last;
+
+ Max_Binary_Modulus : constant := 2 ** Long_Long_Integer'Size;
+ Max_Nonbinary_Modulus : constant := Integer'Last;
+
+ Max_Base_Digits : constant := Long_Long_Float'Digits;
+ Max_Digits : constant := Long_Long_Float'Digits;
+
+ Max_Mantissa : constant := 63;
+ Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
+
+ Tick : constant := 0.000_001;
+
+ -- Storage-related Declarations
+
+ type Address is private;
+ Null_Address : constant Address;
+
+ Storage_Unit : constant := 8;
+ Word_Size : constant := 64;
+ Memory_Size : constant := 2 ** 64;
+
+ -- Address comparison
+
+ function "<" (Left, Right : Address) return Boolean;
+ function "<=" (Left, Right : Address) return Boolean;
+ function ">" (Left, Right : Address) return Boolean;
+ function ">=" (Left, Right : Address) return Boolean;
+ function "=" (Left, Right : Address) return Boolean;
+
+ pragma Import (Intrinsic, "<");
+ pragma Import (Intrinsic, "<=");
+ pragma Import (Intrinsic, ">");
+ pragma Import (Intrinsic, ">=");
+ pragma Import (Intrinsic, "=");
+
+ -- Other System-Dependent Declarations
+
+ type Bit_Order is (High_Order_First, Low_Order_First);
+ Default_Bit_Order : constant Bit_Order := High_Order_First;
+
+ -- Priority-related Declarations (RM D.1)
+
+ Max_Priority : constant Positive := 30;
+ Max_Interrupt_Priority : constant Positive := 31;
+
+ subtype Any_Priority is Integer range 0 .. 31;
+ subtype Priority is Any_Priority range 0 .. 30;
+ subtype Interrupt_Priority is Any_Priority range 31 .. 31;
+
+ Default_Priority : constant Priority := 15;
+
+private
+
+ type Address is mod Memory_Size;
+ Null_Address : constant Address := 0;
+
+ --------------------------------------
+ -- System Implementation Parameters --
+ --------------------------------------
+
+ -- These parameters provide information about the target that is used
+ -- by the compiler. They are in the private part of System, where they
+ -- can be accessed using the special circuitry in the Targparm unit
+ -- whose source should be consulted for more detailed descriptions
+ -- of the individual switch values.
+
+ AAMP : constant Boolean := False;
+ Backend_Divide_Checks : constant Boolean := False;
+ Backend_Overflow_Checks : constant Boolean := False;
+ Command_Line_Args : constant Boolean := True;
+ Configurable_Run_Time : constant Boolean := False;
+ Denorm : constant Boolean := True;
+ Duration_32_Bits : constant Boolean := False;
+ Exit_Status_Supported : constant Boolean := True;
+ Fractional_Fixed_Ops : constant Boolean := False;
+ Frontend_Layout : constant Boolean := False;
+ Functions_Return_By_DSP : constant Boolean := False;
+ Machine_Overflows : constant Boolean := False;
+ Machine_Rounds : constant Boolean := True;
+ OpenVMS : constant Boolean := False;
+ Preallocated_Stacks : constant Boolean := False;
+ Signed_Zeros : constant Boolean := True;
+ Stack_Check_Default : constant Boolean := False;
+ Stack_Check_Probes : constant Boolean := False;
+ Support_64_Bit_Divides : constant Boolean := True;
+ Support_Aggregates : constant Boolean := True;
+ Support_Composite_Assign : constant Boolean := True;
+ Support_Composite_Compare : constant Boolean := True;
+ Support_Long_Shifts : constant Boolean := True;
+ Suppress_Standard_Library : constant Boolean := False;
+ Use_Ada_Main_Program_Name : constant Boolean := False;
+ ZCX_By_Default : constant Boolean := True;
+ GCC_ZCX_Support : constant Boolean := True;
+ Front_End_ZCX_Support : constant Boolean := False;
+
+ -- Obsolete entries, to be removed eventually (bootstrap issues!)
+
+ High_Integrity_Mode : constant Boolean := False;
+ Long_Shifts_Inlined : constant Boolean := True;
+
+end System;
diff -urN tmp/gcc/ada/s-auxdec.ads src/gcc/ada/s-auxdec.ads
--- tmp/gcc/ada/s-auxdec.ads 2004-06-11 12:47:36.000000000 +0200
+++ src/gcc/ada/s-auxdec.ads 2005-05-03 11:34:17.000000000 +0200
@@ -108,13 +108,13 @@
pragma Warnings (Off);
type F_Float is digits 6;
- pragma Float_Representation (VAX_Float, F_Float);
+-- pragma Float_Representation (VAX_Float, F_Float);
type D_Float is digits 9;
- pragma Float_Representation (Vax_Float, D_Float);
+-- pragma Float_Representation (Vax_Float, D_Float);
type G_Float is digits 15;
- pragma Float_Representation (Vax_Float, G_Float);
+-- pragma Float_Representation (Vax_Float, G_Float);
-- Floating point type declarations for IEEE floating point data types
--- tmp/gcc/ada/s-vaflop.ads 2003-10-21 15:42:18.000000000 +0200
+++ src/gcc/ada/s-vaflop.ads 2005-05-03 15:24:24.000000000 +0200
@@ -40,15 +40,15 @@
-- Suppress warnings if not on Alpha/VAX
type D is digits 9;
- pragma Float_Representation (VAX_Float, D);
+-- pragma Float_Representation (VAX_Float, D);
-- D Float type on Vax
type G is digits 15;
- pragma Float_Representation (VAX_Float, G);
+-- pragma Float_Representation (VAX_Float, G);
-- G Float type on Vax
type F is digits 6;
- pragma Float_Representation (VAX_Float, F);
+-- pragma Float_Representation (VAX_Float, F);
-- F Float type on Vax
type S is digits 6;

View File

@ -1,88 +0,0 @@
#! /bin/sh -e
# DP: Fix PR libgcj/24170.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
cd ${dir}libjava && autoconf
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
rm -f ${dir}libjava/configure
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
2008-02-20 Tom Tromey <tromey@redhat.com>
PR libgcj/24170:
* java/io/natFilePosix.cc (File::performList): Don't use
readdir_r.
* configure, include/config.h.in: Rebuilt.
* configure.ac: Don't check for readdir_r.
Index: libjava/configure.ac
===================================================================
--- libjava/configure.ac (revision 132490)
+++ libjava/configure.ac (revision 132491)
@@ -1023,7 +1023,7 @@
PLATFORMNET=NoNet
else
AC_CHECK_FUNCS([strerror_r select fstat open fsync sleep opendir \
- localtime_r readdir_r getpwuid_r getcwd \
+ localtime_r getpwuid_r getcwd \
access stat lstat mkdir rename rmdir unlink utime chmod readlink \
nl_langinfo setlocale \
inet_pton uname inet_ntoa \
Index: libjava/include/config.h.in
===================================================================
--- libjava/include/config.h.in (revision 132490)
+++ libjava/include/config.h.in (revision 132491)
@@ -214,9 +214,6 @@
/* Define to 1 if you have the <pwd.h> header file. */
#undef HAVE_PWD_H
-/* Define to 1 if you have the `readdir_r' function. */
-#undef HAVE_READDIR_R
-
/* Define to 1 if you have the `readlink' function. */
#undef HAVE_READLINK
Index: libjava/java/io/natFilePosix.cc
===================================================================
--- libjava/java/io/natFilePosix.cc (revision 132490)
+++ libjava/java/io/natFilePosix.cc (revision 132491)
@@ -1,6 +1,6 @@
// natFile.cc - Native part of File class for POSIX.
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006, 2008
Free Software Foundation
This file is part of libgcj.
@@ -292,13 +292,7 @@
java::util::ArrayList *list = new java::util::ArrayList ();
struct dirent *d;
-#if defined(HAVE_READDIR_R) && defined(_POSIX_PTHREAD_SEMANTICS)
- int name_max = pathconf (buf, _PC_NAME_MAX);
- char dbuf[sizeof (struct dirent) + name_max + 1];
- while (readdir_r (dir, (struct dirent *) dbuf, &d) == 0 && d != NULL)
-#else /* HAVE_READDIR_R */
while ((d = readdir (dir)) != NULL)
-#endif /* HAVE_READDIR_R */
{
// Omit "." and "..".
if (d->d_name[0] == '.'

View File

@ -1,90 +0,0 @@
#! /bin/sh -e
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
# DP: PR target/27880: Restore static linking on ia64 with system libunwind
# DP: by adding unwind-compat to the static libgcc.
2006-06-19 Andreas Schwab <schwab@suse.de>
PR target/27880
* unwind-compat.c: Wrap everything except _Unwind_GetIPInfo inside
SHARED.
* config/t-libunwind (LIB2ADDEHSTATIC): Add
$(srcdir)/unwind-compat.c.
Index: gcc/config/t-libunwind
===================================================================
--- gcc/config/t-libunwind (revision 114767)
+++ gcc/config/t-libunwind (working copy)
@@ -6,7 +6,8 @@
SHLIB_LC = -lunwind -lc
LIB2ADDEH = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c \
$(srcdir)/unwind-compat.c $(srcdir)/unwind-dw2-fde-compat.c
-LIB2ADDEHSTATIC = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
+LIB2ADDEHSTATIC = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c \
+ $(srcdir)/unwind-compat.c
T_CFLAGS += -DUSE_LIBUNWIND_EXCEPTIONS
TARGET_LIBGCC2_CFLAGS += -DUSE_GAS_SYMVER
Index: gcc/unwind-compat.c
===================================================================
--- gcc/unwind-compat.c (revision 114767)
+++ gcc/unwind-compat.c (working copy)
@@ -35,6 +35,7 @@
#include "unwind-dw2-fde.h"
#include "unwind-compat.h"
+#ifdef SHARED
extern _Unwind_Reason_Code __libunwind_Unwind_Backtrace
(_Unwind_Trace_Fn, void *);
@@ -136,13 +137,6 @@ _Unwind_GetIP (struct _Unwind_Context *c
}
symver (_Unwind_GetIP, GCC_3.0);
-_Unwind_Ptr
-_Unwind_GetIPInfo (struct _Unwind_Context *context, int *ip_before_insn)
-{
- *ip_before_insn = 0;
- return __libunwind_Unwind_GetIP (context);
-}
-
extern void *__libunwind_Unwind_GetLanguageSpecificData
(struct _Unwind_Context *);
@@ -212,4 +206,14 @@ _Unwind_SetIP (struct _Unwind_Context *c
return __libunwind_Unwind_SetIP (context, val);
}
symver (_Unwind_SetIP, GCC_3.0);
+#endif /* SHARED */
+
+extern _Unwind_Ptr __libunwind_Unwind_GetIP (struct _Unwind_Context *);
+
+_Unwind_Ptr
+_Unwind_GetIPInfo (struct _Unwind_Context *context, int *ip_before_insn)
+{
+ *ip_before_insn = 0;
+ return __libunwind_Unwind_GetIP (context);
+}
#endif

View File

@ -1,45 +0,0 @@
#! /bin/sh -e
# DP: Apply proposed fix for PR target/28102.
dir=
if [ $# -eq 3 -a "$2" = '-d' ]; then
pdir="-d $3"
dir="$3/"
elif [ $# -ne 1 ]; then
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
fi
case "$1" in
-patch)
patch $pdir -f --no-backup-if-mismatch -p0 < $0
;;
-unpatch)
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
;;
*)
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
exit 1
esac
exit 0
2006-07-15 Alfred M. Szmidt <ams@gnu.org>
* config/i386/gnu.h (TARGET_C99_FUNCTIONS): Undefine macro.
Index: gcc/config/i386/gnu.h
===================================================================
--- gcc/config/i386/gnu.h (revision 115472)
+++ gcc/config/i386/gnu.h (working copy)
@@ -36,3 +36,9 @@
/* FIXME: Is a Hurd-specific fallback mechanism necessary? */
#undef MD_UNWIND_SUPPORT
+
+/* config.gcc includes i386/linux.h. */
+#undef TARGET_C99_FUNCTIONS
+#define TARGET_C99_FUNCTIONS 1
+#undef TARGET_HAS_SINCOS
+#define TARGET_HAS_SINCOS 1

Some files were not shown because too many files have changed in this diff Show More