Displaying 20 results from an estimated 5000 matches similar to: "linker adaptability ..."
2020 Jan 28
2
ORC JIT Weekly #1
Hi Andres,
I also want to highlight the necessity of some form of C API, that others
> already have.
>
<snip>
> It's fine if the set of "somewhat stable" C APIs doesn't provide all the
> possible features, though.
Ok. This got me thinking about what a simple LLJIT API should look like. I
have posted a sketch of a possible API on http://llvm.org/PR31103 . I
2020 Jan 17
6
ORC JIT Weekly #1
Hi All,
In the interests of improving visibility into ORC JIT development I'm going to try writing weekly status updates for the community. I hope they will provide insight into the design and state of development of LLVM's JIT APIs, as well as serving as a convenient space for discussions among LLVM's large and growing community of JIT API users. The
length and detail will vary
2020 Jan 24
4
ORC JIT Weekly #2 -- COFF COMDAT Constants and Emulated TLS
Hi All,
This week I've been focused on removing some of the blockers for people transitioning from ORCv1 to ORCv2.
Issue #1 (http://llvm.org/PR40074, http://llvm.org/PR44337):
When LLVM codegens floating point constants for COFF we produce named constant pool entries of the form __real@<bitval>. These are stored in COFF COMDAT sections [1] which allow duplicate symbol definitions to
2020 Sep 14
2
ORC JIT Weekly #21 -- OrcV1 removal, Removable code, and Remote TargetProcessControl
Hi All,
Everything is landing all at once, just not in the mainline... yet.
As discussed in
http://lists.llvm.org/pipermail/llvm-dev/2020-September/144885.html: OrcV1
will be removed very soon. I have posted a branch with the removal,
"orcv1-removal", in my llvm fork at https://github.com/lhames/llvm-project.
In addition to removing OrcV1, the orcv1-removal branch also contains a
2015 Oct 05
2
[cfe-dev] Orc Windows C++
It’s pretty intermittent at the moment…sometimes I get the relocation overflow issue, sometimes I get another issue about BSS sections having no contents.
The source code to reproduce either is simple:
#include <iostream>
int main (int argc, char* argv[])
{
}
I’ve managed to reproduce the BSS section issue in clang consistently, and since that comes before terms of where it happens in
2015 Jul 23
2
[LLVMdev] ORC and relocations
Yes, I’m handling all internal and external relocations manually in NotifyLoadedFtor and I already verified that I get the behavior I need if I comment out the call to resolveRelocations.
I would like to reuse ObjectLinkingLayer::addObjectSet (which eventually calls RuntimeDyld::loadObject), which has the right calls to the memory manager and also RuntimeDyld::registerEHFrames.
I understand that
2015 Oct 05
2
[cfe-dev] Orc Windows C++
Oops, sorry for the spam.
That last comment was incorrect. It’s IMAGE_REL_AMD64_REL32 not _5
> On 5 Oct 2015, at 17:26, Joshua Gerrard <joshua.gerrard at roli.com> wrote:
>
> Additional info: when the relocation issue does occur the relocation type is IMAGE_REL_AMD64_REL32_5
>
>> On 5 Oct 2015, at 17:16, Joshua Gerrard <joshua.gerrard at roli.com> wrote:
>>
2015 Oct 14
4
[cfe-dev] Orc Windows C++
That's great news, thanks! If I can be of any help, let me know. :)
I'll see if I can reduce the example for the relocation issue whilst you're
at it.
Regards,
Joshua
--
Joshua Gerrard
JUCE Software Developer
*ROLI’s **award-winning*
<http://www.telegraph.co.uk/luxury/design/31520/the-seaboard-grand-piano-wins-designs-of-the-year-2014-award.html>*
Seaboard
GRAND, celebrated
2015 Oct 02
2
[cfe-dev] Orc Windows C++
Thanks for the link!
There’s some code there that looks extremely relevant to say the least.
> On 1 Oct 2015, at 19:00, Hayden Livingston <halivingston at gmail.com> wrote:
>
> Maybe looking at their code might help:
>
> https://github.com/dotnet/llilc/blob/dd12743f9cdb5418f1c39b2cd756da1e8396a922/lib/Jit/LLILCJit.cpp#L299
>
> On Thu, Oct 1, 2015 at 10:45 AM, David
2015 Jul 23
2
[LLVMdev] ORC and relocations
Hi Lang,
It turns out I also need an ability to tell the object linking layer not to apply any relocations. I need to skip this step below.
The only way I can see I can achieve that is by creating my own ObjectLinkingLayer that would duplicate almost all of orc::ObjectLinkingLayer.
I’d like to avoid that. An alternative it to pass a flag to orc::ObjectLinkingLayer constructor and
2019 Feb 25
2
[IR][AsmPrinter][MCJIT]: ensure every x64 "CALL" to Jit function uses relative address
Hi Lang,
That would be great ! :)
For now I found a hack which consist of loading a "full of NOP" DLL, use my
own DllMemMgr which allocates JIT sections inside the DLL virtual space,
backup the memory inside some buffers, unload the DLL, copy the buffer
inside the DLL file, create the PDB, reload the DLL file which hopefully in
99% is reloaded at the same virtual address (this allow me
2015 Jul 24
0
[LLVMdev] ORC and relocations
Hi Eugene,
Sorry for the delayed reply. Custom relocations weren't something I had in
mind when I designed Orc, so they raise some interesting design questions
which I don't have good answers to yet. (E.g. The interface for the Orc
layer concept assumes that there's a RuntimeDyld instance embedded at the
bottom of the stack. That's why addModuleSet takes a MemoryManager and
2015 Jul 23
0
[LLVMdev] ORC and relocations
Hi Eugene,
Skipping the call to resolveRelocations would disable many (if not all)
internal relocations too. Is that the desired behavior?
At that point there's not much left for RuntimeDyld (or the
ObjectLinkingLayer) to do. Would something like a NoopLinkingLayer be a
workable solution?
Cheers,
Lang.
On Wed, Jul 22, 2015 at 7:26 PM, Eugene Rozenfeld <
Eugene.Rozenfeld at
2015 Oct 19
2
[cfe-dev] Orc Windows C++
First of all, thanks very much to Lang for fixing the BSS section bug; works like a charm!
I’ve been unable to reproduce the 32 bit relocation on 64 bit code (I’ll let you know if I do). However, I’m still having issues with resolving the 64 bit symbol relocations. In case it’s relevant, the specific symbol my program is tripping up on is IID_IOleObject, where TargetAddress is dereferenced
2020 Mar 16
4
ORC JIT Weekly #8: Basic OrcV2 C Bindings, MachO and COFF improvements.
Hi All,
I've added a very basic set of C bindings for OrcV2 in 633ea07200e, with an
example in llvm/example/OrcV2Examples/BasicOrcV2CBindings. Development of
the C APIs is being tracked by http://llvm.org/PR31103 -- if you're
interested in C APIs for OrcV2 please get involved. I would especially
appreciate feedback and patches from C API users: I don't have a use case
for the C APIs
2020 Sep 28
2
LLVM Developers Meeting JIT BoF -- Request for Topics of Interest
Hi Geoff,
We use LLJIT. Do addObjectFile() and StaticLibraryDefinitionGenerator work
> for ELF objects?
They do. :)
I've not tested StaticLibraryDefinitionGenerator extensively on Linux. but
we have a regression test checking basic usage. If you run into any trouble
at all please file a bug and assign it to me.
-- Lang.
On Mon, Sep 28, 2020 at 2:05 PM Geoff Levner <glevner at
2020 Aug 25
2
ORC JIT - Incorrect support for COFF files?
Hey Lang,
That is really cool :D Is the creation of that table a Windows thingy or is this the way the LLVM handles it?
Also… since it is COFF related – the never ending story of “finding my global constructors” first of all: Yes! I tried using the “initialize” function of LLVMJIT – however this only worked when I was loading a Module. When I added the object file (from the same source) the
2020 Nov 16
2
ORC JIT Weekly #26 -- Orc library break-up, remote TargetProcessControl, and the beginnings of a runtime.
Hi All,
I'm back again after a couple of weeks hiatus, and I have some good news
for anyone interested in cross-process JITing with OrcV2: The remote
TargetProcessControl and Orc library breakup patch has landed
in 1d0676b54c4 [1]. Thanks very much to Dave Blaikie and Stefan Graenitz
for all their feedback on the review!
As described in my last email, this commit breaks the OrcJIT library
2020 May 23
4
Assertion triggered when running simple hello-world code on iOS device using ORC/LLLazyJIT
Hello,
I am trying to run this basic C++ hello-world code in my iOS app that has
LLVM libraries linked in (the app runs on the actual device - iPad Pro, iOS
13.4.1).
#include <iostream>
int main (int argh, char *argv[]) {
std::cout << "Hello World!" << std::endl;
return 0;
}
So below is the break down of the steps that I do:
First I compile this code to an
2020 Jun 06
4
Assertion triggered when running simple hello-world code on iOS device using ORC/LLLazyJIT
Hi Lang,
Please see below is the trace.
--
Thanks,
Igor
*2020-06-06 12:05:21.016705-0400 CppDevProCompiler[6613:3000073] Running...*
*jitLink_MachO: magic = 0xfeedfacf, identifier =
"llvm-link.submodule-jitted-objectbuffer"*
*jitLink_MachO: cputype = 0x0100000c, cpusubtype = 0x00000000*
*Creating normalized sections...*
* __text: 0x0000000000000000 -- 0x0000000000000064, align: