Re: building a multiarch gcc
On 04-Dec-12 23:09, Rafael Esp?ndola wrote:
> very good :) I see the gcc packages but not the patch. Maybe you have
> forgot to upload it?
I will attach the gcc patches to this mail. Usually the patches get
uploaded by my autobuilding script automatically, but I built the
gcc-3.4 and gcc-4.0 packages 'by hand' using dpkg-buildpackage and did
not upload the patches manually. As soon as my autobuilder has compiled
the gcc packages, the patches will appear on alioth.
Please note that I disabled 'nof' in my gcc patches. The patches also
contain a small part which I use for the amd64 archive I maintain.
Those parts can of course be ignored for ppc64.
> > Do you have any idea how to fix the java FTBFS?
> I did a ./debian/rules patch and right now the source is building in a
> ppc64 gentoo with the same arguments used in the debian package.
> Gentoo has a newer bintuils and that may make a difference.
I will patch 'binutils' up to a newer version and then try it again.
Regards
Andreas Jochens
diff -urN ../tmp-orig/gcc-3.4-3.4.3/debian/control ./debian/control
--- ../tmp-orig/gcc-3.4-3.4.3/debian/control 2004-12-13 07:41:25.632177800 +0000
+++ ./debian/control 2004-12-11 09:09:18.000000000 +0000
@@ -4,7 +4,7 @@
Maintainer: Debian GCC maintainers <debian-gcc@lists.debian.org>
Uploaders: Matthias Klose <doko@debian.org>, Gerhard Tonn <gt@debian.org>
Standards-Version: 3.6.1
-Build-Depends: libc6.1-dev (>= 2.3.2.ds1-16) [alpha ia64] | libc0.3-dev (>= 2.3.2.ds1-16) | libc0.1-dev (>= 2.3.2.ds1-16) | libc12-dev (>= 2.3.2.ds1-16) | libc6-dev (>= 2.3.2.ds1-16), libc6-dev-sparc64 [sparc], libc6-dev-s390x [s390], amd64-libs-dev [i386], ia32-libs-dev [amd64], libunwind7-dev [ia64], m4, autoconf2.13, autoconf, automake1.4, automake1.7, libtool, autotools-dev, gawk, dejagnu (>= 1.4.3) [!hurd-i386 !kfreebsd-gnu !knetbsd-gnu], expect (>= 5.38.0) [!hurd-i386 !kfreebsd-gnu !knetbsd-gnu], bzip2, binutils (>= 2.15-5) | binutils-multiarch (>= 2.15-5), binutils-hppa64 [hppa], debhelper (>= 4.1), gperf (>= 2.7-3), bison (>= 1:1.875a-1) | bison (<< 1:1.50), flex, gettext, texinfo (>= 4.3), zlib1g-dev, libgc-dev [!avr !kfreebsd-gnu !knetbsd-gnu], xlibs-dev, gnat-3.3 [!arm !m68k !m32r !hurd-i386 !kfreebsd-gnu !knetbsd-gnu !netbsd-elf-gnu] | gnat-3.4 [!arm !m68k !m32r !hurd-i386 !kfreebsd-gnu !knetbsd-gnu !netbsd-elf-gnu] | gnat [i386 powerpc sparc], libncurses5-dev [!netbsd-elf-gnu], libgmp3-dev, tetex-bin [!netbsd-elf-gnu], locales [!kfreebsd-gnu !knetbsd-gnu !netbsd-elf-gnu !hurd-i386], procps [!hurd-i386 !kfreebsd-gnu !knetbsd-gnu], help2man [!netbsd-elf-gnu], sharutils, libgtk2.0-dev (>= 2.4.4-2) [!mips !mipsel !m32r !hurd-i386 !kfreebsd-gnu !knetbsd-gnu !netbsd-elf-gnu], libart-2.0-dev [!mips !mipsel !m32r !hurd-i386 !kfreebsd-gnu !knetbsd-gnu !netbsd-elf-gnu], g++-3.3 [!amd64], g77-3.3 [!amd64], gobjc-3.3 [!amd64], realpath (>= 1.9.12)
+Build-Depends: libc6.1-dev (>= 2.3.2.ds1-16) [alpha ia64] | libc0.3-dev (>= 2.3.2.ds1-16) | libc0.1-dev (>= 2.3.2.ds1-16) | libc12-dev (>= 2.3.2.ds1-16) | libc6-dev (>= 2.3.2.ds1-16), libc6-dev-i386 [amd64], libc6-dev-powerpc [ppc64], libc6-dev-sparc64 [sparc], libc6-dev-s390x [s390], amd64-libs-dev [i386], libunwind7-dev [ia64], m4, autoconf2.13, autoconf, automake1.4, automake1.7, libtool, autotools-dev, gawk, dejagnu (>= 1.4.3) [!hurd-i386 !kfreebsd-gnu !knetbsd-gnu], expect (>= 5.38.0) [!hurd-i386 !kfreebsd-gnu !knetbsd-gnu], bzip2, binutils (>= 2.15-5) | binutils-multiarch (>= 2.15-5), binutils-hppa64 [hppa], debhelper (>= 4.1), gperf (>= 2.7-3), bison (>= 1:1.875a-1) | bison (<< 1:1.50), flex, gettext, texinfo (>= 4.3), zlib1g-dev, libgc-dev [!avr !kfreebsd-gnu !knetbsd-gnu], xlibs-dev, gnat-3.3 [!arm !m68k !m32r !powerpc64 !hurd-i386 !kfreebsd-gnu !knetbsd-gnu !netbsd-elf-gnu] | gnat-3.4 [!arm !m68k !m32r !powerpc64 !hurd-i386 !kfreebsd-gnu !knetbsd-gnu !netbsd-elf-gnu] | gnat [i386 powerpc sparc], libncurses5-dev [!netbsd-elf-gnu], libgmp3-dev, tetex-bin [!netbsd-elf-gnu], locales [!kfreebsd-gnu !knetbsd-gnu !netbsd-elf-gnu !hurd-i386], procps [!hurd-i386 !kfreebsd-gnu !knetbsd-gnu], help2man [!netbsd-elf-gnu], sharutils, libgtk2.0-dev (>= 2.4.4-2) [!mips !mipsel !m32r !powerpc64 !hurd-i386 !kfreebsd-gnu !knetbsd-gnu !netbsd-elf-gnu], libart-2.0-dev [!mips !mipsel !m32r !powerpc64 !hurd-i386 !kfreebsd-gnu !knetbsd-gnu !netbsd-elf-gnu], g++-3.3 [!amd64 !ppc64], g77-3.3 [!amd64 !ppc64], gobjc-3.3 [!amd64 !ppc64], realpath (>= 1.9.12)
Build-Depends-Indep: doxygen (>= 1.3.7)
Package: gcc-3.4-base
diff -urN ../tmp-orig/gcc-3.4-3.4.3/debian/control.m4 ./debian/control.m4
--- ../tmp-orig/gcc-3.4-3.4.3/debian/control.m4 2004-12-13 07:41:25.657174000 +0000
+++ ./debian/control.m4 2004-12-09 19:45:51.000000000 +0000
@@ -41,7 +41,7 @@
ifdef(`TARGET',`dnl cross
Build-Depends: LIBC_BUILD_DEP, m4, autoconf2.13, autoconf, automake1.4, automake1.7, libtool, autotools-dev, gawk, bzip2, dpkg-cross (>= 1.18.1), BINUTILS_BUILD_DEP, debhelper (>= 4.1), , bison (>= 1:1.875a-1) | bison (<< 1:1.50), flex`', realpath (>= 1.9.12)BD64
',`dnl native
-Build-Depends: LIBC_BUILD_DEP, libc6-dev-sparc64 [sparc], libc6-dev-s390x [s390], amd64-libs-dev [i386], ia32-libs-dev [amd64], libunwind7-dev [ia64], m4, autoconf2.13, autoconf, automake1.4, automake1.7, libtool, autotools-dev, gawk, dejagnu (>= 1.4.3) [check_no_archs], expect (>= 5.38.0) [check_no_archs], bzip2, BINUTILS_BUILD_DEP, binutils-hppa64 [hppa], debhelper (>= 4.1), gperf (>= 2.7-3), bison (>= 1:1.875a-1) | bison (<< 1:1.50), flex, gettext, texinfo (>= 4.3), zlib1g-dev, libgc-dev [libgc_no_archs], xlibs-dev, gnat-3.3 [ada_no_archs] | gnat-3.4 [ada_no_archs] | gnat [i386 powerpc sparc], libncurses5-dev [pascal_no_archs], libgmp3-dev, tetex-bin [pascal_no_archs], locales [locale_no_archs !hurd-i386], procps [check_no_archs], help2man [pascal_no_archs], sharutils, libgtk2.0-dev (>= 2.4.4-2) [java_no_archs], libart-2.0-dev [java_no_archs], g++-3.3 [!amd64], g77-3.3 [!amd64], gobjc-3.3 [!amd64], realpath (>= 1.9.12)
+Build-Depends: LIBC_BUILD_DEP, libc6-dev-i386 [amd64], libc6-dev-powerpc [ppc64], libc6-dev-sparc64 [sparc], libc6-dev-s390x [s390], amd64-libs-dev [i386], libunwind7-dev [ia64], m4, autoconf2.13, autoconf, automake1.4, automake1.7, libtool, autotools-dev, gawk, dejagnu (>= 1.4.3) [check_no_archs], expect (>= 5.38.0) [check_no_archs], bzip2, BINUTILS_BUILD_DEP, binutils-hppa64 [hppa], debhelper (>= 4.1), gperf (>= 2.7-3), bison (>= 1:1.875a-1) | bison (<< 1:1.50), flex, gettext, texinfo (>= 4.3), zlib1g-dev, libgc-dev [libgc_no_archs], xlibs-dev, gnat-3.3 [ada_no_archs] | gnat-3.4 [ada_no_archs] | gnat [i386 powerpc sparc], libncurses5-dev [pascal_no_archs], libgmp3-dev, tetex-bin [pascal_no_archs], locales [locale_no_archs !hurd-i386], procps [check_no_archs], help2man [pascal_no_archs], sharutils, libgtk2.0-dev (>= 2.4.4-2) [java_no_archs], libart-2.0-dev [java_no_archs], g++-3.3 [!amd64 !ppc64], g77-3.3 [!amd64 !ppc64], gobjc-3.3 [!amd64 !ppc64], realpath (>= 1.9.12)
Build-Depends-Indep: doxygen (>= 1.3.7)
')dnl
@@ -119,8 +119,8 @@
Architecture: any
Section: libs
Priority: optional
-Depends: ia32-libs (>= 0.7)
-Description: GCC support library (ia32)
+Depends: ${shlibs:Depends}
+Description: GCC support library (32 bit version)
Shared version of the support library, a library of internal subroutines
that GCC uses to overcome shortcomings of particular machines, or
special needs for some languages.
@@ -524,7 +524,7 @@
Section: ifdef(`TARGET',`devel',`libs')
Priority: ifdef(`TARGET',`extra',PRI(optional))
Depends: gcc`'PV-base (>= CV), lib32gcc`'GCC_SO
-Description: The GNU Standard C++ Library v3 (ia32)
+Description: The GNU Standard C++ Library v3 (32 bit version)
This package contains an additional runtime library for C++ programs
built with the GNU compiler.
ifdef(`TARGET', `dnl
@@ -538,7 +538,7 @@
Section: libs
Priority: optional
Depends: gcc`'PV-base (>= CV), lib32gcc`'GCC_SO
-Description: The GNU Standard C++ Library v3 (ia32)
+Description: The GNU Standard C++ Library v3 (32 bit version)
This package contains an additional runtime library for C++ programs
built with the GNU compiler.
ifdef(`TARGET', `dnl
diff -urN ../tmp-orig/gcc-3.4-3.4.3/debian/patches/amd64-biarch.dpatch ./debian/patches/amd64-biarch.dpatch
--- ../tmp-orig/gcc-3.4-3.4.3/debian/patches/amd64-biarch.dpatch 2004-12-13 07:41:25.442072528 +0000
+++ ./debian/patches/amd64-biarch.dpatch 2004-12-09 18:17:51.000000000 +0000
@@ -86,3 +86,14 @@
esac
# Remove extraneous blanks from multidirs.
+--- linux64.h 2003-11-29 03:08:10.000000000 +0000
++++ gcc/config/i386/linux64.h 2004-10-07 17:57:27.295477928 +0000
+@@ -61,7 +61,7 @@
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+ %{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
+- %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
++ %{!m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux-x86-64.so.2}}} \
+ %{static:-static}}"
+
+ #define MULTILIB_DEFAULTS { "m64" }
diff -urN ../tmp-orig/gcc-3.4-3.4.3/debian/patches/i386-biarch.dpatch ./debian/patches/i386-biarch.dpatch
--- ../tmp-orig/gcc-3.4-3.4.3/debian/patches/i386-biarch.dpatch 2004-12-13 07:41:25.438073136 +0000
+++ ./debian/patches/i386-biarch.dpatch 2004-12-09 18:17:51.000000000 +0000
@@ -100,7 +100,7 @@
%{!shared: \
@@ -63,8 +67,22 @@ Boston, MA 02111-1307, USA. */
%{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
- %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
+ %{!m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux-x86-64.so.2}}} \
%{static:-static}}"
+#else
+#define LINK_SPEC "%{m64:-m elf_x86_64} %{!m64:-m elf_i386} \
@@ -109,7 +109,7 @@
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+ %{!m64:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
-+ %{m64:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
++ %{m64:%{!dynamic-linker:-dynamic-linker /lib/ld-linux-x86-64.so.2}}} \
+ %{static:-static}}"
+#endif
diff -urN ../tmp-orig/gcc-3.4-3.4.3/debian/patches/ppc64-biarch.dpatch ./debian/patches/ppc64-biarch.dpatch
--- ../tmp-orig/gcc-3.4-3.4.3/debian/patches/ppc64-biarch.dpatch 1970-01-01 00:00:00.000000000 +0000
+++ ./debian/patches/ppc64-biarch.dpatch 2004-12-10 19:04:24.000000000 +0000
@@ -0,0 +1,219 @@
+#! /bin/sh -e
+
+# DP: biarch patches for powerpc/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 -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
+
+
+diff -urN tmp/gcc/config/rs6000/t-linux64 src/gcc/config/rs6000/t-linux64
+--- tmp/gcc/config/rs6000/t-linux64 2004-03-17 15:16:48.000000000 +0000
++++ src/gcc/config/rs6000/t-linux64 2004-11-22 07:56:52.681533760 +0000
+@@ -11,9 +11,9 @@
+-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 ../lib nof
+-MULTILIB_MATCHES = $(MULTILIB_MATCHES_FLOAT)
++#MULTILIB_EXCEPTIONS = m64/msoft-float
++#MULTILIB_EXCLUSIONS = m64/!m32/msoft-float
++MULTILIB_OSDIRNAMES = ../lib ../lib32
++#MULTILIB_MATCHES = $(MULTILIB_MATCHES_FLOAT)
+
+ # We want fine grained libraries, so use the new code to build the
+diff -urN tmp/gcc/config/rs6000/linux64.h src/gcc/config/rs6000/linux64.h
+--- tmp/gcc/config/rs6000/linux64.h 2004-10-03 03:43:56.000000000 +0000
++++ src/gcc/config/rs6000/linux64.h 2004-11-22 07:54:22.832314304 +0000
+@@ -353,7 +353,7 @@
+
+ #define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+- %{!dynamic-linker:-dynamic-linker /lib64/ld64.so.1}}}"
++ %{!dynamic-linker:-dynamic-linker /lib/ld64.so.1}}}"
+
+ #undef TOC_SECTION_ASM_OP
+ #define TOC_SECTION_ASM_OP \
+
+diff -urN gcc-3.4.3/config-ml.in src/config-ml.in
+--- gcc-3.4.3/config-ml.in 2004-01-05 00:41:14.000000000 +0000
++++ src/config-ml.in 2004-12-10 18:59:35.651141848 +0000
+@@ -400,7 +400,47 @@
+ ;;
+ esac
+ ;;
+-powerpc*-*-* | rs6000*-*-*)
++powerpc64-*-*)
++ case " $multidirs " in
++ *" 32 "*)
++ # We will not be able to create libraries with -m32 if
++ # we cannot even link a trivial program. It usually
++ # indicates the 32bit libraries are missing.
++ if echo 'main() {}' > conftest.c &&
++ ${CC-gcc} -m32 conftest.c -o conftest; then
++ echo Enable only libstdc++.
++ old_multidirs="${multidirs}"
++ multidirs=""
++ for x in ${old_multidirs}; do
++ case "$x" in
++ *32* ) case ${ml_realsrcdir} in
++ *"libstdc++-v3" ) multidirs="${multidirs} ${x}" ;;
++ *"libf2c" ) multidirs="${multidirs} ${x}" ;;
++ *"libobjc" ) multidirs="${multidirs} ${x}" ;;
++ *"libiberty" ) multidirs="${multidirs} ${x}" ;;
++ *"zlib" ) multidirs="${multidirs} ${x}" ;;
++ *) : ;;
++ esac
++ ;;
++ *) multidirs="${multidirs} ${x}" ;;
++ esac
++ done
++ else
++ echo Could not link program with -m32, disabling it.
++ old_multidirs="${multidirs}"
++ multidirs=""
++ for x in ${old_multidirs}; do
++ case "$x" in
++ *m32* ) : ;;
++ *) multidirs="${multidirs} ${x}" ;;
++ esac
++ done
++ fi
++ rm -f conftest.c conftest
++ ;;
++ esac
++ ;;
++powerpc-*-* | rs6000*-*-*)
+ if [ x$enable_aix64 = xno ]
+ then
+ old_multidirs="${multidirs}"
+--- ppc64-fp.c 2004-03-11 03:14:52.000000000 +0000
++++ src/gcc/config/rs6000/ppc64-fp.c 2004-11-22 22:22:10.488086024 +0000
+@@ -33,19 +33,19 @@
+ #if defined(__powerpc64__)
+ #include "config/fp-bit.h"
+
+-extern DItype __fixtfdi (TFtype);
++/*extern DItype __fixtfdi (TFtype);*/
+ extern DItype __fixdfdi (DFtype);
+ extern DItype __fixsfdi (SFtype);
+ extern USItype __fixunsdfsi (DFtype);
+ extern USItype __fixunssfsi (SFtype);
+-extern TFtype __floatditf (DItype);
++/*extern TFtype __floatditf (DItype);*/
+ extern DFtype __floatdidf (DItype);
+ extern SFtype __floatdisf (DItype);
+-extern DItype __fixunstfdi (TFtype);
++/*extern DItype __fixunstfdi (TFtype);*/
+
+ static DItype local_fixunssfdi (SFtype);
+ static DItype local_fixunsdfdi (DFtype);
+-
++/*
+ DItype
+ __fixtfdi (TFtype a)
+ {
+@@ -53,7 +53,7 @@
+ return - __fixunstfdi (-a);
+ return __fixunstfdi (a);
+ }
+-
++*/
+ DItype
+ __fixdfdi (DFtype a)
+ {
+@@ -87,7 +87,7 @@
+ - (- ((SItype)(((USItype)1 << ((4 * 8) - 1)) - 1)) - 1);
+ return (SItype) a;
+ }
+-
++/*
+ TFtype
+ __floatditf (DItype u)
+ {
+@@ -99,7 +99,7 @@
+
+ return (TFtype) dh + (TFtype) dl;
+ }
+-
++*/
+ DFtype
+ __floatdidf (DItype u)
+ {
+@@ -137,29 +137,29 @@
+ return (SFtype) f;
+ }
+
+-DItype
+-__fixunstfdi (TFtype a)
+-{
+- if (a < 0)
+- return 0;
+-
+- /* Compute high word of result, as a flonum. */
+- const TFtype b = (a / (((UDItype) 1) << (sizeof (SItype) * 8)));
+- /* Convert that to fixed (but not to DItype!),
+- and shift it into the high word. */
+- UDItype v = (USItype) b;
+- v <<= (sizeof (SItype) * 8);
+- /* Remove high part from the TFtype, leaving the low part as flonum. */
+- a -= (TFtype) v;
+- /* Convert that to fixed (but not to DItype!) and add it in.
+- Sometimes A comes out negative. This is significant, since
+- A has more bits than a long int does. */
+- if (a < 0)
+- v -= (USItype) (-a);
+- else
+- v += (USItype) a;
+- return v;
+-}
++//DItype
++//__fixunstfdi (TFtype a)
++//{
++// if (a < 0)
++// return 0;
++//
++// /* Compute high word of result, as a flonum. */
++// const TFtype b = (a / (((UDItype) 1) << (sizeof (SItype) * 8)));
++// /* Convert that to fixed (but not to DItype!),
++// and shift it into the high word. */
++// UDItype v = (USItype) b;
++// v <<= (sizeof (SItype) * 8);
++// /* Remove high part from the TFtype, leaving the low part as flonum. */
++// a -= (TFtype) v;
++// /* Convert that to fixed (but not to DItype!) and add it in.
++// Sometimes A comes out negative. This is significant, since
++// A has more bits than a long int does. */
++// if (a < 0)
++// v -= (USItype) (-a);
++// else
++// v += (USItype) a;
++// return v;
++//}
+
+ /* This version is needed to prevent recursion; fixunsdfdi in libgcc
+ calls fixdfdi, which in turn calls calls fixunsdfdi. */
+
diff -urN ../tmp-orig/gcc-3.4-3.4.3/debian/rules.d/binary-ada.mk ./debian/rules.d/binary-ada.mk
--- ../tmp-orig/gcc-3.4-3.4.3/debian/rules.d/binary-ada.mk 2004-12-13 07:41:20.313189680 +0000
+++ ./debian/rules.d/binary-ada.mk 2004-12-09 18:17:51.000000000 +0000
@@ -108,8 +108,8 @@
for lib in lib{gnat,gnarl}; do \
vlib=$$lib-$(GNAT_VERSION); \
dh_link -p$(p_gnat) \
- /$(PF)/$(libdir)/$$vlib.so.1 /$(gcc_lib_dir)/adalib/$$vlib.so \
- /$(PF)/$(libdir)/$$vlib.so.1 /$(gcc_lib_dir)/adalib/$$lib.so; \
+ /$(PF)/$(libdir)/$$vlib.so.1 /$(PF)/$(libdir)/$$vlib.so \
+ /$(PF)/$(libdir)/$$vlib.so.1 /$(PF)/$(libdir)/$$lib.so; \
done
endif
diff -urN ../tmp-orig/gcc-3.4-3.4.3/debian/rules.d/binary-gcc.mk ./debian/rules.d/binary-gcc.mk
--- ../tmp-orig/gcc-3.4-3.4.3/debian/rules.d/binary-gcc.mk 2004-12-13 07:41:20.322188312 +0000
+++ ./debian/rules.d/binary-gcc.mk 2004-12-09 19:37:40.000000000 +0000
@@ -29,7 +29,7 @@
ifeq ($(biarch),yes)
files_gcc += $(gcc_lib_dir)/64/{libgcc*,libgcov.a,*.o}
endif
-ifeq ($(biarch_ia32),yes)
+ifeq ($(biarch_32),yes)
files_gcc += $(gcc_lib_dir)/64/{libgcc*,*.o}
endif
@@ -83,7 +83,7 @@
ln -sf /$(lib64)/libgcc_s.so.$(GCC_SONAME) $(d)/$(gcc_lib_dir)/libgcc_s_64.so
ln -sf /$(lib64)/libgcc_s.so.$(GCC_SONAME) $(d)/$(gcc_lib_dir)/64/libgcc_s.so
endif
-ifeq ($(biarch_ia32),yes)
+ifeq ($(biarch_32),yes)
mkdir -p $(d_gcc)/$(gcc_lib_dir)
mv $(d)/$(gcc_lib_dir)/32 $(d_gcc)/$(gcc_lib_dir)/
dh_link -p$(p_gcc) \
diff -urN ../tmp-orig/gcc-3.4-3.4.3/debian/rules.d/binary-libgcc-cross.mk ./debian/rules.d/binary-libgcc-cross.mk
--- ../tmp-orig/gcc-3.4-3.4.3/debian/rules.d/binary-libgcc-cross.mk 2004-12-13 07:41:20.326187704 +0000
+++ ./debian/rules.d/binary-libgcc-cross.mk 2004-12-09 19:38:18.000000000 +0000
@@ -2,7 +2,7 @@
ifeq ($(with_lib64gcc),yes)
arch_binaries := $(arch_binaries) lib64gcc
endif
-ifeq ($(biarch_ia32),yes)
+ifeq ($(biarch_32),yes)
arch_binaries := $(arch_binaries) lib32gcc
endif
diff -urN ../tmp-orig/gcc-3.4-3.4.3/debian/rules.d/binary-libgcc.mk ./debian/rules.d/binary-libgcc.mk
--- ../tmp-orig/gcc-3.4-3.4.3/debian/rules.d/binary-libgcc.mk 2004-12-13 07:41:20.323188160 +0000
+++ ./debian/rules.d/binary-libgcc.mk 2004-12-09 19:36:04.000000000 +0000
@@ -2,7 +2,7 @@
ifeq ($(with_lib64gcc),yes)
arch_binaries := $(arch_binaries) lib64gcc
endif
-ifeq ($(biarch_ia32),yes)
+ifeq ($(biarch_32),yes)
arch_binaries := $(arch_binaries) lib32gcc
endif
@@ -136,10 +136,10 @@
rm -rf $(d_l32gcc)
dh_installdirs -p$(p_l32gcc) \
$(docdir)/$(p_l32gcc) \
- emul/ia32-linux/usr/lib
+ usr/lib32
mv $(d)/$(PF)/lib32/libgcc_s.so.$(GCC_SONAME) \
- $(d_l32gcc)/emul/ia32-linux/usr/lib/.
+ $(d_l32gcc)/usr/lib32/.
dh_installdocs -p$(p_l32gcc)
dh_installchangelogs -p$(p_l32gcc)
diff -urN ../tmp-orig/gcc-3.4-3.4.3/debian/rules.d/binary-libstdcxx-cross.mk ./debian/rules.d/binary-libstdcxx-cross.mk
--- ../tmp-orig/gcc-3.4-3.4.3/debian/rules.d/binary-libstdcxx-cross.mk 2004-12-13 07:41:20.328187400 +0000
+++ ./debian/rules.d/binary-libstdcxx-cross.mk 2004-12-09 19:38:08.000000000 +0000
@@ -4,7 +4,7 @@
ifeq ($(with_lib64cxx),yes)
arch_binaries := $(arch_binaries) lib64stdcxx
endif
-ifeq ($(biarch_ia32),yes)
+ifeq ($(biarch_32),yes)
arch_binaries := $(arch_binaries) lib32stdcxx
endif
diff -urN ../tmp-orig/gcc-3.4-3.4.3/debian/rules.d/binary-libstdcxx.mk ./debian/rules.d/binary-libstdcxx.mk
--- ../tmp-orig/gcc-3.4-3.4.3/debian/rules.d/binary-libstdcxx.mk 2004-12-13 07:41:20.331186944 +0000
+++ ./debian/rules.d/binary-libstdcxx.mk 2004-12-09 19:37:03.000000000 +0000
@@ -4,7 +4,7 @@
ifeq ($(with_lib64cxx),yes)
arch_binaries := $(arch_binaries) lib64stdcxx
endif
-ifeq ($(biarch_ia32),yes)
+ifeq ($(biarch_32),yes)
arch_binaries := $(arch_binaries) lib32stdcxx
endif
@@ -88,7 +88,7 @@
dirs_pic += $(gcc_lib_dir)
files_pic += $(gcc_lib_dir)/64/libstdc++_pic.a
endif
-ifeq ($(biarch_ia32),yes)
+ifeq ($(biarch_32),yes)
dirs_dev += $(gcc_lib_dir)/32/
files_dev += $(gcc_lib_dir)/32/libstdc++.{a,so} \
$(gcc_lib_dir)/32/libsupc++.a
@@ -235,10 +235,10 @@
rm -rf $(d_lib32)
dh_installdirs -p$(p_lib32) \
$(docdir)/$(p_lib32) \
- emul/ia32-linux/usr/lib
+ usr/lib32
mv $(d)/$(PF)/lib32/libstdc++.so.* \
- $(d_lib32)/emul/ia32-linux/usr/lib/.
+ $(d_lib32)/usr/lib32/.
dh_installdocs -p$(p_lib32)
echo "See /$(docdir)/$(p_base) for more information" \
@@ -292,7 +292,7 @@
ifeq ($(with_lib64cxx),yes)
mv $(d)/$(PF)/lib64/lib*c++*.{a,so} $(d)/$(gcc_lib_dir)/64/.
endif
-ifeq ($(biarch_ia32),yes)
+ifeq ($(biarch_32),yes)
mv $(d)/$(PF)/lib32/lib*c++*.{a,so} $(d)/$(gcc_lib_dir)/32/.
endif
@@ -308,7 +308,7 @@
/$(PF)/lib64/libstdc++.so.$(CXX_SONAME) \
/$(gcc_lib_dir)/64/libstdc++.so
endif
-ifeq ($(biarch_ia32),yes)
+ifeq ($(biarch_32),yes)
dh_link -p$(p_dev) \
/$(PF)/lib32/libstdc++.so.$(CXX_SONAME) \
/$(gcc_lib_dir)/32/libstdc++.so
diff -urN ../tmp-orig/gcc-3.4-3.4.3/debian/rules.defs ./debian/rules.defs
--- ../tmp-orig/gcc-3.4-3.4.3/debian/rules.defs 2004-12-13 07:41:25.661173392 +0000
+++ ./debian/rules.defs 2004-12-11 09:05:11.000000000 +0000
@@ -102,9 +102,9 @@
# ... and some libraries, which do not change (libffi2, libg2c, libobjc1).
with_common_libs := built from gcc-3.3
-# Build common_pkgs and common_libs for amd64/gcc-3.4
-ifeq ($(DEB_TARGET_GNU_CPU),x86_64)
- ifneq ($(BUILD_CC_VERSION),3.3)
+# Build common_pkgs and common_libs if gcc-3.4 is the default compiler
+ifeq ($(DEB_TARGET_GNU_CPU),$(findstring $(DEB_TARGET_GNU_CPU),powerpc64 x86_64))
+ ifeq ($(BUILD_CC_VERSION),3.4)
with_common_pkgs := yes
with_common_libs := yes
endif
@@ -209,7 +209,7 @@
with_java := yes
endif
-java_no_cpus := mips mipsel m32r
+java_no_cpus := mips mipsel m32r powerpc64
java_no_systems := hurd-i386 kfreebsd-gnu knetbsd-gnu netbsd-elf-gnu
ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),$(java_no_cpus)))
with_java := disabled for architecture $(DEB_TARGET_GNU_CPU)
@@ -422,7 +422,7 @@
endif
with_libgnat := yes
-ada_no_cpus := arm m68k m32r
+ada_no_cpus := arm m68k m32r powerpc64
ada_no_systems := hurd-i386 kfreebsd-gnu knetbsd-gnu netbsd-elf-gnu
ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),$(ada_no_cpus)))
with_ada := disabled for architecure $(DEB_TARGET_GNU_CPU)
@@ -492,7 +492,7 @@
#endif
# run testsuite --------------------
-with_check := yes
+with_check := no
# If you don't want to run the gcc testsuite, set `with_check' to `no'
#with_check := disabled by hand
ifeq ($(with_base_only),yes)
@@ -540,11 +540,11 @@
#with_lib64g2c := yes
endif
-ifeq ($(DEB_TARGET_ARCH),amd64)
- biarch_ia32 := yes
+ifeq ($(DEB_TARGET_ARCH), $(findstring $(DEB_TARGET_ARCH),amd64 ppc64))
+ biarch_32 := yes
endif
#ifeq ($(DEB_TARGET_ARCH),ia64)
-# biarch_ia32 := yes
+# biarch_32 := yes
#endif
# hppa64 build --------------------
diff -urN ../tmp-orig/gcc-3.4-3.4.3/debian/rules.parameters ./debian/rules.parameters
--- ../tmp-orig/gcc-3.4-3.4.3/debian/rules.parameters 2004-12-13 07:41:25.466068880 +0000
+++ ./debian/rules.parameters 2004-12-09 18:34:25.000000000 +0000
@@ -1,15 +1,15 @@
# configuration parameters taken from upstream source files
VER := 3.4.4
BASE_VERSION := 3.4
-SOURCE_VERSION := 3.4.3-2
-DEB_VERSION := 3.4.3-2
-DEB_EVERSION := 1:3.4.3-2
+SOURCE_VERSION := 3.4.3-4
+DEB_VERSION := 3.4.3-4
+DEB_EVERSION := 1:3.4.3-4
GPC_BASE_VERSION := 2.1
-DEB_GPC_VERSION := 3.4.3-2
+DEB_GPC_VERSION := 3.4.3-4
DEB_SOVERSION := 3.4.1-3
DEB_SOEVERSION := 1:3.4.1-3
DEB_LIBGCC_SOVERSION := 1:3.4.1-3
-DEB_LIBGCC_VERSION := 1:3.4.3-2
+DEB_LIBGCC_VERSION := 1:3.4.3-4
DEB_STDCXX_SOVERSION := 3.4.3-1
DEB_FFI_SOVERSION := 3.4.1-3
GCC_SONAME := 1
diff -urN ../tmp-orig/gcc-3.4-3.4.3/debian/rules.patch ./debian/rules.patch
--- ../tmp-orig/gcc-3.4-3.4.3/debian/rules.patch 2004-12-13 07:41:25.650175064 +0000
+++ ./debian/rules.patch 2004-12-09 18:17:51.000000000 +0000
@@ -82,6 +82,9 @@
ifeq ($(DEB_TARGET_GNU_CPU),m32r)
debian_patches += autoreconf m32r-gotoff m32r-stack m32r-libffi m32r-fixes m32r-limits
endif
+ifeq ($(DEB_TARGET_ARCH),ppc64)
+ debian_patches += ppc64-biarch
+endif
ifeq ($(DEB_TARGET_GNU_CPU),alpha)
debian_patches += # alpha-ieee
endif
diff -urN ../tmp-orig/gcc-3.4-3.4.3/debian/rules2 ./debian/rules2
--- ../tmp-orig/gcc-3.4-3.4.3/debian/rules2 2004-12-13 07:41:25.638176888 +0000
+++ ./debian/rules2 2004-12-10 19:11:21.000000000 +0000
@@ -44,7 +44,7 @@
ifeq ($(with_ada),yes)
CC = gnatgcc $(CPPFLAGS)
else
- CC = cc $(CPPFLAGS)
+ CC = gcc-3.4 $(CPPFLAGS)
endif
ifeq ($(DEB_HOST_ARCH), $(findstring $(DEB_HOST_ARCH),m68k))
@@ -148,7 +148,7 @@
endif
ifeq ($(DEB_TARGET_GNU_CPU), $(findstring $(DEB_TARGET_GNU_CPU),powerpc64))
- CONFARGS += --disable-softfloat
+ CONFARGS += --disable-softfloat --disable-nof
endif
ifeq ($(DEB_TARGET_GNU_TYPE),ia64-linux)
@@ -594,7 +594,7 @@
DEJAGNU_RUNTESTFLAGS = RUNTESTFLAGS="--target_board 'unix unix/-m64'"
endif
endif
-ifeq ($(biarch_ia32),yes)
+ifeq ($(biarch_32),yes)
uname_m := $(shell uname -m)
ifeq ($(uname_m), $(findstring $(uname_m),x86_64))
DEJAGNU_RUNTESTFLAGS = RUNTESTFLAGS="--target_board 'unix unix/-m32'"
diff -urN tmp-orig/gcc-4.0-4.0ds1/debian/control gcc-4.0-4.0ds1/debian/control
--- tmp-orig/gcc-4.0-4.0ds1/debian/control 2004-12-11 14:15:55.000000000 +0000
+++ gcc-4.0-4.0ds1/debian/control 2004-12-10 18:38:45.000000000 +0000
@@ -4,7 +4,7 @@
Maintainer: Debian GCC maintainers <debian-gcc@lists.debian.org>
Uploaders: Matthias Klose <doko@debian.org>
Standards-Version: 3.6.1
-Build-Depends: libc6.1-dev (>= 2.3.2.ds1-19) [alpha ia64] | libc0.3-dev (>= 2.3.2.ds1-19) | libc0.1-dev | libc12-dev (>= 2.3.2.ds1-19) | libc6-dev (>= 2.3.2.ds1-19), libc6-dev-sparc64 [sparc], libc6-dev-s390x [s390], amd64-libs-dev [i386], ia32-libs-dev [amd64], libunwind7-dev [ia64], m4, autoconf, automake1.9, libtool, autogen, gawk, dejagnu (>= 1.4.3) [!hurd-i386], expect (>= 5.38.0) [!hurd-i386], bzip2, binutils (>= 2.15-5) | binutils-multiarch (>= 2.15-5), binutils-hppa64 [hppa], debhelper (>= 4.1), gperf (>= 2.7-3), bison (>= 1:1.875a-1), flex, gettext, texinfo (>= 4.3), zlib1g-dev, libgc-dev [!knetbsd-i386], xlibs-dev, gnat-3.3 [!arm !hppa !m68k !mips !mipsel !s390 !sparc !kfreebsd-i386 !knetbsd-i386 !netbsd-i386] | gnat-3.4 [!arm !hppa !m68k !mips !mipsel !s390 !sparc !kfreebsd-i386 !knetbsd-i386 !netbsd-i386], libncurses5-dev [!netbsd-i386], libmpfr-dev | libgmp3-dev (<< 4.1.4-3), tetex-bin [!netbsd-i386], locales [!hurd-i386 !knetbsd-i386 !netbsd-i386], procps [!darwin-i386 !freebsd-i386 !hurd-i386 !kfreebsd-i386 !knetbsd-i386 !netbsd-i386 !openbsd-i386 !darwin-powerpc], help2man [!netbsd-i386], sharutils, libgtk2.0-dev [!mips !mipsel !knetbsd-i386 !netbsd-i386], libart-2.0-dev [!mips !mipsel !knetbsd-i386 !netbsd-i386], g++-3.4, gobjc-3.4, type-handling (>= 0.2.1), realpath (>= 1.9.12), chrpath
+Build-Depends: libc6.1-dev (>= 2.3.2.ds1-19) [alpha ia64] | libc0.3-dev (>= 2.3.2.ds1-19) | libc0.1-dev | libc12-dev (>= 2.3.2.ds1-19) | libc6-dev (>= 2.3.2.ds1-19), libc6-dev-i386 [amd64], libc6-dev-powerpc [ppc64], libc6-dev-sparc64 [sparc], libc6-dev-s390x [s390], amd64-libs-dev [i386], libunwind7-dev [ia64], m4, autoconf, automake1.9, libtool, autogen, gawk, dejagnu (>= 1.4.3) [!hurd-i386], expect (>= 5.38.0) [!hurd-i386], bzip2, binutils (>= 2.15-5) | binutils-multiarch (>= 2.15-5), binutils-hppa64 [hppa], debhelper (>= 4.1), gperf (>= 2.7-3), bison (>= 1:1.875a-1), flex, gettext, texinfo (>= 4.3), zlib1g-dev, libgc-dev [!knetbsd-i386], xlibs-dev, gnat-4.0 [!arm !hppa !m68k !mips !mipsel !ppc64 !s390 !sparc !kfreebsd-i386 !knetbsd-i386 !netbsd-i386] | gnat-3.3 [!arm !hppa !m68k !mips !mipsel !ppc64 !s390 !sparc !kfreebsd-i386 !knetbsd-i386 !netbsd-i386], libncurses5-dev [!netbsd-i386], libmpfr-dev | libgmp3-dev (<< 4.1.4-3), tetex-bin [!netbsd-i386], locales [!hurd-i386 !knetbsd-i386 !netbsd-i386], procps [!darwin-i386 !freebsd-i386 !hurd-i386 !kfreebsd-i386 !knetbsd-i386 !netbsd-i386 !openbsd-i386 !darwin-powerpc], help2man [!netbsd-i386], sharutils, libgtk2.0-dev [!mips !mipsel !knetbsd-i386 !netbsd-i386], libart-2.0-dev [!mips !mipsel !knetbsd-i386 !netbsd-i386], g++-3.4, gobjc-3.4, type-handling (>= 0.2.1), realpath (>= 1.9.12), chrpath
Build-Depends-Indep: doxygen (>= 1.3.9.1)
Package: gcc-4.0-base
diff -urN tmp-orig/gcc-4.0-4.0ds1/debian/control.m4 gcc-4.0-4.0ds1/debian/control.m4
--- tmp-orig/gcc-4.0-4.0ds1/debian/control.m4 2004-12-11 14:15:55.000000000 +0000
+++ gcc-4.0-4.0ds1/debian/control.m4 2004-12-10 18:33:16.000000000 +0000
@@ -41,7 +41,7 @@
ifdef(`TARGET',`dnl cross
Build-Depends: LIBC_BUILD_DEP, m4, autoconf, automake1.9, libtool, autotools-dev, autogen, gawk, bzip2, dpkg-cross (>= 1.18.1), BINUTILS_BUILD_DEP, debhelper (>= 4.1), bison (>= 1:1.875a-1) | bison (<< 1:1.50), flex, realpath (>= 1.9.12), chrpath`'BD64
',`dnl native
-Build-Depends: LIBC_BUILD_DEP, libc6-dev-sparc64 [sparc], libc6-dev-s390x [s390], amd64-libs-dev [i386], ia32-libs-dev [amd64], libunwind7-dev [ia64], m4, autoconf, automake1.9, libtool, autogen, gawk, dejagnu (>= 1.4.3) [check_no_archs], expect (>= 5.38.0) [check_no_archs], bzip2, BINUTILS_BUILD_DEP, binutils-hppa64 [hppa], debhelper (>= 4.1), gperf (>= 2.7-3), bison (>= 1:1.875a-1), flex, gettext, texinfo (>= 4.3), zlib1g-dev, libgc-dev [libgc_no_archs], xlibs-dev, gnat-3.3 [ada_no_archs] | gnat-3.4 [ada_no_archs], libncurses5-dev [pascal_no_archs], libmpfr-dev | libgmp3-dev (<< 4.1.4-3), tetex-bin [pascal_no_archs], locales [locale_no_archs], procps [linux_gnu_archs], help2man [pascal_no_archs], sharutils, libgtk2.0-dev [java_no_archs], libart-2.0-dev [java_no_archs], g++-3.4, gobjc-3.4, type-handling (>= 0.2.1), realpath (>= 1.9.12), chrpath
+Build-Depends: LIBC_BUILD_DEP, libc6-dev-i386 [amd64], libc6-dev-powerpc [ppc64], libc6-dev-sparc64 [sparc], libc6-dev-s390x [s390], amd64-libs-dev [i386], libunwind7-dev [ia64], m4, autoconf, automake1.9, libtool, autogen, gawk, dejagnu (>= 1.4.3) [check_no_archs], expect (>= 5.38.0) [check_no_archs], bzip2, BINUTILS_BUILD_DEP, binutils-hppa64 [hppa], debhelper (>= 4.1), gperf (>= 2.7-3), bison (>= 1:1.875a-1), flex, gettext, texinfo (>= 4.3), zlib1g-dev, libgc-dev [libgc_no_archs], xlibs-dev, gnat-4.0 [ada_no_archs] | gnat-3.3 [ada_no_archs], libncurses5-dev [pascal_no_archs], libmpfr-dev | libgmp3-dev (<< 4.1.4-3), tetex-bin [pascal_no_archs], locales [locale_no_archs], procps [linux_gnu_archs], help2man [pascal_no_archs], sharutils, libgtk2.0-dev [java_no_archs], libart-2.0-dev [java_no_archs], g++-3.4, gobjc-3.4, type-handling (>= 0.2.1), realpath (>= 1.9.12), chrpath
Build-Depends-Indep: doxygen (>= 1.3.9.1)
')dnl
@@ -117,8 +117,8 @@
Architecture: any
Section: libs
Priority: optional
-Depends: ia32-libs (>= 0.7)
-Description: GCC support library (ia32)
+Depends: ${shlibs:Depends}
+Description: GCC support library (32 bit Version)
Shared version of the support library, a library of internal subroutines
that GCC uses to overcome shortcomings of particular machines, or
special needs for some languages.
@@ -518,7 +518,7 @@
Section: ifdef(`TARGET',`devel',`libs')
Priority: ifdef(`TARGET',`extra',PRI(optional))
Depends: gcc`'PV-base (>= CV), lib32gcc`'GCC_SO`'LS
-Description: The GNU Standard C++ Library v3 (ia32)
+Description: The GNU Standard C++ Library v3 (32 bit Version)
This package contains an additional runtime library for C++ programs
built with the GNU compiler.
ifdef(`TARGET', `dnl
diff -urN tmp-orig/gcc-4.0-4.0ds1/debian/patches/amd64-biarch.dpatch gcc-4.0-4.0ds1/debian/patches/amd64-biarch.dpatch
--- tmp-orig/gcc-4.0-4.0ds1/debian/patches/amd64-biarch.dpatch 2004-12-11 14:15:55.000000000 +0000
+++ gcc-4.0-4.0ds1/debian/patches/amd64-biarch.dpatch 2004-12-07 17:02:49.000000000 +0000
@@ -86,3 +86,15 @@
esac
# Remove extraneous blanks from multidirs.
+--- linux64.h 2003-11-29 03:08:10.000000000 +0000
++++ gcc/config/i386/linux64.h 2004-10-07 17:57:27.295477928 +0000
+@@ -61,7 +61,7 @@
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+ %{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
+- %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
++ %{!m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux-x86-64.so.2}}} \
+ %{static:-static}}"
+
+ #define MULTILIB_DEFAULTS { "m64" }
+
diff -urN tmp-orig/gcc-4.0-4.0ds1/debian/patches/ppc64-biarch.dpatch gcc-4.0-4.0ds1/debian/patches/ppc64-biarch.dpatch
--- tmp-orig/gcc-4.0-4.0ds1/debian/patches/ppc64-biarch.dpatch 1970-01-01 00:00:00.000000000 +0000
+++ gcc-4.0-4.0ds1/debian/patches/ppc64-biarch.dpatch 2004-12-12 07:14:14.000000000 +0000
@@ -0,0 +1,223 @@
+#! /bin/sh -e
+
+# DP: biarch patches for powerpc/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 -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
+
+
+diff -urN tmp/gcc/config/rs6000/t-linux64 src/gcc/config/rs6000/t-linux64
+--- tmp/gcc/config/rs6000/t-linux64 2004-12-04 08:05:46.000000000 +0000
++++ src/gcc/config/rs6000/t-linux64 2004-12-04 08:07:52.180889736 +0000
+@@ -8,13 +8,13 @@
+
+ SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-ppc64.ver
+
+-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 ../lib nof
+-MULTILIB_MATCHES = $(MULTILIB_MATCHES_FLOAT)
++#MULTILIB_EXCEPTIONS = m64/msoft-float
++#MULTILIB_EXCLUSIONS = m64/!m32/msoft-float
++MULTILIB_OSDIRNAMES = ../lib ../lib32
++#MULTILIB_MATCHES = $(MULTILIB_MATCHES_FLOAT)
+
+ # We want fine grained libraries, so use the new code to build the
+ # floating point emulation libraries.
+diff -urN tmp/gcc/config/rs6000/linux64.h src/gcc/config/rs6000/linux64.h
+--- tmp/gcc/config/rs6000/linux64.h 2004-10-03 03:43:56.000000000 +0000
++++ src/gcc/config/rs6000/linux64.h 2004-11-22 07:54:22.832314304 +0000
+@@ -353,7 +353,7 @@
+
+ #define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
+ %{rdynamic:-export-dynamic} \
+- %{!dynamic-linker:-dynamic-linker /lib64/ld64.so.1}}}"
++ %{!dynamic-linker:-dynamic-linker /lib/ld64.so.1}}}"
+
+ #undef TOC_SECTION_ASM_OP
+ #define TOC_SECTION_ASM_OP \
+
+diff -urN tmp/config-ml.in src/config-ml.in
+--- tmp/config-ml.in 2004-11-09 08:07:29.000000000 +0000
++++ src/config-ml.in 2004-12-12 07:12:44.631147816 +0000
+@@ -400,7 +400,47 @@
+ ;;
+ esac
+ ;;
+-powerpc*-*-* | rs6000*-*-*)
++powerpc64-*-*)
++ case " $multidirs " in
++ *" 32 "*)
++ # We will not be able to create libraries with -m32 if
++ # we cannot even link a trivial program. It usually
++ # indicates the 32bit libraries are missing.
++ if echo 'main() {}' > conftest.c &&
++ ${CC-gcc} -m32 conftest.c -o conftest; then
++ echo Enable only libstdc++.
++ old_multidirs="${multidirs}"
++ multidirs=""
++ for x in ${old_multidirs}; do
++ case "$x" in
++ *32* ) case ${ml_realsrcdir} in
++ *"libstdc++-v3" ) multidirs="${multidirs} ${x}" ;;
++ *"libf2c" ) multidirs="${multidirs} ${x}" ;;
++ *"libobjc" ) multidirs="${multidirs} ${x}" ;;
++ *"libiberty" ) multidirs="${multidirs} ${x}" ;;
++ *"zlib" ) multidirs="${multidirs} ${x}" ;;
++ *) : ;;
++ esac
++ ;;
++ *) multidirs="${multidirs} ${x}" ;;
++ esac
++ done
++ else
++ echo Could not link program with -m32, disabling it.
++ old_multidirs="${multidirs}"
++ multidirs=""
++ for x in ${old_multidirs}; do
++ case "$x" in
++ *m32* ) : ;;
++ *) multidirs="${multidirs} ${x}" ;;
++ esac
++ done
++ fi
++ rm -f conftest.c conftest
++ ;;
++ esac
++ ;;
++powerpc-*-* | rs6000*-*-*)
+ if [ x$enable_aix64 = xno ]
+ then
+ old_multidirs="${multidirs}"
+--- ppc64-fp.c 2004-03-11 03:14:52.000000000 +0000
++++ src/gcc/config/rs6000/ppc64-fp.c 2004-11-22 22:22:10.488086024 +0000
+@@ -33,19 +33,19 @@
+ #if defined(__powerpc64__)
+ #include "config/fp-bit.h"
+
+-extern DItype __fixtfdi (TFtype);
++/*extern DItype __fixtfdi (TFtype);*/
+ extern DItype __fixdfdi (DFtype);
+ extern DItype __fixsfdi (SFtype);
+ extern USItype __fixunsdfsi (DFtype);
+ extern USItype __fixunssfsi (SFtype);
+-extern TFtype __floatditf (DItype);
++/*extern TFtype __floatditf (DItype);*/
+ extern DFtype __floatdidf (DItype);
+ extern SFtype __floatdisf (DItype);
+-extern DItype __fixunstfdi (TFtype);
++/*extern DItype __fixunstfdi (TFtype);*/
+
+ static DItype local_fixunssfdi (SFtype);
+ static DItype local_fixunsdfdi (DFtype);
+-
++/*
+ DItype
+ __fixtfdi (TFtype a)
+ {
+@@ -53,7 +53,7 @@
+ return - __fixunstfdi (-a);
+ return __fixunstfdi (a);
+ }
+-
++*/
+ DItype
+ __fixdfdi (DFtype a)
+ {
+@@ -87,7 +87,7 @@
+ - (- ((SItype)(((USItype)1 << ((4 * 8) - 1)) - 1)) - 1);
+ return (SItype) a;
+ }
+-
++/*
+ TFtype
+ __floatditf (DItype u)
+ {
+@@ -99,7 +99,7 @@
+
+ return (TFtype) dh + (TFtype) dl;
+ }
+-
++*/
+ DFtype
+ __floatdidf (DItype u)
+ {
+@@ -137,29 +137,29 @@
+ return (SFtype) f;
+ }
+
+-DItype
+-__fixunstfdi (TFtype a)
+-{
+- if (a < 0)
+- return 0;
+-
+- /* Compute high word of result, as a flonum. */
+- const TFtype b = (a / (((UDItype) 1) << (sizeof (SItype) * 8)));
+- /* Convert that to fixed (but not to DItype!),
+- and shift it into the high word. */
+- UDItype v = (USItype) b;
+- v <<= (sizeof (SItype) * 8);
+- /* Remove high part from the TFtype, leaving the low part as flonum. */
+- a -= (TFtype) v;
+- /* Convert that to fixed (but not to DItype!) and add it in.
+- Sometimes A comes out negative. This is significant, since
+- A has more bits than a long int does. */
+- if (a < 0)
+- v -= (USItype) (-a);
+- else
+- v += (USItype) a;
+- return v;
+-}
++//DItype
++//__fixunstfdi (TFtype a)
++//{
++// if (a < 0)
++// return 0;
++//
++// /* Compute high word of result, as a flonum. */
++// const TFtype b = (a / (((UDItype) 1) << (sizeof (SItype) * 8)));
++// /* Convert that to fixed (but not to DItype!),
++// and shift it into the high word. */
++// UDItype v = (USItype) b;
++// v <<= (sizeof (SItype) * 8);
++// /* Remove high part from the TFtype, leaving the low part as flonum. */
++// a -= (TFtype) v;
++// /* Convert that to fixed (but not to DItype!) and add it in.
++// Sometimes A comes out negative. This is significant, since
++// A has more bits than a long int does. */
++// if (a < 0)
++// v -= (USItype) (-a);
++// else
++// v += (USItype) a;
++// return v;
++//}
+
+ /* This version is needed to prevent recursion; fixunsdfdi in libgcc
+ calls fixdfdi, which in turn calls calls fixunsdfdi. */
+
diff -urN tmp-orig/gcc-4.0-4.0ds1/debian/rules.d/binary-gcc.mk gcc-4.0-4.0ds1/debian/rules.d/binary-gcc.mk
--- tmp-orig/gcc-4.0-4.0ds1/debian/rules.d/binary-gcc.mk 2004-12-11 14:15:54.000000000 +0000
+++ gcc-4.0-4.0ds1/debian/rules.d/binary-gcc.mk 2004-12-10 18:23:05.000000000 +0000
@@ -35,7 +35,7 @@
ifeq ($(biarch),yes)
files_gcc += $(gcc_lib_dir)/64/{libgcc*,libgcov.a,*.o}
endif
-ifeq ($(biarch_ia32),yes)
+ifeq ($(biarch_32),yes)
files_gcc += $(gcc_lib_dir)/64/{libgcc*,*.o}
endif
@@ -77,7 +77,7 @@
ln -sf /$(lib64)/libgcc_s.so.$(GCC_SONAME) $(d)/$(gcc_lib_dir)/libgcc_s_64.so
ln -sf /$(lib64)/libgcc_s.so.$(GCC_SONAME) $(d)/$(gcc_lib_dir)/64/libgcc_s.so
endif
-ifeq ($(biarch_ia32),yes)
+ifeq ($(biarch_32),yes)
mkdir -p $(d_gcc)/$(gcc_lib_dir)
mv $(d)/$(gcc_lib_dir)/32 $(d_gcc)/$(gcc_lib_dir)/
dh_link -p$(p_gcc) \
diff -urN tmp-orig/gcc-4.0-4.0ds1/debian/rules.d/binary-libgcc-cross.mk gcc-4.0-4.0ds1/debian/rules.d/binary-libgcc-cross.mk
--- tmp-orig/gcc-4.0-4.0ds1/debian/rules.d/binary-libgcc-cross.mk 2004-12-11 14:15:54.000000000 +0000
+++ gcc-4.0-4.0ds1/debian/rules.d/binary-libgcc-cross.mk 2004-12-10 18:24:07.000000000 +0000
@@ -2,7 +2,7 @@
ifeq ($(with_lib64gcc),yes)
arch_binaries := $(arch_binaries) lib64gcc
endif
-ifeq ($(biarch_ia32),yes)
+ifeq ($(biarch_32),yes)
arch_binaries := $(arch_binaries) lib32gcc
endif
diff -urN tmp-orig/gcc-4.0-4.0ds1/debian/rules.d/binary-libgcc.mk gcc-4.0-4.0ds1/debian/rules.d/binary-libgcc.mk
--- tmp-orig/gcc-4.0-4.0ds1/debian/rules.d/binary-libgcc.mk 2004-12-11 14:15:54.000000000 +0000
+++ gcc-4.0-4.0ds1/debian/rules.d/binary-libgcc.mk 2004-12-10 18:23:51.000000000 +0000
@@ -2,7 +2,7 @@
ifeq ($(with_lib64gcc),yes)
arch_binaries := $(arch_binaries) lib64gcc
endif
-ifeq ($(biarch_ia32),yes)
+ifeq ($(biarch_32),yes)
arch_binaries := $(arch_binaries) lib32gcc
endif
@@ -130,11 +130,11 @@
rm -rf $(d_l32gcc)
dh_installdirs -p$(p_l32gcc) \
$(docdir)/$(p_l32gcc) \
- emul/ia32-linux/usr/lib
+ usr/lib32
install -d $(d)/lib64
mv $(d)/$(PF)/lib32/libgcc_s.so.$(GCC_SONAME) \
- $(d_l32gcc)/emul/ia32-linux/usr/lib/.
+ $(d_l32gcc)/usr/lib32/.
dh_installdocs -p$(p_l32gcc)
dh_installchangelogs -p$(p_l32gcc)
diff -urN tmp-orig/gcc-4.0-4.0ds1/debian/rules.d/binary-libstdcxx-cross.mk gcc-4.0-4.0ds1/debian/rules.d/binary-libstdcxx-cross.mk
--- tmp-orig/gcc-4.0-4.0ds1/debian/rules.d/binary-libstdcxx-cross.mk 2004-12-11 14:15:54.000000000 +0000
+++ gcc-4.0-4.0ds1/debian/rules.d/binary-libstdcxx-cross.mk 2004-12-10 18:24:59.000000000 +0000
@@ -4,7 +4,7 @@
ifeq ($(with_lib64cxx),yes)
arch_binaries := $(arch_binaries) lib64stdcxx
endif
-ifeq ($(biarch_ia32),yes)
+ifeq ($(biarch_32),yes)
arch_binaries := $(arch_binaries) lib32stdcxx
endif
diff -urN tmp-orig/gcc-4.0-4.0ds1/debian/rules.d/binary-libstdcxx.mk gcc-4.0-4.0ds1/debian/rules.d/binary-libstdcxx.mk
--- tmp-orig/gcc-4.0-4.0ds1/debian/rules.d/binary-libstdcxx.mk 2004-12-11 14:15:54.000000000 +0000
+++ gcc-4.0-4.0ds1/debian/rules.d/binary-libstdcxx.mk 2004-12-10 18:24:48.000000000 +0000
@@ -5,7 +5,7 @@
ifeq ($(with_lib64cxx),yes)
arch_binaries := $(arch_binaries) lib64stdcxx
endif
-ifeq ($(biarch_ia32),yes)
+ifeq ($(biarch_32),yes)
arch_binaries := $(arch_binaries) lib32stdcxx
endif
@@ -81,7 +81,7 @@
dirs_pic += $(gcc_lib_dir)
files_pic += $(gcc_lib_dir)/64/libstdc++_pic.a
endif
-ifeq ($(biarch_ia32),yes)
+ifeq ($(biarch_32),yes)
dirs_dev += $(gcc_lib_dir)/32/
files_dev += $(gcc_lib_dir)/32/libstdc++.{a,so} \
$(gcc_lib_dir)/32/libsupc++.a
@@ -228,10 +228,10 @@
rm -rf $(d_lib32)
dh_installdirs -p$(p_lib32) \
$(docdir)/$(p_lib32) \
- emul/ia32-linux/usr/lib
+ usr/lib32
mv $(d)/$(PF)/lib32/libstdc++.so.* \
- $(d_lib32)/emul/ia32-linux/usr/lib/.
+ $(d_lib32)/usr/lib32/.
dh_installdocs -p$(p_lib32)
echo "See /$(docdir)/$(p_base) for more information" \
@@ -287,7 +287,7 @@
ifeq ($(with_lib64cxx),yes)
mv $(d)/$(PF)/lib64/lib*c++*.{a,so} $(d)/$(gcc_lib_dir)/64/.
endif
-ifeq ($(biarch_ia32),yes)
+ifeq ($(biarch_32),yes)
mv $(d)/$(PF)/lib32/lib*c++*.{a,so} $(d)/$(gcc_lib_dir)/32/.
endif
@@ -305,7 +305,7 @@
/$(PF)/lib64/libstdc++.so.$(CXX_SONAME) \
/$(gcc_lib_dir)/64/libstdc++.so
endif
-ifeq ($(biarch_ia32),yes)
+ifeq ($(biarch_32),yes)
dh_link -p$(p_dev) \
/$(PF)/lib32/libstdc++.so.$(CXX_SONAME) \
/$(gcc_lib_dir)/32/libstdc++.so
diff -urN tmp-orig/gcc-4.0-4.0ds1/debian/rules.defs gcc-4.0-4.0ds1/debian/rules.defs
--- tmp-orig/gcc-4.0-4.0ds1/debian/rules.defs 2004-12-11 14:15:55.000000000 +0000
+++ gcc-4.0-4.0ds1/debian/rules.defs 2004-12-10 18:32:05.000000000 +0000
@@ -440,7 +440,7 @@
endif
with_libgnat := yes
-ada_no_cpus := arm m68k hppa mips mipsel s390 sparc
+ada_no_cpus := arm m68k hppa mips mipsel s390 sparc powerpc64
ada_no_systems := hurd-i386 kfreebsd-gnu knetbsd-gnu netbsdelf-gnu
ifneq (, $(filter $(DEB_TARGET_GNU_CPU),$(ada_no_cpus)))
with_ada := disabled for architecure $(DEB_TARGET_GNU_CPU)
@@ -510,7 +510,7 @@
endif
# run testsuite --------------------
-with_check := yes
+with_check := no
# If you don't want to run the gcc testsuite, set `with_check' to `no'
#with_check := disabled by hand
ifeq ($(with_base_only),yes)
@@ -559,11 +559,11 @@
#with_lib64gcj := yes
endif
-ifeq ($(DEB_TARGET_ARCH),amd64)
- biarch_ia32 := yes
+ifeq ($(DEB_TARGET_ARCH),$(findstring $(DEB_TARGET_ARCH),amd64 ppc64))
+ biarch_32 := yes
endif
#ifeq ($(DEB_TARGET_ARCH),ia64)
-# biarch_ia32 := yes
+# biarch_32 := yes
#endif
# hppa64 build --------------------
diff -urN tmp-orig/gcc-4.0-4.0ds1/debian/rules.patch gcc-4.0-4.0ds1/debian/rules.patch
--- tmp-orig/gcc-4.0-4.0ds1/debian/rules.patch 2004-12-11 14:15:55.000000000 +0000
+++ gcc-4.0-4.0ds1/debian/rules.patch 2004-12-07 17:02:49.000000000 +0000
@@ -64,6 +64,9 @@
ifeq ($(DEB_TARGET_ARCH),amd64)
debian_patches += amd64-biarch # amd64-multilib
endif
+ifeq ($(DEB_TARGET_ARCH),ppc64)
+ debian_patches += ppc64-biarch
+endif
ifeq ($(DEB_TARGET_GNU_CPU),alpha)
debian_patches += # alpha-ieee
diff -urN tmp-orig/gcc-4.0-4.0ds1/debian/rules2 gcc-4.0-4.0ds1/debian/rules2
--- tmp-orig/gcc-4.0-4.0ds1/debian/rules2 2004-12-11 14:15:55.000000000 +0000
+++ gcc-4.0-4.0ds1/debian/rules2 2004-12-11 14:22:29.000000000 +0000
@@ -44,7 +44,7 @@
ifeq ($(with_ada),yes)
CC = gnatgcc $(CPPFLAGS)
else
- CC = cc $(CPPFLAGS)
+ CC = gcc-3.4 $(CPPFLAGS)
endif
ifeq ($(DEB_HOST_ARCH), $(findstring $(DEB_HOST_ARCH),m68k))
Reply to: