Subject: Re: bug#46256: [feature/native-comp] AOT eln files ignored if run from build tree

From: Andrea Corallo <[email-masked]>
Date: Sat, 06 Mar 2021 19:21:26 +0000

Eli Zaretskii <[email-masked]> writes:

>> From: Andrea Corallo <[email-masked]>
>> Cc: [email-masked], [email-masked]
>> Date: Sat, 06 Mar 2021 18:30:05 +0000
>> 
>> >> This file ELNFILENAME_libgccjit_repro.c can be just compiled linking
>> >> against libgccjit to obtain the reproducer.
>> >
>> > "To obtain the reproducer" meaning that the compiled and linked
>> > program should crash in the same way is Emacs does?  I thought we
>> > crash while compiling the file and linking it to produce a shared
>> > library, not while running it.  Right?
>> 
>> Yes, the compiled program when executed will replay the same compilation
>> attempted by Emacs and therefore if is a libgccjit fault it should
>> crash.
>> 
>> Does the reproducer crash when executed on your system?
>
> Yes, it does.
>
>> > More generally, what is the relation between the contents of the
>> > reproducer file and the source the native compilation sees when we
>> > call gcc_jit_context_compile_to_file?  Do we submit a similar file to
>> > GCC or something?
>> 
>> The reproducer file is a file that is meant to recreate the same
>> libgccjit IR and attempt a compilation with that.  In practice it calls
>> the same functions we call at the interface with libgccjit describing
>> the code we want to compile and attempt to perform a compilation.
>
> But any issues caused by actually writing the reproducer to a disk
> file, like text-mode conversions and quirks, aren't relevant, right?

Yes that's correct, but unless the C compiler can't parse correctly this
file it should work.  Do you think this is the case?

Thanks

  Andrea