[PATCH] Port libgccjit to Windows.

Nicolas Bértolo nicolasbertolo@gmail.com
Thu May 28 01:27:54 GMT 2020


Hi,

> Do you have commit/push access to the gcc repository?

No I don't.

> BTW, why isn't it necessary to use --enable-host-shared in Windows?
> Can we document that?

That's because all code is position independent in Windows.

> On the subject of nitpicking, I find myself getting distracted by the
> indentation in the patch; there seem to be a lot of mismatches.

> What editor are you using, and does it have options to
> (a) show visible whitespace, and
> (b) to apply a formatting convention?

> I use Emacs, and it takes care of this for me.  I haven't used it, but
> there's a contrib/clang-format file in the gcc source tree which
> presumably describes GCC's coding conventions, if that helps for the
> new code.

The problem seems to be that I was writing tabs but since I have set up my
editor to show them as 2 spaces I couldn't see what was wrong.

> Am I right in thinking that this installs the libgccjit.a file on Windows?
> Why is this done?

That is the file libgccjit.dll.a

It is the import library for gccjit. It is part of the way Windows handles
dynamic libraries.

> New C++ source files should have a .cc extension.
> I hope that at some point we'll rename all the existing .c ones
> accordingly.

I just couldn't get Make to generate jit-w32.o from jit-w32.cc.
It looks for jit-w32.c.

I had to leave it with the .c extension.

> Does this call generate a directory that's only accessible to the
> current user?
> Otherwise there could be a risk of a hostile user on the same machine
> clobbering the contents and injecting code into this process.

I changed the code to generate a directory than can only be accessed by the
current user.

I've attached a new version. It contains a rewrite of the code that creates
temporary directories.

Nico
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Port-libgccjit-to-Windows.patch
Type: application/octet-stream
Size: 26872 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20200527/504b1ce4/attachment-0001.obj>


More information about the Gcc-patches mailing list