emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [External] : emacs-28 windows binaries available from alpha


From: Eli Zaretskii
Subject: Re: [External] : emacs-28 windows binaries available from alpha
Date: Wed, 09 Feb 2022 21:08:02 +0200

Ping!

Andrea, can you please look into this?

> Date: Sat, 05 Feb 2022 12:10:34 +0200
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: dieter@duenenhof-wilhelm.de, corwin@bru.st, drew.adams@oracle.com,
>  emacs-devel@gnu.org
> 
> > Date: Sat, 05 Feb 2022 09:25:56 +0200
> > From: Eli Zaretskii <eliz@gnu.org>
> > Cc: dieter@duenenhof-wilhelm.de, corwin@bru.st, emacs-devel@gnu.org
> > 
> > > 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 
> > > "d:/usr/drew/.emacs.d/eln-cache/28.0.91-bfc49136/su...")
> > >   comp-trampoline-compile(read-buffer)
> > >   comp-subr-trampoline-install(read-buffer)
> > >   defalias(read-buffer #f(compiled-function (prompt &optional default 
> > > require-match predicate) #<bytecode 0x1283e7579f6aadb2>))
> > >   load-file("~/drews-lisp-20/strings.elc")
> > >   funcall-interactively(load-file "~/drews-lisp-20/strings.elc")
> > >   command-execute(load-file record)
> > >   execute-extended-command(nil "load-file" "load-f")
> > >   funcall-interactively(execute-extended-command nil "load-file" "load-f")
> > >   command-execute(execute-extended-command)
> > 
> > Andrea, is this expected on a machine that lacks libgccjit?  Under
> > what conditions would loading a .elc file trigger native-compilation
> > of a trampoline?
> > 
> > If this is expected, I'd prefer that we detected the unavailability of
> > libgccjit earlier, and avoided the attempt to compile a trampoline in
> > the first place.  Can this be done safely enough to make the change on
> > the release branch?
> 
> 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?
> 
> 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)
> 
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]