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

Bug#694069: gcj-4.7: FTBFS on powerpcspe (powerpc specific asm)



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

Hi,

gcj-4.7 currently FTBFS 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 crtresfpr_s.o -MT crtresfpr_s.o -MD -MP -MF crtresfpr_s.dep -DSHARED -c -xassembler-with-cpp ../../../src/libgcc/config/rs6000/crtresfpr.S
../../../src/libgcc/config/rs6000/crtresfpr.S: Assembler messages:
../../../src/libgcc/config/rs6000/crtresfpr.S:42: Error: Unrecognized opcode: `lfd'
[...]

Seems that some asm instructions for powerpc don't apply to powerpcspe.

Turns out that the same patch that fixed a similar issue for gcc-4.7 also
applies here. Re-attaching.

Thanks,

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
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: