GNU bug report logs - #29620
configure fails when cross-compiling for the same architecture

Previous Next

Package: emacs;

Reported by: Pip Cet <pipcet <at> gmail.com>

Date: Sat, 9 Dec 2017 00:11:01 UTC

Severity: wishlist

Done: Pip Cet <pipcet <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 29620 in the body.
You can then email your comments to 29620 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#29620; Package emacs. (Sat, 09 Dec 2017 00:11:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Pip Cet <pipcet <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sat, 09 Dec 2017 00:11:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Pip Cet <pipcet <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org, eggert <at> cs.ucla.edu
Subject: configure fails when cross-compiling for the same architecture
Date: Sat, 9 Dec 2017 00:10:05 +0000
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.

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?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#29620; Package emacs. (Wed, 13 Dec 2017 19:45:02 GMT) Full text and rfc822 format available.

Message #8 received at 29620 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Pip Cet <pipcet <at> gmail.com>
Cc: 29620 <at> debbugs.gnu.org
Subject: Re: configure fails when cross-compiling for the same architecture
Date: Wed, 13 Dec 2017 11:44:19 -0800
[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).





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#29620; Package emacs. (Mon, 10 Aug 2020 15:43:02 GMT) Full text and rfc822 format available.

Message #11 received at 29620 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefan <at> marxist.se>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 29620 <at> debbugs.gnu.org, Pip Cet <pipcet <at> gmail.com>
Subject: Re: bug#29620: configure fails when cross-compiling for the same
 architecture
Date: Mon, 10 Aug 2020 08:42:40 -0700
Paul Eggert <eggert <at> cs.ucla.edu> 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




Reply sent to Pip Cet <pipcet <at> gmail.com>:
You have taken responsibility. (Mon, 10 Aug 2020 15:45:02 GMT) Full text and rfc822 format available.

Notification sent to Pip Cet <pipcet <at> gmail.com>:
bug acknowledged by developer. (Mon, 10 Aug 2020 15:45:02 GMT) Full text and rfc822 format available.

Message #16 received at 29620-done <at> debbugs.gnu.org (full text, mbox):

From: Pip Cet <pipcet <at> gmail.com>
To: Stefan Kangas <stefan <at> marxist.se>
Cc: Paul Eggert <eggert <at> cs.ucla.edu>, 29620-done <at> debbugs.gnu.org
Subject: Re: bug#29620: configure fails when cross-compiling for the same
 architecture
Date: Mon, 10 Aug 2020 15:44:09 +0000
On Mon, Aug 10, 2020 at 3:42 PM Stefan Kangas <stefan <at> marxist.se> wrote:
> So should this be closed?

Yes, thanks!




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#29620; Package emacs. (Tue, 11 Aug 2020 09:41:02 GMT) Full text and rfc822 format available.

Message #19 received at 29620-done <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Stefan Kangas <stefan <at> marxist.se>
Cc: 29620-done <at> debbugs.gnu.org, Pip Cet <pipcet <at> gmail.com>
Subject: Re: bug#29620: configure fails when cross-compiling for the same
 architecture
Date: Tue, 11 Aug 2020 02:39:53 -0700
On 8/10/20 8:42 AM, Stefan Kangas wrote:

> 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.

The need prompting the original bug report is gone now that MPX support has been 
removed from Emacs.

The more-general problem probably remains, but the need is relatively low (as 
evidenced by no discussion for years) so I'll take the liberty of closing this 
bug report. We can always reopen it later, or file a new bug report, or whatever.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 08 Sep 2020 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 222 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.