[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#62450: 29.0.60; Skip failing tests on Cygwin with native compilation
From: |
Eli Zaretskii |
Subject: |
bug#62450: 29.0.60; Skip failing tests on Cygwin with native compilation |
Date: |
Sun, 26 Mar 2023 17:54:26 +0300 |
> Date: Sun, 26 Mar 2023 10:15:17 -0400
> Cc: 62450-done@debbugs.gnu.org
> From: Ken Brown <kbrown@cornell.edu>
>
> On 3/26/2023 12:44 AM, Eli Zaretskii wrote:
>
> > (I do wonder whether this is a good idea in the long run. Native
> > compilation is here to stay, so avoiding its testing for Cygwin might
> > not be the best solution. The PROBLEMS entry seems to imply that
> > relatively simple measures, which the test suite could take, could
> > avoid the fork failures, so my recommendation would be to try to find
> > a better fix in the future, albeit not in Emacs 29.)
>
> I agree, and I hope I can do it.
Great, thanks.
> By the way, I've been experimenting with building the .eln files
> with ASLR enabled, via the following:
>
> --- a/lisp/emacs-lisp/comp.el
> +++ b/lisp/emacs-lisp/comp.el
> @@ -186,8 +186,9 @@ native-comp-compiler-options
> :type '(repeat string)
> :version "28.1")
>
> -(defcustom native-comp-driver-options (when (eq system-type 'darwin)
> - '("-Wl,-w"))
> +(defcustom native-comp-driver-options
> + (cond ((eq system-type 'darwin) '("-Wl,-w"))
> + ((eq system-type 'cygwin) '("-Wl,-dynamicbase")))
> "Options passed verbatim to the native compiler's back-end driver.
> Note that not all options are meaningful; typically only the options
> affecting the assembler and linker are likely to be useful.
>
> I've been building and running Emacs like this for a couple months and
> not doing any rebasing, and I haven't seen a single fork failure outside
> of the test suite. So this might be the way to handle the problem in
> the long run.
Feel free to install the above on master.
> But I still hope to figure out what's different about native
> compilation in the test suite.
You mean, why the fork fails? I thought the PROBLEMS entry explains
that?