Processed: Re: Bug#804190: please support cross compiler builds without relying on binutils-multiarch

2018-08-11 Thread Debian Bug Tracking System
Processing control commands:

> reassign -1 src:gcc-8
Bug #804190 [src:gcc-5] please support cross compiler builds without relying on 
binutils-multiarch
Bug reassigned from package 'src:gcc-5' to 'src:gcc-8'.
No longer marked as found in versions gcc-5/5.2.1-22.
Ignoring request to alter fixed versions of bug #804190 to the same values 
previously set
> tags -1 + patch
Bug #804190 [src:gcc-8] please support cross compiler builds without relying on 
binutils-multiarch
Added tag(s) patch.

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



Bug#804190: please support cross compiler builds without relying on binutils-multiarch

2018-08-11 Thread Helmut Grohne
Control: reassign -1 src:gcc-8
Control: tags -1 + patch

Hi Matthias,

I've updated the patch now. It has become fairly trivial.

We added support for "X-DH-Build-For-Type: target" a while ago. That
flag alone makes dh_strip choose the right tooling.

So whenever debhelper is recent enough, we can just skip the
binutils-multiarch dependency.

On Fri, Nov 13, 2015 at 12:20:14AM +0100, Matthias Klose wrote:
>  - please update the patch to apply to the current VCS

Please tell me where to find the current VCS. I've attached a patch
against the version in unstable anyhow.

>  - the patch is incomplete.  It still calls the binutils tools
>for the host unprefixed.

This is solved by X-DH-Build-For-Type.

>  - maybe make it clear which tools are used (target_strip, host_strip
>instead of cross_strip).

No cross_strip is needed at all anymore as X-DH-Build-For-Type has taken
care of this.

> I think that the rather simplistic view of dh_strip should be addressed in
> this context too, always using the non-prefixed binutils tools.  In GCC you
> don't have binary packages anymore with both host and target objects within
> the same binary package, however this is not guaranteed for other binary
> packages. So you need to find a way to strip host and target objects in the
> same binary package.

I didn't encounter a single binary package that ships both host and
target objects. Whenever they do, we can simply split the packages.
debhelper and dh_strip now support selecting host vs. target per binary
package and we're actively using that support since gcc-7.

Helmut
--- a/debian/rules.conf
+++ b/debian/rules.conf
@@ -221,7 +221,7 @@
   endif
 endif
 ifeq ($(DEB_CROSS),yes)
-  BINUTILS_BUILD_DEP = binutils$(TS)$(NT) (>= $(BINUTILSBDV)), binutils-multiarch$(NT) (>= $(BINUTILSBDV))
+  BINUTILS_BUILD_DEP = binutils$(TS)$(NT) (>= $(BINUTILSBDV)), debhelper (>= 10.10.6~) | binutils-multiarch$(NT) (>= $(BINUTILSBDV))
   BINUTILSV := $(shell dpkg -l binutils$(TS) \
 			| awk '/^ii/{print $$3;exit}' | sed 's/-.*//')
 else