On 2019-08-08 22:23, Ben Hutchings wrote: > On Thu, 2019-08-08 at 22:38 +0200, Aurelien Jarno wrote: > [...] > > 1) Build a 64-bit compiler targeting the 32-bit corresponding > > architecture and install it in the 32-bit chroot with the other > > 64-bit dependencies. This is still a kind of cross-compiler, but the > > rest of the build is unchanged and the testsuite can be run. I guess > > it *might* be something acceptable. release-team, could you please > > confirm? > > > > In the past it would have been enough to "just" do that for GCC, but > > nowadays, it will also be needed for rustc, clang and many more. The > > clang case is interesting as it is already a cross-compiler > > supporting all the architectures, but it default to the native > > target. I wonder if we should make mandatory the "-target" option, > > just like we do not call "gcc" anymore but instead "$(triplet)-gcc". > > Alternatively instead of creating new packages, we might just want > > to use the corresponding multiarch 64-bit package and use a wrapper > > to change the native target, ie passing -m32 to gcc or -target to > > clang. > [...] > > Any comments, ideas, or help here? > [...] > > 1a. Require 32-bit build environments to be multiarch with the > related 64-bit architecture also enabled.
Indeed, but that looks like the first step. From there do you think a) the package is responsible for build-depending on the 64-bit toolchain and calling it with the right option to generate 32-bit binaries? or b) the build environment should be already configured to make the 64-bit toolchain available transparently I had option b) in mind, but option a) looks way easier to implement on the infrastructure side, although a bit less on the packaging side. It can also be a first step towards b). In that case we should also make sure that using a 64-bit compiler doesn't switch the package build system to a cross-compilation mode, where notably the testsuite is disabled. Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net
signature.asc
Description: PGP signature