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

Bug#695661: #695661: gcc-4.7: Please fix build on powerpcspe



Hi Matthias,

On 14/12/12 15:37, Roland Stigge wrote:
> That's what current upstream does in src/gcc/config.gcc: e500-double.h
> is added to the tm_file (list) to make the distinction between v1 and
> default/v2.
> 
> If you don't have another suggestion, I would adjust upstream to do
> actually the same, but do via tm_file_list instead of tm_file (as you
> suggested).

Consider the attached patch: It does the same as the first patch but via
tm_file_list instead of tm_file as described above. (Applying to the
version in unstable, and with the experimental version there is
generally the same issue.)

Unfortunately, upon build, this also didn't work: Both tm_file and
tm_file_list don't get passed to t-linux (and the other makefile snippets).

My conclusion is that the tm_file (_list) passing doesn't work as
intended (including upstream), and considering that all
powerpc-linux-gnuspe(-v1) specific stuff in src/gcc/config/rs6000 is
Debian specific (only in a debian/patch/*) and not working anyway as
described previously, I guess -v1 support is negligible. (Also, can't
test it.)

For which reason does Debian need to explicitely port to gnuspev1 (when
upstream's port is only bsd specific and obviously not working anyway)?

So still proposing the very first patches in this report. (Considering
v1 as an issue to be solved selarately.)

Thanks in advance,

Roland
--- debian/patches/gcc-multiarch.diff.orig	2012-12-15 01:56:47.689469128 +0100
+++ debian/patches/gcc-multiarch.diff	2012-12-15 02:11:14.177493559 +0100
@@ -445,6 +445,15 @@
  	i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
  		;;
  	i[34567]86-*-cygwin* | i[34567]86-*-mingw* | x86_64-*-mingw*)
+@@ -3586,7 +3586,7 @@
+ 
+                 if test x$enable_e500_double = xyes
+                 then
+-                        tm_file="$tm_file rs6000/e500-double.h"
++                        tm_file_list="$tm_file_list rs6000/e500-double.h"
+                 fi
+ 		;;
+ 
 --- a/src/gcc/Makefile.in	(revision 182390)
 +++ b/src/gcc/Makefile.in	(working copy)
 @@ -352,6 +352,17 @@
@@ -555,7 +564,7 @@
  			  maltivec/mlittle \
  			  maltivec/mabi=altivec/mlittle
 +
-+MULTIARCH_DIRNAME = powerpc-linux-gnuspe$(if $(findstring rs6000/e500-double.h, $(tm_file)),,v1)
++MULTIARCH_DIRNAME = powerpc-linux-gnuspe$(if $(findstring rs6000/e500-double.h, $(tm_file_list)),,v1)
 +
 --- a/src/gcc/config/rs6000/t-linux64	(revision 182390)
 +++ b/src/gcc/config/rs6000/t-linux64	(working copy)
@@ -570,8 +579,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$(if $(findstring rs6000/e500-double.h, $(tm_file_list)),,v1)
++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 @@

Reply to: