Source: gcc-7 Version: 7.1.0-11 Severity: normal Tags: patch Hi!
Trying to do a cross-native build for m68k with gdc enabled fails with: g++ -o d/impcvgen d/impcnvgen.dmdgen.o /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 4) /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 4) /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 4) /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 4) /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 4) /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 4) /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 4) /usr/bin/ld: d/idgen.dmdgen.o: Relocations in generic ELF (EM: 4) d/idgen.dmdgen.o: error adding symbols: File in wrong format collect2: error: ld returned 1 exit status ../../src/gcc/d/Make-lang.in:254: recipe for target 'd/idgen' failed I'm currently working around this issue by adding the following changes to debian/rules.defs: --- debian/rules.defs.orig 2017-08-01 15:35:52.999394076 +0200 +++ debian/rules.defs 2017-08-01 15:27:13.531269664 +0200 @@ -869,6 +869,9 @@ ifeq ($(DEB_STAGE)-$(filter libphobos, $(with_rtlibs)),rtlibs-) with_d := disabled for rtlibs stage endif +ifeq (,$(filter $(build_type), build-cross build-native)) + with_d += no +endif with_d := $(call envfilt, d, , , $(with_d)) #with_d := not yet built for GCC 7 I'm attaching the patch just in case. I will also test whether this affects other architectures for cross-native builds. Adrian -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer - glaub...@debian.org `. `' Freie Universitaet Berlin - glaub...@physik.fu-berlin.de `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
--- debian/rules.defs.orig 2017-08-01 15:35:52.999394076 +0200 +++ debian/rules.defs 2017-08-01 15:27:13.531269664 +0200 @@ -869,6 +869,9 @@ ifeq ($(DEB_STAGE)-$(filter libphobos, $(with_rtlibs)),rtlibs-) with_d := disabled for rtlibs stage endif +ifeq (,$(filter $(build_type), build-cross build-native)) + with_d += no +endif with_d := $(call envfilt, d, , , $(with_d)) #with_d := not yet built for GCC 7