[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#741234: src:gcc-4.8: [PATCH] When building cross-compilers using prebuilt libraries, no longer re-build those libraries



I didn't yet look at the patches, and probably won't before 4.9 is released. I would prefer if you could work on 4.9, and then backport patches to 4.8 if needed.

Am 10.03.2014 10:19, schrieb Dima Kogan:
Package: src:gcc-4.8
Severity: normal
Hi.

This is the cross-build-specific half of the patches originally posted
in

   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=738152

The first half (filled-in missing logic) is here:

   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=740005

This set of patches sets up some cross-building-specific logic when
building a cross-compiler with

   with_deps_on_target_arch_pkgs=yes

this configuration is something which won't be used in Debian in the foreseeable future. I had a chat with Wookey at Linaro Connect that it is better to have a cross-toolchain in the archive now, which can be uploaded into the archive and used by everybody. So in any case, please make sure that you test this configuration, and test that the package itself can be cross-built.

The patches are very similar to those in the original set. The only
difference is the set of languages for which a compiler is built. The
changes in this set are:

- Don't build a source package if we're building a cross compiler

sounds reasonable.

- Don't build libraries if we're building a cross compiler using the
   host's libraries (with_deps_on_target_arch_pkgs=yes)

I honestly don't care and would like continue to build these. If these can be built without any other b-d's then lets do it for testing purposes. build time shouldn't be an issue. The only exception is libjava/classpath which needs other b-d's.

- Do not build a java or D cross-compiler. Do build the rest of the
   languages (C,C++,objC, objC++, go, fortran)

all cross compilers should be built (still hoping to see D in 4.10, will need to talk to Ian Buclaw again).

The benefits this patch series provides:

- Unneeded libraries aren't built, so the build completes faster

- Currently the libraries that get build using
   with_deps_on_target_arch_pkgs=yes are different from those that are
   built natively. For instance libstdc++6 in the main debian archive is
   Multi-Arch:same, while the package we get with
   with_deps_on_target_arch_pkgs=yes has no Multi-arch tags. This is a
   potentially very confusing discrepancy, and not building the "wrong"
   package at all is good, I think. We can fix the tags, but it's unclear
   who would benefit.

well, fixing these would be better. didn't look at the effort.

- There's an issue regarding an inconsistency in the naming of the x86
   32-bit platform (debian calls it 'i386', gcc,binutils call it 'i486').
   This results in build errors when trying to build cross-gcc-libraries
   for the i386 target. These patches don't build those libraries, so we
   don't see those issues. We could fix the underlying problem, but
   again, it's unclear this is useful to anybody.

there is no inconsistency. the gnu triplet is used for these, not the multiarch name. what really needs to be done is to change the triplet to i585-linux-gnu to reflect reality. On my todo list, but again, not now.

  Matthias


Reply to: