* 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).