gcc: Add 4.3.3 and switch to for Moblin
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This commit is contained in:
parent
f887fcd665
commit
e6a3149428
|
@ -7,7 +7,7 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "gcc-cross-interme
|
|||
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "gcc-cross"
|
||||
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "gcc-cross"
|
||||
|
||||
GCCVERSION ?= "4.3.2"
|
||||
GCCVERSION ?= "4.3.3"
|
||||
BINUVERSION = "2.18"
|
||||
|
||||
PREFERRED_VERSION_gcc ?= "4.3.1"
|
||||
|
|
|
@ -0,0 +1,70 @@
|
|||
# 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 \
|
||||
"
|
||||
|
||||
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"
|
||||
|
|
@ -0,0 +1,200 @@
|
|||
--- 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
|
|
@ -0,0 +1,11 @@
|
|||
--- 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"
|
|
@ -0,0 +1,27 @@
|
|||
--- 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
|
@ -0,0 +1,213 @@
|
|||
--- 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
|
|
@ -0,0 +1,48 @@
|
|||
--- 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 = "";
|
|
@ -0,0 +1,347 @@
|
|||
--- 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);
|
|
@ -0,0 +1,46 @@
|
|||
# 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:
|
|
@ -0,0 +1,11 @@
|
|||
--- 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
|
|
@ -0,0 +1,11 @@
|
|||
--- 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
|
|
@ -0,0 +1,12 @@
|
|||
--- 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 ()
|
||||
{
|
|
@ -0,0 +1,24 @@
|
|||
--- 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;
|
|
@ -0,0 +1,49 @@
|
|||
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 */
|
|
@ -0,0 +1,36 @@
|
|||
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);
|
||||
}
|
||||
+}
|
|
@ -0,0 +1,26 @@
|
|||
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());
|
|
@ -0,0 +1,13 @@
|
|||
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)\" \
|
|
@ -0,0 +1,20 @@
|
|||
--- 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
|
|
@ -0,0 +1,25 @@
|
|||
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
|
|
@ -0,0 +1,67 @@
|
|||
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"
|
|
@ -0,0 +1,14 @@
|
|||
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. */
|
|
@ -0,0 +1,153 @@
|
|||
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--
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
# 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
|
|
@ -0,0 +1,16 @@
|
|||
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
|
|
@ -0,0 +1,29 @@
|
|||
--- 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
|
|
@ -0,0 +1,64 @@
|
|||
|
||||
#
|
||||
# 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
|
|
@ -0,0 +1,13 @@
|
|||
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}"
|
|
@ -0,0 +1,78 @@
|
|||
#! /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
|
|
@ -0,0 +1,88 @@
|
|||
#! /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
|
|
@ -0,0 +1,147 @@
|
|||
#! /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;
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
#! /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
|
|
@ -0,0 +1,42 @@
|
|||
#! /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 \
|
|
@ -0,0 +1,87 @@
|
|||
#! /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;
|
|
@ -0,0 +1,46 @@
|
|||
#! /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
|
@ -0,0 +1,346 @@
|
|||
#! /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;
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
#! /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
|
|
@ -0,0 +1,57 @@
|
|||
#! /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
|
|
@ -0,0 +1,49 @@
|
|||
#! /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
|
|
@ -0,0 +1,36 @@
|
|||
#! /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. */
|
|
@ -0,0 +1,39 @@
|
|||
#! /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'
|
|
@ -0,0 +1,37 @@
|
|||
#! /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
|
|
@ -0,0 +1,94 @@
|
|||
#! /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
|
|
@ -0,0 +1,37 @@
|
|||
#! /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;
|
||||
|
|
@ -0,0 +1,129 @@
|
|||
#! /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
|
|
@ -0,0 +1,39 @@
|
|||
#! /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)
|
|
@ -0,0 +1,47 @@
|
|||
#! /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))
|
||||
|
|
@ -0,0 +1,246 @@
|
|||
#! /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
|
||||
+
|
|
@ -0,0 +1,40 @@
|
|||
#! /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@
|
|
@ -0,0 +1,163 @@
|
|||
#! /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 "}}}"
|
||||
|
|
@ -0,0 +1,163 @@
|
|||
#! /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 "}}}"
|
||||
|
|
@ -0,0 +1,179 @@
|
|||
#! /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
|
|
@ -0,0 +1,44 @@
|
|||
#! /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;
|
|
@ -0,0 +1,331 @@
|
|||
#! /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
|
|
@ -0,0 +1,62 @@
|
|||
#! /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'
|
|
@ -0,0 +1,726 @@
|
|||
#! /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
|
|
@ -0,0 +1,209 @@
|
|||
#! /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),
|
|
@ -0,0 +1,103 @@
|
|||
#! /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
|
||||
}
|
||||
}
|
|
@ -0,0 +1,87 @@
|
|||
#! /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
|
|
@ -0,0 +1,28 @@
|
|||
#! /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
|
|
@ -0,0 +1,32 @@
|
|||
#! /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
|
|
@ -0,0 +1,117 @@
|
|||
#! /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 \
|
|
@ -0,0 +1,72 @@
|
|||
#! /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
|
|
@ -0,0 +1,38 @@
|
|||
#! /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 ;; \
|
|
@ -0,0 +1,231 @@
|
|||
#! /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;
|
|
@ -0,0 +1,99 @@
|
|||
#! /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"
|
|
@ -0,0 +1,45 @@
|
|||
#! /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
|
|
@ -0,0 +1,38 @@
|
|||
#! /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++"
|
||||
;;
|
|
@ -0,0 +1,43 @@
|
|||
#! /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;
|
|
@ -0,0 +1,45 @@
|
|||
#! /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
|
||||
|
|
@ -0,0 +1,227 @@
|
|||
#! /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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
|
||||
====
|
|
@ -0,0 +1,94 @@
|
|||
#! /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
|
|
@ -0,0 +1,431 @@
|
|||
#! /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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
|
||||
M8L3-XI&_Q4^P%0"07]E9EMV!;<&-(VN/"#I`R^,@`5)H;,><7Q;+GTD=B
|
||||
M`V+"<<"JMZY5JF.>NF$:&PXB6?`9-&=S&ERO,W0UR0;N$=?-'D;YZW%+FCQU
|
||||
M=*Y>NRA"2[[KA8EF;_-=)FLIG`M=*(<)M$\U%D>N#0=N-5;Z2*DP"T9$1F">
|
||||
M(X152$R3EWXM--C#,5S%E**K76.*W%^I;$O]+8VF.6^ZR#5R61E0S,VK[RQM
|
||||
M7=L"9>=^]K7H10F33U0JZH93NDD5(O@22#V(M=041?=BK)1%QG0,*JA$\`1*
|
||||
M]GSC6*)"I:+F.E!F&-=64T,:>\Y*0$-R@;1!A.^BNH)7]^EC4F$OSULI!%J@
|
||||
MH@>8Y/3UQE()$44V`.&-IM`V$I85S"6`T\[9:&^P,HV>X16A[4I1N,?DM+1[
|
||||
MCIQ<"]=BB@$4CR8D@`B(.1``F<[G,Y$_S2)RS0,*3'QM?T:9Q?(U_1QQLG9Y
|
||||
M>8S2S((#CDN/YUA)<L9M-0[BFMX6Z$*1O5;"$<>=61F['.V:"P6[/I$7AJ_E
|
||||
M,21@U*X.$6W:IM'75C&!M-H!M#30AL#6-IO4J0->7T"JO+-ULS,XAIZ.(VSW
|
||||
M+$+H9G0F30-I<*N.9XG*DD(NM&F;F"A`A>TE</4U[)BAW9DVKM&2G/B3.3BV
|
||||
M;M-<DC$;G7QN@VK2#.Y`WQ2J-"G50AE7`A,PI(`I2X*!L0FTDF&MIUF`TR"!
|
||||
M%XINHNT1AX5I4J*BI$D=FC<Y^*YM-]<J6LAEAEZDL3)<E`T$Q#JU*:R@*5D;
|
||||
M0Q$Q%*5"I_F9I*ZK;(DZ7-J;*&38H8HA$"%/C.@5>ZX4BCEZA17:T&7(HD+=
|
||||
ME9L`,-P9DD`$DAD<;X43%3,PB*0Q@%C,@F.L%%=5B,*#?F'&'GE(#,XVK8-C
|
||||
M:`>?"V:6=OC"=>5",XU\^4`M2!;%4JV2%'=C@UE+K'P,/)W>S;!`4@<O1/`N
|
||||
M&#&,)F48C/B(A@<7=9?%Y.X'+IK8:NC!PU=X^&DS0O9)3@PU#9!$I1!"&P),
|
||||
M*QB0QDABQ:L(,<X\`T)HSMEC6+;ZMDK&Q,Z\;S=;`W$U>0D,P"%<QF!GZ):,
|
||||
M#BERNM+4*T!+.,N90[:-?00]*<I#<99$2@RY$IWZBEEPB*:5.@@$J6B:3`5I
|
||||
M28QR.(03!:/`X)J:Y+7X"I+:<IC)$@SJ]W<$3:!+&0-8Z3%P#(,@VPBJ6TNR
|
||||
MY?)W-D17-VR&H*KP5`QQ:T6**28`&R!"0!@2@R<.A*QYEK@IAD2F8"&&TP)D
|
||||
M@%0+&E!L`W$-"O>T!/8%JOEJ$58`J;,#4,AMC;:8$T$!)I4F_,[D+YA0V"19
|
||||
M4D8UEQ(+!BTC(P8KB)_!$Y]E`5,\1*A`Q11=(!R?EH(BI7!`%A&1((!QKJA/
|
||||
M!MT(QC)R8R:T`"N9NGE%*$%=6PPE`()2&]1)R,.;=MP4J>^B:0.3A7&BEG+9
|
||||
MYF#;#8(IM!)KP85"ABP515%5B**\[J^!=<KIM%-12+%6*KKZII"EA54TE55(
|
||||
MI%JJ+5154M51J<Q==<6_%XR^Z^"LDE)2,83_E6L4>"W'!=JO+Q4%0>F[;:RF
|
||||
M^WU6;_GRVY#D^OFGDO5A-"FJ5C37(Z95Y=0JBJGVL..V%W@61Z:"IXVX?;*A
|
||||
M6\XAKU*F2D@F0"Q'2(2`\08UB^U]YL'NZ*)JW]"RYCB;U=S"<2EP+&689,
|
||||
M)&JJKJMCURP6,1@ZAD1$1$``\(`E9&+=K5NV_R>85'/^FVXP5V&<S#:1L^F2
|
||||
M(>ON2G03L:#C.+,)EBMYTS[M-_Y!*X$F-D-?<]=X4WUL\JN7'<&"=IUNFD5!
|
||||
M"/6'D.?C(^=%^9R`)4GE,Y#JIN&&;EW&A0TK&M.)18\?:!RN)([P%E%<()W2
|
||||
M^ND/$6-[M7U1G[UDX7.K8\YLL<_/3.KB*EO[;JKT1XLJN(%K2AYZ.SD\LM`:
|
||||
M)RT%&#?Y!_Q_T'*;9T0\/O]JT-.PO'!$8&C<M&,C!13FRZ6*ZJ*:QO6#3[/%
|
||||
M).[P;A<G":28QL]T-,$&+#AF4@55!HU4JU0LJ6M4L--JJ$+"+8::04D%6*+"
|
||||
?RU2TG1I:U$H06)<TB$BJ$Y,>E_^+N2*<*$A<,;Q^````
|
||||
`
|
||||
end
|
|
@ -0,0 +1,44 @@
|
|||
#! /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
|
|
@ -0,0 +1,79 @@
|
|||
#! /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);
|
|
@ -0,0 +1,49 @@
|
|||
#! /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 =
|
|
@ -0,0 +1,65 @@
|
|||
#! /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
|
|
@ -0,0 +1,34 @@
|
|||
#! /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
|
|
@ -0,0 +1,70 @@
|
|||
#! /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 =
|
|
@ -0,0 +1,246 @@
|
|||
#! /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
|
||||
.)
|
|
@ -0,0 +1,41 @@
|
|||
#! /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
|
|
@ -0,0 +1,73 @@
|
|||
#! /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
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
#! /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"
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
#! /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:
|
|
@ -0,0 +1,71 @@
|
|||
#! /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:
|
|
@ -0,0 +1,369 @@
|
|||
#! /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
|
|
@ -0,0 +1,157 @@
|
|||
#! /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 = \
|
|
@ -0,0 +1,61 @@
|
|||
#! /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"
|
|
@ -0,0 +1,36 @@
|
|||
#! /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); \
|
|
@ -0,0 +1,138 @@
|
|||
#! /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);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
#! /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
|
||||
+
|
|
@ -0,0 +1,316 @@
|
|||
#! /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
|
|
@ -0,0 +1,47 @@
|
|||
#! /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'
|
|
@ -0,0 +1,257 @@
|
|||
#! /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;
|
|
@ -0,0 +1,88 @@
|
|||
#! /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] == '.'
|
|
@ -0,0 +1,90 @@
|
|||
#! /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
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue