octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #56425] Patch for the JIT


From: Gene Harvey
Subject: [Octave-bug-tracker] [bug #56425] Patch for the JIT
Date: Mon, 8 Jul 2019 12:33:54 -0400 (EDT)
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36

Follow-up Comment #14, bug #56425 (project octave):

@Julien Sorry about the wait, it turned out to be a bit more convoluted than
expected. I've attached a couple changesets which should fix the behavior
described.

fixincludes.patch: This adds HAVE_ macros to surround the includes. I had to
define a new m4 macro which checks the exact location of a header to prevent
shadowing from system headers. It really isn't the most lovely of solutions,
but it seems to work.

Honestly, I'm not sure if I'm wasting my time hacking on that configuration
code; I just don't understand how we intend to ship like this? If we did then
we're locking down our users to one version of LLVM, and the fact that we also
link to Qt5 (which uses LLVM-8) in libinterp will cause problems. I can't even
do a full build when building with older versions of LLVM because for some
reason the Qt code will include headers from that older version rather than
LLVM-8, and this causes segfaults in the Qt code. 

I really think we should just provide a jit_ir interface which dldfcns can
hook into, the dldfcns will provide the translation to a single version of
LLVM each. No convoluted configuration needed.

oldcrash.patch: This fixes the `LLVM_ERROR: ` crash. It turns out that it was
an "Error: success" error from LLVM. I believe it was caused by the fact that
we didn't _declare_ functions in modules which they were used, but not
defined. This is tested on LLVM debug builds of versions 3.7.1, 3.9.1, 4.0.1,
5.0.2, 6.0.1, 7.1.0, and 9.0.0svn, and then 8.0.0 release of course, all
running on Arch x64.


(file #47170, file #47171)
    _______________________________________________________

Additional Item Attachment:

File name: includefix.patch               Size:8 KB
    <https://savannah.gnu.org/file/includefix.patch?file_id=47170>

File name: oldcrash.patch                 Size:39 KB
    <https://savannah.gnu.org/file/oldcrash.patch?file_id=47171>



    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?56425>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]