GNU bug report logs - #42761
28.0.50; [feature/native-comp] allow customizing command line/driver options?

Previous Next

Package: emacs;

Reported by: Andreas Fuchs <asf <at> boinkor.net>

Date: Sat, 8 Aug 2020 14:51:01 UTC

Severity: normal

Found in version 28.0.50

Done: Andrea Corallo <akrl <at> sdf.org>

Bug is archived. No further changes may be made.

Full log


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

From: Andrea Corallo <akrl <at> sdf.org>
To: Andreas Fuchs <asf <at> boinkor.net>
Cc: 42761 <at> debbugs.gnu.org
Subject: Re: bug#42761: 28.0.50;
 [feature/native-comp] allow customizing command line/driver options?
Date: Sat, 08 Aug 2020 19:31:14 +0000
Andreas Fuchs <asf <at> boinkor.net> writes:

> That makes sense. Assuming that ~everyone would build the native-comp
> branch with a recent (>=9) gcc release, I cut a branch here that
> implements this (it does pass the driver options, too!):
> https://github.com/antifuchs/emacs/compare/
> allow-setting-driver-options
>
> I think this behavior could be made conditional on the presence of
> the
> correct libgccjit ABI version, by declaring the variable in C code,
> and then everyone on a newer gcc would be able to reap the benefits,
> and everyone else could still use the branch, but only with the
> standard linker flags as before (or passing LIBRARY_PATH if that's
> supported on their platform).
>
>> Another option would be to set our self the LIBRARY_PATH before
> invoking
>> the compiler only in the async process.  Have you already tried
> using
>> `comp-async-env-modifier-form' for this?
>
>
> LIBRARY_PATH does work on GNU binutils: the concern for my nixpkgs
> branch is for usage on Darwin, where that environment variable
> doesn't
> do anything. To get anywhere there, we have to have a way to pass
> command-line arguments... /-:
>
> Besides that though, I think it might be useful for folks who want to
> specify that other linkers should be used (like gold or lld), or
> passing a -specs argument... I don't know if that's supported at all
> yet, but adding this option would be an easy way of finding out how
> unsupported it is (-;

Hi Andreas,

didn't know LIBRARY_PATH works only with binutils.  Agree this sounds
useful.

Regarfing the gcc version: ne option would be to just ifdef the body of
add_driver_options using
LIBGCCJIT_HAVE_gcc_jit_context_add_command_line_option and making clear
that the customize is effective only with GCC>=9.

But I think would be better to raise an error if
comp-native-driver-options is not empty and
gcc_jit_context_add_command_line_option is not available.

I think we should make this clear in the customize doc.

Do you already have copyright paperwork done?

Thanks!

  Andrea

PS I may have missed parts of your patch cause I think is untabifying
all touched files generating a very big diff.

-- 
akrl <at> sdf.org




This bug report was last modified 4 years and 265 days ago.

Previous Next


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