Subject: bug#29620: configure fails when cross-compiling for the same architecture

From: Stefan Kangas <[email-masked]>
Date: Mon, 10 Aug 2020 08:42:40 -0700

Paul Eggert <[email-masked]> writes:

> [Sending again, as my earlier message was CC'ed to the wrong bug number.]
>
> On 12/08/2017 04:10 PM, Pip Cet wrote:
>> I tried building Paul's MPX patch on a CPU that doesn't support MPX,
>> so I could run the executable with Intel's CPU emulator. I used
>> ./configure CFLAGS="-O2 -g3 -mmpx -fcheck-pointer-bounds", but that
>> failed because the executable produced by the tputs test cannot run
>> (natively) on my CPU.
>
> That's odd, since MPX instructions are supposed to be no-ops on non-MPX
> CPUs. "./configure CC='gcc -mmpx -fcheck-pointer-bounds' && make" works
> fine on Emacs master when I build it on my old non-MPX desktop running Fedora 27
> x86-64. This is an AMD Phenom II X4 910e processor (circa 2010).
>
>> It would be nice to have a configure option to specify that while
>> build and target machines share the same architecture, they don't
>> share the same -m flags, so that we're effectively cross-compiling. Is
>> this possible with autoconf?
>
> I would think that a cross-compiler-enabled configure script would work easily
> with that, as it shouldn't care how closely related the build and target
> machines are. However, the Emacs build procedure isn't designed to work in
> cross-compilation builds so I'm afraid that if you want to cross-compile you'll
> need to do it by hand (admittedly a daunting prospect).

No update here within two and a half years.  From reading the bug
report, it is not clear to me if there is more to do here or not.

(No support for cross-compilation is a known issue tracked in
e.g. Bug#9192.)

So should this be closed?

Best regards,
Stefan Kangas