On Tue, Oct 20, 2015 at 2:14 PM, Matthias Klose <d...@ubuntu.com> wrote: > On 20.10.2015 09:36, David Holmes wrote: >>> >>> On 20/10/2015 6:50 AM, Matthias Klose wrote: >>>> >>>> I'm working around some build failures for zero targets, which fail to >>>> build because the configury in openjdk tries to set -m32/-m64 on it's >>>> own. I assume this behaviour was added for sun/oracle product builds to >>>> build x86 and x86_64 targets on a x86_64 platform. The issue is that >>>> the current configury checks if -m32/-m64 works with the current >>>> compiler, and then enables it without losses. This breaks at least on >>>> the x86_64-linux-gnux32 target. I assume it will break on other targets >>>> as well, which don't recognize -m32/-m64, but usually use other options >>>> like -mabi=<name>. Instead of hard-coding these flags for every >>>> architecture, is there any chance for not passing these flags at all for >>>> the default mode? >> >> >> Part of the problem is that the default mode is not known ahead of time, >> your >> gcc on your x64 system might be configured to build 32-bit by default. > > > is this really a common configuration? I don't know any Linux distribution > shipping such a compiler. The one possibility for a 32bit toolchain on a > 64bit host might be a x86 chroot created on a x86_64 host. But usually such > build environments are entered with a 32bit personality (see linux32(1)), > hiding anything build related from the host. >
On SLES 10 on Linux/ppc64 for whatever reason the default version of GCC is configured to build 32-bit binaries by default (although we are on a 64-bit platform). I think that was changed in newer releases but for building on SLES 10 (what we still do) '-m64' is required. > I would expect that the default mode is passed in some way as autoconf > option, or by setting CC="gcc -m64" (the latter unfortunately not working > because CC is expected to be a file name in some places). > >> If there is a better way to select this than -m32/-m64 then I'm happy to >> hear >> it, but not sure if -march/-mabi gives us anything better on x86. What >> exactly >> would you propose? > > > I'm not proposing to use -march/-mabi instead, but just avoiding -m32/-m64 > at all, unless you explicitly configure for it (e.g. --with-abi=<abi-option> > ?). > > Matthias >