Processed: Re: Bug#925040: gcc-8 FTCBFS: builds idgen.c with the wrong compiler

2019-03-20 Thread Debian Bug Tracking System
Processing control commands:

> tags -1 - upstream
Bug #925040 [src:gcc-8] gcc-8 FTCBFS: builds idgen.c with the wrong compiler
Removed tag(s) upstream.

-- 
925040: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=925040
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Bug#925040: gcc-8 FTCBFS: builds idgen.c with the wrong compiler

2019-03-20 Thread Matthias Klose
Control: tags -1 - upstream

no, this is fixed in gcc-9/trunk.

On 19.03.19 15:45, Helmut Grohne wrote:
> Source: gcc-8
> Version: 8.3.0-2
> Tags: patch upstream
> User: helm...@debian.org
> Usertags: rebootstrap
> 
> gcc-8 fails to cross build from source.
> 
> http://crossqa.subdivi.de/build/gcc-8_8.3.0-2_ppc64el_20190301030546.log
> | powerpc64le-linux-gnu-g++-8 -fno-PIE -c -g -O2 -DIN_GCC -fno-exceptions 
> -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing 
> -Wwrite-strings -Wcast-qual -Wno-long-long -Wno-variadic-macros 
> -Wno-overlength-strings -DHAVE_CONFIG_H -I. -Id -I../../src/gcc 
> -I../../src/gcc/d -I../../src/gcc/../include 
> -I../../src/gcc/../libcpp/include -I../../src/gcc/../libdecnumber 
> -I../../src/gcc/../libdecnumber/dpd -I../libdecnumber 
> -I../../src/gcc/../libbacktrace -o d/idgen.dmdgen.o -MT d/idgen.dmdgen.o -MMD 
> -MP -MF d/.deps/idgen.dmdgen.TPo -I../../src/gcc/d 
> -I../../src/gcc/d/dfrontend -Id ../../src/gcc/d/dfrontend/idgen.c
> | g++-o d/idgen d/idgen.dmdgen.o
> | /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 21)
> | /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 21)
> | /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 21)
> | /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 21)
> | /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 21)
> | /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 21)
> | /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 21)
> | /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 21)
> | /usr/bin/ld: d/idgen.dmdgen.o: error adding symbols: file in wrong format
> | collect2: error: ld returned 1 exit status
> | make[4]: *** [../../src/gcc/d/Make-lang.in:312: d/idgen] Error 1
> | make[4]: Leaving directory '/<>/build/gcc'
> | make[3]: *** [Makefile:4305: all-gcc] Error 2
> | make[3]: Leaving directory '/<>/build'
> | make[2]: *** [Makefile:907: all] Error 2
> | make[2]: Leaving directory '/<>/build'
> 
> It uses the host architecture compiler to compile idgen.c and then tries
> to link it with the build architecture compiler. It really wants to run
> idgen, so using the build architecture compiler is correct. The attached
> patch fixes that and makes gcc-8 cross buildable. Please consider
> applying it.
> 
> Helmut
> 



Bug#925040: gcc-8 FTCBFS: builds idgen.c with the wrong compiler

2019-03-19 Thread Helmut Grohne
Source: gcc-8
Version: 8.3.0-2
Tags: patch upstream
User: helm...@debian.org
Usertags: rebootstrap

gcc-8 fails to cross build from source.

http://crossqa.subdivi.de/build/gcc-8_8.3.0-2_ppc64el_20190301030546.log
| powerpc64le-linux-gnu-g++-8 -fno-PIE -c -g -O2 -DIN_GCC -fno-exceptions 
-fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings 
-Wcast-qual -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings 
-DHAVE_CONFIG_H -I. -Id -I../../src/gcc -I../../src/gcc/d 
-I../../src/gcc/../include -I../../src/gcc/../libcpp/include 
-I../../src/gcc/../libdecnumber -I../../src/gcc/../libdecnumber/dpd 
-I../libdecnumber -I../../src/gcc/../libbacktrace -o d/idgen.dmdgen.o -MT 
d/idgen.dmdgen.o -MMD -MP -MF d/.deps/idgen.dmdgen.TPo -I../../src/gcc/d 
-I../../src/gcc/d/dfrontend -Id ../../src/gcc/d/dfrontend/idgen.c
| g++-o d/idgen d/idgen.dmdgen.o
| /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 21)
| /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 21)
| /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 21)
| /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 21)
| /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 21)
| /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 21)
| /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 21)
| /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 21)
| /usr/bin/ld: d/idgen.dmdgen.o: error adding symbols: file in wrong format
| collect2: error: ld returned 1 exit status
| make[4]: *** [../../src/gcc/d/Make-lang.in:312: d/idgen] Error 1
| make[4]: Leaving directory '/<>/build/gcc'
| make[3]: *** [Makefile:4305: all-gcc] Error 2
| make[3]: Leaving directory '/<>/build'
| make[2]: *** [Makefile:907: all] Error 2
| make[2]: Leaving directory '/<>/build'

It uses the host architecture compiler to compile idgen.c and then tries
to link it with the build architecture compiler. It really wants to run
idgen, so using the build architecture compiler is correct. The attached
patch fixes that and makes gcc-8 cross buildable. Please consider
applying it.

Helmut
--- gcc-8-8.2.0.orig/src/gcc/d/Make-lang.in
+++ gcc-8-8.2.0/src/gcc/d/Make-lang.in
@@ -315,7 +315,7 @@
 	+$(LINKER_FOR_BUILD) $(BUILD_LINKER_FLAGS) $(BUILD_LDFLAGS) -o $@ $^
 
 d/idgen.dmdgen.o: d/dfrontend/idgen.c
-	$(filter-out -fprofile-%,$(DMD_COMPILE)) $(D_INCLUDES) $<
+	$(filter-out -fprofile-%,$(DMDGEN_COMPILE)) $(D_INCLUDES) $<
 	$(POSTCOMPILE)
 
 d/impcnvgen.dmdgen.o: $(srcdir)/d/dfrontend/impcnvgen.c