libgccjit questions

Andrea Corallo andrea.corallo@arm.com
Wed Sep 9 08:18:41 GMT 2020


Daurnimator <quae@daurnimator.com> writes:

> Hi,

Hi!

> I'm looking into using libgccjit as an ahead-of-time compiler to write
> a backend for zig (https://ziglang.org/)
> I've got a few questions I hope you can answer:
>
> What became of cross-compilation? I saw it mentioned as a possible
> roadmap item in
> https://gcc.gnu.org/legacy-ml/jit/2015-q3/msg00086.html)

AFAIK cross compilation is not supported and nothing is going on in that
sense.  I believe this is in line with the idea of libgccjit being
mainly intended for making jitters.

> How can I support inline assembly?

I believe you cannot use inline assembly as we have no specific support
for that and asm and __asm__ are not builtin functions so they can't be
used with gcc_jit_context_get_builtin_function.

> Would it be reasonable to add an API that allows extracting sections
> without writing out to a file and reading it back in?

The elf file is always produced because the assembler is invoked as a
child process, so as of today this cannot happen in memory.

> Alteratively, would it be possible to get a pointer and length to e.g.
> an ELF in memory?
>
> Should distros be packaging libgccjit?
> I noticed that e.g. ArchLinux is not. Possibly because it is
> documented as "experimental"; possibly because it requires building
> gcc with --enable-host-shared ?

Most distros are already packing libgccjit, even if the quality of the
package may vary.

> What is the license situation with libgccjit; is it GPL? LGPL? what
> does this mean for code that uses libgccjit?

AFAIU libgccjit is part of GCC and this is released under the GNU
General Public License.

> Thanks,
> Daurnimator

Bests

  Andrea
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.


More information about the Jit mailing list