[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [External] : emacs-28 windows binaries available from alpha
From: |
Corwin Brust |
Subject: |
Re: [External] : emacs-28 windows binaries available from alpha |
Date: |
Sat, 5 Feb 2022 21:11:52 -0600 |
On Sat, Feb 5, 2022 at 4:10 AM Eli Zaretskii <eliz@gnu.org> wrote:
>
> Andrea, how about the following patch (which assumes
> comp-enable-subr-trampolines enables and disables only generation of
> new trampolines, but doesn't affect the use of existing trampolines)?
> Is this safe for the release branch, in your opinion?
To be very clear: I'm in no position to comment on how safe this patch
is. That said...
>
> diff --git a/src/comp.c b/src/comp.c
> index 188dc6e..ba65837 100644
> --- a/src/comp.c
> +++ b/src/comp.c
> @@ -434,6 +434,13 @@ load_gccjit_if_necessary (bool mandatory)
> gccjit_initialized = init_gccjit_functions ();
> status = gccjit_initialized ? Qt : Qnil;
> Vlibrary_cache = Fcons (Fcons (Qgccjit, status), Vlibrary_cache);
> + /* Disable deferred async compilation and trampoline synthesis
> + in this session, since libgccjit is not available. */
> + if (!gccjit_initialized)
> + {
> + native_comp_deferred_compilation = false;
> + comp_enable_subr_trampolines = false;
> + }
> }
>
> if (mandatory && !gccjit_initialized)
I was able to apply this to the emacs-28 branch and confirm it does
the job. Thanks due to my elder lad for use of his gaming rig on a
Saturday eve.
The "Patched" result set came from a new set of binary packages[1]
built with this patch. I also tried a few other things and didn't
spot any obvious breakage.
Drew,
Please LMK if you spot issues with my reproducer and (if you gett a
chance to try) whether you get any different result or if this seems
to solve the issue.
Reproducer:
0. create a folder called c:\emacs
1. download the EL file as linked in Drew's original message to this
thread to c:\emacs
2. download the ELC file attached to that same message to c:\emacs
3. unpack emacs-28.0.91.zip into c:\emacs
4. double click runemacs.exe
5. In scratch, paste in the following sniped and press C-x C-e
(let ((load-path (append (list "c:/emacs") load-path)))
(require 'strings))
Patched:
find "strings" at the tail of the *Messages* buffer
Unpatched:
Debugger entered--Lisp error: (error "Cannot find libgccjit library")
error("Cannot find libgccjit library")
comp-ensure-native-compiler()
comp--native-compile((lambda (arg0 &optional arg1 arg2 arg3) (let
((f #'read-buffer)) (funcall f arg0 arg1 arg2 arg3))) nil
"c:/Users/Miko/AppData/Roaming/.emacs.d/eln-cache/2...")
comp-trampoline-compile(read-buffer)
comp-subr-trampoline-install(read-buffer)
defalias(read-buffer #f(compiled-function (prompt &optional default
require-match predicate) #<bytecode -0x12f50ecb110554b3>))
require(strings)
(let ((load-path (append (list "c:/emacs") load-path))) (require 'strings))
(progn (let ((load-path (append (list "c:/emacs") load-path)))
(require 'strings)))
elisp--eval-last-sexp(nil)
eval-last-sexp(nil)
funcall-interactively(eval-last-sexp nil)
command-execute(eval-last-sexp)
[1] Windows binaries Eli's patch, as above:
https://git.sr.ht/~mplscorwin/emacs-w64/tree/master/item/patched
- Re: [External] : emacs-28 windows binaries available from alpha, (continued)
- Re: [External] : emacs-28 windows binaries available from alpha, H. Dieter Wilhelm, 2022/02/05
- Re: [External] : emacs-28 windows binaries available from alpha, Corwin Brust, 2022/02/05
- RE: [External] : emacs-28 windows binaries available from alpha, Drew Adams, 2022/02/05
- Re: [External] : emacs-28 windows binaries available from alpha, Eli Zaretskii, 2022/02/06
- RE: [External] : emacs-28 windows binaries available from alpha, Drew Adams, 2022/02/06
- Re: [External] : emacs-28 windows binaries available from alpha, Eli Zaretskii, 2022/02/06
- RE: [External] : emacs-28 windows binaries available from alpha, Drew Adams, 2022/02/06
- Re: [External] : emacs-28 windows binaries available from alpha, Eli Zaretskii, 2022/02/06
- Re: [External] : emacs-28 windows binaries available from alpha, Eli Zaretskii, 2022/02/06
- Re: [External] : emacs-28 windows binaries available from alpha, Eli Zaretskii, 2022/02/05
- Re: [External] : emacs-28 windows binaries available from alpha,
Corwin Brust <=
- RE: [External] : emacs-28 windows binaries available from alpha, Drew Adams, 2022/02/06
- Re: [External] : emacs-28 windows binaries available from alpha, Eli Zaretskii, 2022/02/06
- RE: [External] : emacs-28 windows binaries available from alpha, Drew Adams, 2022/02/06
- Re: [External] : emacs-28 windows binaries available from alpha, Eli Zaretskii, 2022/02/09
- Re: [External] : emacs-28 windows binaries available from alpha, Andrea Corallo, 2022/02/09
- Re: [External] : emacs-28 windows binaries available from alpha, Eli Zaretskii, 2022/02/10
- Re: [External] : emacs-28 windows binaries available from alpha, Andrea Corallo, 2022/02/10
- Re: [External] : emacs-28 windows binaries available from alpha, Eli Zaretskii, 2022/02/10
- Re: [External] : emacs-28 windows binaries available from alpha, Andrea Corallo, 2022/02/10
- Re: [External] : emacs-28 windows binaries available from alpha, Eli Zaretskii, 2022/02/10