[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#693328: gcc-4.7: Please support arch powerpcspe



Package: gcc-4.7
Version: 4.7.2-4
Severity: wishlist
Tags: patch sid
User: debian-powerpcspe@breakpoint.cc
Usertags: powerpcspe

Hi,

I'm attaching a patch that fixes building gcc-4.7 on powerpcspe [1].

Thanks,

Roland


[1] http://wiki.debian.org/PowerPCSPEPort

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.5.0 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_GB.UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages gcc-4.7 depends on:
ii  binutils      2.22-7.1
ii  cpp-4.7       4.7.2-4
ii  gcc-4.7-base  4.7.2-4
ii  libc6         2.13-36
ii  libgcc1       1:4.7.2-4
ii  libgmp10      2:5.0.5+dfsg-2
ii  libgomp1      4.7.2-4
ii  libitm1       4.7.2-4
ii  libmpc2       0.9-4
ii  libmpfr4      3.1.0-5
ii  libquadmath0  4.7.2-4
ii  zlib1g        1:1.2.7.dfsg-13

Versions of packages gcc-4.7 recommends:
ii  libc6-dev  2.13-36

Versions of packages gcc-4.7 suggests:
pn  binutils-gold        <none>
ii  gcc-4.7-doc          4.7.2-2
pn  gcc-4.7-locales      <none>
ii  gcc-4.7-multilib     4.7.2-4
pn  libgcc1-dbg          <none>
pn  libgomp1-dbg         <none>
pn  libitm1-dbg          <none>
pn  libmudflap0-4.7-dev  <none>
pn  libmudflap0-dbg      <none>
pn  libquadmath0-dbg     <none>

-- no debconf information
diff -ruN gcc-4.7-4.7.2.backup/debian/control gcc-4.7-4.7.2/debian/control
--- gcc-4.7-4.7.2.backup/debian/control	2012-11-11 12:13:52.000000000 +0100
+++ gcc-4.7-4.7.2/debian/control	2012-11-11 13:36:29.974650389 +0100
@@ -4,7 +4,7 @@
 Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
 Uploaders: Matthias Klose <doko@debian.org>
 Standards-Version: 3.9.3
-Build-Depends: dpkg-dev (>= 1.16.0~ubuntu4), debhelper (>= 5.0.62), g++-multilib [amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 s390x sparc], libc6.1-dev (>= 2.13-5) [alpha ia64] | libc0.3-dev (>= 2.13-5) [hurd-i386] | libc0.1-dev (>= 2.13-5) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= 2.13-5), libc6-dev (>= 2.13-31) [armel armhf], libc6-dev-amd64 [i386], libc6-dev-sparc64 [sparc], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64 s390x], lib64gcc1 [i386 powerpc sparc s390], libc6-dev-mips64 [mips mipsel], libc6-dev-mipsn32 [mips mipsel], m4, libtool, autoconf2.64, automake (>= 1:1.11), automake (<< 1:1.12), libunwind7-dev (>= 0.98.5-6) [ia64], libatomic-ops-dev [ia64], zlib1g-dev, gawk, lzma, xz-utils, patchutils, binutils (>= 2.21.1) | binutils-multiarch (>= 2.21.1), binutils-hppa64 (>= 2.21.1) [hppa], gperf (>= 
 3.0.1), 
 bison (>= 1:2.3), flex, gettext, texinfo (>= 4.3), locales, procps, sharutils, netbase, binutils-spu (>= 2.21.1) [powerpc ppc64], newlib-spu (>= 1.16.0) [powerpc ppc64], libcloog-ppl-dev (>= 0.15.9-2~), libmpc-dev, libmpfr-dev (>= 3.0.0-9~), libgmp-dev (>= 2:5.0.1~), libelfg0-dev (>= 0.8.12), dejagnu [!m68k !hurd-i386 !hurd-alpha], autogen, realpath (>= 1.9.12), chrpath, lsb-release, make (>= 3.81), quilt
+Build-Depends: dpkg-dev (>= 1.16.0~ubuntu4), debhelper (>= 5.0.62), g++-multilib [amd64 i386 kfreebsd-amd64 mips mipsel powerpc powerpcspe ppc64 s390 s390x sparc], libc6.1-dev (>= 2.13-5) [alpha ia64] | libc0.3-dev (>= 2.13-5) [hurd-i386] | libc0.1-dev (>= 2.13-5) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= 2.13-5), libc6-dev (>= 2.13-31) [armel armhf], libc6-dev-amd64 [i386], libc6-dev-sparc64 [sparc], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64 s390x], lib64gcc1 [i386 powerpc sparc s390], libc6-dev-mips64 [mips mipsel], libc6-dev-mipsn32 [mips mipsel], m4, libtool, autoconf2.64, automake (>= 1:1.11), automake (<< 1:1.12), libunwind7-dev (>= 0.98.5-6) [ia64], libatomic-ops-dev [ia64], zlib1g-dev, gawk, lzma, xz-utils, patchutils, binutils (>= 2.21.1) | binutils-multiarch (>= 2.21.1), binutils-hppa64 (>= 2.21.1) [hppa],
  gperf (
 >= 3.0.1), bison (>= 1:2.3), flex, gettext, texinfo (>= 4.3), locales, procps, sharutils, netbase, binutils-spu (>= 2.21.1) [powerpc ppc64], newlib-spu (>= 1.16.0) [powerpc ppc64], libcloog-ppl-dev (>= 0.15.9-2~), libmpc-dev, libmpfr-dev (>= 3.0.0-9~), libgmp-dev (>= 2:5.0.1~), libelfg0-dev (>= 0.8.12), dejagnu [!m68k !hurd-i386 !hurd-alpha], autogen, realpath (>= 1.9.12), chrpath, lsb-release, make (>= 3.81), quilt
 Build-Depends-Indep: doxygen (>= 1.7.2), graphviz (>= 2.2), gsfonts-x11, texlive-latex-base, 
 Build-Conflicts: binutils-gold
 Homepage: http://gcc.gnu.org/
@@ -160,7 +160,7 @@
  This is the GNU C compiler, a fairly portable optimizing compiler for C.
 
 Package: gcc-4.7-multilib
-Architecture: amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 s390x sparc
+Architecture: amd64 i386 kfreebsd-amd64 mips mipsel powerpc powerpcspe ppc64 s390 s390x sparc
 Section: devel
 Priority: optional
 Depends: gcc-4.7-base (= ${gcc:Version}), gcc-4.7 (= ${gcc:Version}), ${dep:libcbiarchdev}, ${dep:libgccbiarch}, ${dep:libsspbiarch}, ${dep:libgompbiarch}, ${dep:libitmbiarch}, ${dep:libqmathbiarch}, ${shlibs:Depends}, ${misc:Depends}
@@ -256,7 +256,7 @@
  This is the GNU C++ compiler, a fairly portable optimizing compiler for C++.
 
 Package: g++-4.7-multilib
-Architecture: amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 s390x sparc
+Architecture: amd64 i386 kfreebsd-amd64 mips mipsel powerpc powerpcspe ppc64 s390 s390x sparc
 Section: devel
 Priority: optional
 Depends: gcc-4.7-base (= ${gcc:Version}), g++-4.7 (= ${gcc:Version}), gcc-4.7-multilib (= ${gcc:Version}), ${dep:libcxxbiarch}, ${shlibs:Depends}, ${misc:Depends}
@@ -618,7 +618,7 @@
  gcc backend to generate optimized code.
 
 Package: gobjc++-4.7-multilib
-Architecture: amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 s390x sparc
+Architecture: amd64 i386 kfreebsd-amd64 mips mipsel powerpc powerpcspe ppc64 s390 s390x sparc
 Section: devel
 Priority: optional
 Depends: gcc-4.7-base (= ${gcc:Version}), gobjc++-4.7 (= ${gcc:Version}), g++-4.7-multilib (= ${gcc:Version}), gobjc-4.7-multilib (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
@@ -641,7 +641,7 @@
  gcc backend to generate optimized code.
 
 Package: gobjc-4.7-multilib
-Architecture: amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 s390x sparc
+Architecture: amd64 i386 kfreebsd-amd64 mips mipsel powerpc powerpcspe ppc64 s390 s390x sparc
 Section: devel
 Priority: optional
 Depends: gcc-4.7-base (= ${gcc:Version}), gobjc-4.7 (= ${gcc:Version}), gcc-4.7-multilib (= ${gcc:Version}), ${dep:libobjcbiarch}, ${shlibs:Depends}, ${misc:Depends}
@@ -735,7 +735,7 @@
  gcc backend to generate optimized code.
 
 Package: gfortran-4.7-multilib
-Architecture: amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 s390x sparc
+Architecture: amd64 i386 kfreebsd-amd64 mips mipsel powerpc powerpcspe ppc64 s390 s390x sparc
 Section: devel
 Priority: optional
 Depends: gcc-4.7-base (= ${gcc:Version}), gfortran-4.7 (= ${gcc:Version}), gcc-4.7-multilib (= ${gcc:Version}), ${dep:libgfortranbiarch}, ${shlibs:Depends}, ${misc:Depends}
@@ -836,7 +836,7 @@
  by the gcc compiler. It uses the gcc backend to generate optimized code.
 
 Package: gccgo-4.7-multilib
-Architecture: amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 s390x sparc
+Architecture: amd64 i386 kfreebsd-amd64 mips mipsel powerpc powerpcspe ppc64 s390 s390x sparc
 Section: devel
 Priority: optional
 Depends: gcc-4.7-base (= ${gcc:Version}), gccgo-4.7 (= ${gcc:Version}), gcc-4.7-multilib (= ${gcc:Version}), ${dep:libgobiarch}, ${shlibs:Depends}, ${misc:Depends}
diff -ruN gcc-4.7-4.7.2.backup/debian/libgfortran3.symbols.powerpcspe gcc-4.7-4.7.2/debian/libgfortran3.symbols.powerpcspe
--- gcc-4.7-4.7.2.backup/debian/libgfortran3.symbols.powerpcspe	1970-01-01 01:00:00.000000000 +0100
+++ gcc-4.7-4.7.2/debian/libgfortran3.symbols.powerpcspe	2012-11-11 13:37:36.390666894 +0100
@@ -0,0 +1,3 @@
+libgfortran.so.3 libgfortran3 #MINVER#
+#include "libgfortran3.symbols.common"
+#include "libgfortran3.symbols.16.powerpc"
diff -ruN gcc-4.7-4.7.2.backup/debian/patches/powerpc_nofprs.diff gcc-4.7-4.7.2/debian/patches/powerpc_nofprs.diff
--- gcc-4.7-4.7.2.backup/debian/patches/powerpc_nofprs.diff	1970-01-01 01:00:00.000000000 +0100
+++ gcc-4.7-4.7.2/debian/patches/powerpc_nofprs.diff	2012-11-10 07:53:10.724792401 +0100
@@ -0,0 +1,45 @@
+--- gcc-4.7-4.7.2/src/libgcc/config/rs6000/crtsavfpr.S.orig	2012-11-09 21:11:13.923320372 +0100
++++ gcc-4.7-4.7.2/src/libgcc/config/rs6000/crtsavfpr.S	2012-11-09 21:12:06.083333334 +0100
+@@ -33,6 +33,7 @@
+ 
+ /* On PowerPC64 Linux, these functions are provided by the linker.  */
+ #ifndef __powerpc64__
++#ifndef __NO_FPRS__
+ 
+ /* Routines for saving floating point registers, called by the compiler.  */
+ /* Called with r11 pointing to the stack header word of the caller of the */
+@@ -79,3 +80,4 @@
+ CFI_ENDPROC
+ 
+ #endif
++#endif
+--- gcc-4.7-4.7.2/src/libgcc/config/rs6000/crtresfpr.S.orig	2012-11-10 00:18:44.590113135 +0100
++++ gcc-4.7-4.7.2/src/libgcc/config/rs6000/crtresfpr.S	2012-11-10 00:19:15.414120795 +0100
+@@ -33,6 +33,7 @@
+ 
+ /* On PowerPC64 Linux, these functions are provided by the linker.  */
+ #ifndef __powerpc64__
++#ifndef __NO_FPRS__
+ 
+ /* Routines for restoring floating point registers, called by the compiler.  */
+ /* Called with r11 pointing to the stack header word of the caller of the */
+@@ -79,3 +80,4 @@
+ CFI_ENDPROC
+ 
+ #endif
++#endif
+--- gcc-4.7-4.7.2/src/libgcc/config/rs6000/crtresxfpr.S.orig	2012-11-10 07:48:47.768732506 +0100
++++ gcc-4.7-4.7.2/src/libgcc/config/rs6000/crtresxfpr.S	2012-11-10 07:51:31.584768060 +0100
+@@ -33,6 +33,7 @@
+ 
+ /* On PowerPC64 Linux, these functions are provided by the linker.  */
+ #ifndef __powerpc64__
++#ifndef __NO_FPRS__
+ 
+ /* Routines for restoring floating point registers, called by the compiler.  */
+ /* Called with r11 pointing to the stack header word of the caller of the */
+@@ -124,3 +125,4 @@
+ CFI_ENDPROC
+ 
+ #endif
++#endif
diff -ruN gcc-4.7-4.7.2.backup/debian/rules.patch gcc-4.7-4.7.2/debian/rules.patch
--- gcc-4.7-4.7.2.backup/debian/rules.patch	2012-11-11 12:13:52.000000000 +0100
+++ gcc-4.7-4.7.2/debian/rules.patch	2012-11-09 21:15:28.415383574 +0100
@@ -200,6 +200,7 @@
 
 ifeq ($(DEB_TARGET_ARCH),powerpcspe)
   debian_patches += powerpc_remove_many
+  debian_patches += powerpc_nofprs
 endif
 
 ifeq ($(DEB_TARGET_ARCH),ppc64)

Reply to: