public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* SPE detection broken on Linux (bits/predefs.h: No such file or directory)
@ 2013-06-11  8:37 Roland Stigge
  2013-06-11 14:50 ` David Edelsohn
  0 siblings, 1 reply; 4+ messages in thread
From: Roland Stigge @ 2013-06-11  8:37 UTC (permalink / raw)
  To: gcc-patches; +Cc: dje.gcc, aldyh, doko

[Forwarding from http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57578 , as
suggested]

Hi!

The build of powerpc spe on Linux aborts like this:

[...]
/«PKGBUILDDIR»/build/./gcc/xgcc -B/«PKGBUILDDIR»/build/./gcc/
-B/usr/lib/gcc-snapshot/powerpc-linux-gnuspe/bin/
-B/usr/lib/gcc-snapshot/powerpc-linux-gnuspe/lib/ -isystem
/usr/lib/gcc-snapshot/powerpc-linux-gnuspe/include -isystem
/usr/lib/gcc-snapshot/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:87,
                 from ../../../src/libgcc/libgcov.c:27:
/usr/include/features.h:323:26: fatal error: bits/predefs.h: No such
file or directory
 #include <bits/predefs.h>
                          ^
compilation terminated.
[...]

Turns out that the detection of the SPE case is done via
rs6000/e500-double.h in $(tm_file_list), but e500-double.h was removed
recently, and hence not added anymore to $(tm_file_list). However, in
the SPE (i.e. e500v2) case, with_cpu is set exactly to 8548 in
config.gcc.

I solved this in gcc/config/rs6000/t-linux by replacing the line

MULTIARCH_DIRNAME = powerpc-linux-gnuspe$(if $(findstring
rs6000/e500-double.h, $(tm_file_list)),,v1)

with

MULTIARCH_DIRNAME = powerpc-linux-gnuspe$(if $(findstring
8548,$(with_cpu)),,v1)

Thanks in advance!

Roland

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: SPE detection broken on Linux (bits/predefs.h: No such file or directory)
  2013-06-11  8:37 SPE detection broken on Linux (bits/predefs.h: No such file or directory) Roland Stigge
@ 2013-06-11 14:50 ` David Edelsohn
  2013-06-12 11:05   ` Olivier Hainque
  0 siblings, 1 reply; 4+ messages in thread
From: David Edelsohn @ 2013-06-11 14:50 UTC (permalink / raw)
  To: Roland Stigge; +Cc: GCC Patches, doko, Olivier Hainque, Eric Botcazou

On Tue, Jun 11, 2013 at 4:36 AM, Roland Stigge <stigge@antcom.de> wrote:
> [Forwarding from http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57578 , as
> suggested]
>
> Hi!
>
> The build of powerpc spe on Linux aborts like this:
>
> [...]
> /«PKGBUILDDIR»/build/./gcc/xgcc -B/«PKGBUILDDIR»/build/./gcc/
> -B/usr/lib/gcc-snapshot/powerpc-linux-gnuspe/bin/
> -B/usr/lib/gcc-snapshot/powerpc-linux-gnuspe/lib/ -isystem
> /usr/lib/gcc-snapshot/powerpc-linux-gnuspe/include -isystem
> /usr/lib/gcc-snapshot/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:87,
>                  from ../../../src/libgcc/libgcov.c:27:
> /usr/include/features.h:323:26: fatal error: bits/predefs.h: No such
> file or directory
>  #include <bits/predefs.h>
>                           ^
> compilation terminated.
> [...]
>
> Turns out that the detection of the SPE case is done via
> rs6000/e500-double.h in $(tm_file_list), but e500-double.h was removed
> recently, and hence not added anymore to $(tm_file_list). However, in
> the SPE (i.e. e500v2) case, with_cpu is set exactly to 8548 in
> config.gcc.
>
> I solved this in gcc/config/rs6000/t-linux by replacing the line
>
> MULTIARCH_DIRNAME = powerpc-linux-gnuspe$(if $(findstring
> rs6000/e500-double.h, $(tm_file_list)),,v1)
>
> with
>
> MULTIARCH_DIRNAME = powerpc-linux-gnuspe$(if $(findstring
> 8548,$(with_cpu)),,v1)

Olivier was the person who removed e500-double.h and added 8548
support.  I would like to hear his and Eric's comment since they seem
to be doing the most work on e500 at the moment.

Thanks, David

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: SPE detection broken on Linux (bits/predefs.h: No such file or directory)
  2013-06-11 14:50 ` David Edelsohn
@ 2013-06-12 11:05   ` Olivier Hainque
  2013-06-12 13:55     ` Matthias Klose
  0 siblings, 1 reply; 4+ messages in thread
From: Olivier Hainque @ 2013-06-12 11:05 UTC (permalink / raw)
  To: David Edelsohn
  Cc: Olivier Hainque, Roland Stigge, GCC Patches, doko, Eric Botcazou


On Jun 11, 2013, at 16:50 , David Edelsohn <dje.gcc@gmail.com> wrote:
>> I solved this in gcc/config/rs6000/t-linux by replacing the line
>> 
>> MULTIARCH_DIRNAME = powerpc-linux-gnuspe$(if $(findstring
>> rs6000/e500-double.h, $(tm_file_list)),,v1)
>> 
>> with
>> 
>> MULTIARCH_DIRNAME = powerpc-linux-gnuspe$(if $(findstring
>> 8548,$(with_cpu)),,v1)
> 
> Olivier was the person who removed e500-double.h and added 8548
> support.  I would like to hear his and Eric's comment since they seem
> to be doing the most work on e500 at the moment.

 The suggested update is in line with this part of the
 change we did at the time:

Index: gcc/config.gcc
===================================================================
--- gcc/config.gcc	(revision 187145)
+++ gcc/config.gcc	(working copy)
@@ -2828,6 +2828,13 @@
     mips*-*-vxworks)
       with_arch=mips2
       ;;
+    powerpc*-*-*spe*)
+      if test x$enable_e500_double = xyes; then
+         with_cpu=8548
+      else
+         with_cpu=8540
+      fi       
+      ;;
     sparc-leon*-*)
       with_cpu=v8;
       ;;
@@ -3509,11 +3516,6 @@
 		c_target_objs="${c_target_objs} rs6000-c.o"
 		cxx_target_objs="${cxx_target_objs} rs6000-c.o"
 		tmake_file="rs6000/t-rs6000 ${tmake_file}"
-
-                if test x$enable_e500_double = xyes
-                then
-                        tm_file="$tm_file rs6000/e500-double.h"
-                fi
 		;;
 
 	sh[123456ble]*-*-* | sh-*-*)

 so looks correct to me. Thanks!

 For the records, a summary of the history that led to the change,
 plus a first version of the patches is available at

   http://gcc.gnu.org/ml/gcc-patches/2012-05/msg00464.html

 An adjusted version of the whole set of patches, eventually
 checked-in was provided at

   http://gcc.gnu.org/ml/gcc-patches/2012-05/msg01021.html

 With Kind Regards,

 Olivier

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: SPE detection broken on Linux (bits/predefs.h: No such file or directory)
  2013-06-12 11:05   ` Olivier Hainque
@ 2013-06-12 13:55     ` Matthias Klose
  0 siblings, 0 replies; 4+ messages in thread
From: Matthias Klose @ 2013-06-12 13:55 UTC (permalink / raw)
  To: Olivier Hainque
  Cc: David Edelsohn, Roland Stigge, GCC Patches, doko, Eric Botcazou

[-- Attachment #1: Type: text/plain, Size: 810 bytes --]

Am 12.06.2013 13:05, schrieb Olivier Hainque:
> 
> On Jun 11, 2013, at 16:50 , David Edelsohn <dje.gcc@gmail.com> wrote:
>>> I solved this in gcc/config/rs6000/t-linux by replacing the line
>>>
>>> MULTIARCH_DIRNAME = powerpc-linux-gnuspe$(if $(findstring
>>> rs6000/e500-double.h, $(tm_file_list)),,v1)
>>>
>>> with
>>>
>>> MULTIARCH_DIRNAME = powerpc-linux-gnuspe$(if $(findstring
>>> 8548,$(with_cpu)),,v1)
>>
>> Olivier was the person who removed e500-double.h and added 8548
>> support.  I would like to hear his and Eric's comment since they seem
>> to be doing the most work on e500 at the moment.
> 
>  The suggested update is in line with this part of the
>  change we did at the time:
[...]
>  so looks correct to me. Thanks!

committed the following patch on behalf of Roland to trunk.

  Matthias


[-- Attachment #2: spe.diff --]
[-- Type: text/plain, Size: 693 bytes --]

2013-06-12  Roland Stigge <stigge@antcom.de>

	* config/rs6000/t-linux (MULTIARCH_DIRNAME): Fix SPE version detection.

Index: config/rs6000/t-linux
===================================================================
--- config/rs6000/t-linux	(revision 200008)
+++ config/rs6000/t-linux	(working copy)
@@ -2,7 +2,7 @@
 # or soft-float.
 ifeq (,$(filter $(with_cpu),$(SOFT_FLOAT_CPUS))$(findstring soft,$(with_float)))
 ifneq (,$(findstring spe,$(target)))
-MULTIARCH_DIRNAME = powerpc-linux-gnuspe$(if $(findstring rs6000/e500-double.h, $(tm_file_list)),,v1)
+MULTIARCH_DIRNAME = powerpc-linux-gnuspe$(if $(findstring 8548,$(with_cpu)),,v1)
 else
 MULTIARCH_DIRNAME = powerpc-linux-gnu
 endif

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-06-12 13:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-11  8:37 SPE detection broken on Linux (bits/predefs.h: No such file or directory) Roland Stigge
2013-06-11 14:50 ` David Edelsohn
2013-06-12 11:05   ` Olivier Hainque
2013-06-12 13:55     ` Matthias Klose

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).