Bug#695661: gcc-4.7: Please fix build on powerpcspe
Package: gcc-4.7
Version: 4.7.2-4
Severity: wishlist
Tags: patch sid
User: debian-powerpcspe@breakpoint.cc
Usertags: powerpcspe
Hi,
gcc-4.7 currently fails to build from source on powerpcspe[1] like this:
[...]
/«PKGBUILDDIR»/build/./gcc/xgcc -B/«PKGBUILDDIR»/build/./gcc/ -B/usr/powerpc-linux-gnuspe/bin/ -B/usr/powerpc-linux-gnuspe/lib/ -isystem /usr/powerpc-linux-gnuspe/include -isystem /usr/powerpc-linux-gnuspe/sys-include -g -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -mlong-double-128 -mno-minimal-toc -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -fPIC -mlong-double-128 -mno-minimal-toc -I. -I. -I../.././gcc -I../../../src/libgcc -I../../../src/libgcc/. -I../../../src/libgcc/../gcc -I../../../src/libgcc/../include -I../../../src/libgcc/../libdecnumber/dpd -I../../../src/libgcc/../libdecnumber -DHAVE_CC_TLS -o _gcov_merge_single.o -MT _gcov_merge_single.o -MD -MP -MF _gcov_merge_single.dep -DL_gcov_merge_single -c ../../../src/libgcc/libgcov.c
In file included from /usr/include/stdio.h:28:0,
from ../../../src/libgcc/../gcc/tsystem.h:88,
from ../../../src/libgcc/libgcov.c:29:
/usr/include/features.h:323:26: fatal error: bits/predefs.h: No such file or directory
compilation terminated.
[...]
I traced it back to "xgcc -v" printing the include search paths which include
/usr/include/powerpc-linux-gnu which should be
/usr/include/powerpc-linux-gnuspe for powerpcspe.
(This is similar to http://bugs.debian.org/695654)
Attaching patches for the current revisions in unstable and experimental.
Thanks in advance,
Roland
[1] http://wiki.debian.org/PowerPCSPEPort
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 3.2.0-4-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
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-37
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-37
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>
pn gcc-4.7-multilib <none>
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
--- gcc-4.7-4.7.2/debian/patches/gcc-multiarch.diff.orig 2012-12-09 00:13:33.576016409 +0100
+++ gcc-4.7-4.7.2/debian/patches/gcc-multiarch.diff 2012-12-09 00:19:06.992023777 +0100
@@ -570,8 +570,12 @@
MULTILIB_MATCHES = $(MULTILIB_MATCHES_FLOAT)
--- a/src/gcc/config/rs6000/t-linux (revision 0)
+++ b/src/gcc/config/rs6000/t-linux (revision 0)
-@@ -0,0 +1 @@
+@@ -0,0 +1,5 @@
++ifneq (,$(findstring spe, $(target)))
++MULTIARCH_DIRNAME = powerpc-linux-gnuspe
++else
+MULTIARCH_DIRNAME = powerpc-linux-gnu
++endif
--- a/src/gcc/config/arm/t-linux-eabi (revision 182390)
+++ b/src/gcc/config/arm/t-linux-eabi (working copy)
@@ -24,3 +24,6 @@
--- gcc-4.7-4.7.2/debian/patches/gcc-multiarch-upstream.diff.orig 2012-12-09 12:34:32.141805000 +0100
+++ gcc-4.7-4.7.2/debian/patches/gcc-multiarch-upstream.diff 2012-12-09 12:37:01.045842000 +0100
@@ -347,12 +347,16 @@
+MULTILIB_OSDIRNAMES+= mx32=../libx32$(call if_multiarch,:x86_64-linux-gnux32)
--- a/src/gcc/config/rs6000/t-linux (Revision 0)
+++ b/src/gcc/config/rs6000/t-linux (Arbeitskopie)
-@@ -0,0 +1,5 @@
+@@ -0,0 +1,9 @@
+# do not define the multiarch name if configured for a soft-float cpu
+# or soft-float.
+ifeq (,$(filter $(with_cpu),$(SOFT_FLOAT_CPUS))$(findstring soft,$(with_float)))
++ifneq (,$(findstring spe, $(target)))
++MULTIARCH_DIRNAME = powerpc-linux-gnuspe
++else
+MULTIARCH_DIRNAME = powerpc-linux-gnu
+endif
++endif
--- a/src/gcc/config/rs6000/t-spe (Revision 193696)
+++ b/src/gcc/config/rs6000/t-spe (Arbeitskopie)
@@ -71,3 +71,7 @@
Reply to: