GNU bug report logs -
#46495
28.0.50; [native-comp] Build fails for 32bit --with-wide-int
Previous Next
Full log
View this message in rfc822 format
On Wed, 2021-03-31 at 11:13 +0300, Eli Zaretskii wrote:
> > Date: Tue, 30 Mar 2021 12:06:38 +0300
> > From: Eli Zaretskii <eliz <at> gnu.org>
> > Cc: akrl <at> sdf.org, andrewjmoreton <at> gmail.com, 46495 <at> debbugs.gnu.org
> >
> > 3) I see in my temporary directory subdirectories, created when I
> > run
> > the example program, with files fake.s and fake.so. Are they
> > supposed to be left there, or are they supposed to be deleted
> > when the program exits?
>
> These temporary files behave strangely, to say the least. Just
> running the tut01-hello-world example program produces a new
> temporary
> directory each time, and deposits a fake.so file there. If I run a
> variant of that which I built after adding
>
> gcc_jit_context_set_bool_option (
> ctxt,
> GCC_JIT_BOOL_OPTION_DEBUGINFO,
> 1);
>
> then the temporary directory isn't created, or maybe it's deleted
> when
> the program exits. I think the latter is the case, because the
> directory is visible if I step through the program with a debugger,
> but disappears when the program exits.
>
> David, what's the story with these temporary directories?
They're meant to be cleaned up automatically by libgccjit: on
gcc_jit_result_release for a successful compilation, or at the end of
gcc_jit_context_compile* for a failed compilation.
The removal code is in gcc::jit::tempdir::~tempdir in gcc/jit/jit-
tempdir.c, maybe there's a bug there? (perhaps only affecting Windows?)
It calls unlink on everything it "knows" about, and them rmdir on the
directory. I see now that I'm not checking for errors on those unlink
and rmdir calls.
Is the code setting GCC_JIT_BOOL_OPTION_KEEP_INTERMEDIATES to true,
perhaps? That forcibly keeps them around:
https://gcc.gnu.org/onlinedocs/jit/topics/contexts.html#c.GCC_JIT_BOOL_OPTION_KEEP_INTERMEDIATES
Dave
This bug report was last modified 4 years and 43 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.