similar to: Clang/LLVM JIT - When to use "registerEHFrames()"

Displaying 20 results from an estimated 3000 matches similar to: "Clang/LLVM JIT - When to use "registerEHFrames()""

2017 Sep 28
2
Clang/LLVM JIT - When to use "registerEHFrames()"
Hello Stefan, I'm happy someone replied to my problem! Many thanks! To be honest... I didn't understood much of your mail. I'm a beginner with the JIT - so I will explain what I've done. To manage the memory and resolve symbols, I'm using my own Resolver-Class, which overloads the allocation and the findSymbol functions. I've noticed today, that the
2017 Sep 27
0
Clang/LLVM JIT - When to use "registerEHFrames()"
Hi Björn To first answer your questionin the subject: For x86 registerEHFrames() is only a stub. For x86_64 registerEHFrames() is implemented properly in RuntimeDyldCOFFX86_64, calling MemMgr.registerEHFrames() for each EH frame section. It should be called and work out of the box without your involvement, but unfortunately it won't solve your issue. All the essential information is there in
2017 Sep 28
0
Clang/LLVM JIT - When to use "registerEHFrames()"
> I tried loading the "msvcrt.lib" as a archive. That was... a bad idea! > I get a Exception while loading: > Assertion failed: ((int64_t)Result <= INT32_MAX) && "Relocation > overflow", file > \lib\executionengine\runtimedyld\Targets/RuntimeDyldCOFFX86_64.h, line 81 It's a limitation of the COFF/PE format and unrelated to exceptions. This patch
2017 Sep 29
2
Clang/LLVM JIT - When to use "registerEHFrames()"
Hi Bjoern, I'm trying to make exceptions run. I have an Object file with a function, > throwing a 1 and a second function which should catch the 1. Normal JITTING > under Windows showed me, that I have an unresolved reference to the virtual > table of type_info. Some experiments later I was able to load "msvcrt.lib" > as an archive and could resolve the reference. Nice -
2017 Oct 03
2
Clang/LLVM JIT - When to use "registerEHFrames()"
I'm catching up on this. Does this mean LLVM x64 JITTed code is not exception friendly or you can't catch exceptions inside LLVM JITTed code. The first one seems to indicate that the code is not ABI friendly or that not enough information is present to notify Windows of unwind tables. I'll ask the question another way: Does LLVM emit enough information so that RtlAddFunctionTable can
2017 Oct 04
3
Clang/LLVM JIT - When to use "registerEHFrames()"
That's encouraging. Assuming that all access to the JITted code is going to be done through a function pointer, and all JIT code is ephemeral, why is the object container format important? In fact, why is it even needed? I found it somewhat odd that MCJIT generates an object file for even the JIT case. To answer my own question, could it be that advanced JIT's may need/want to use things
2017 Oct 16
2
Clang/LLVM JIT - When to use "registerEHFrames()"
Historically? I implemented support for exceptions back in LLVM 3.3, before LLVM had an implementation of a Windows unwinder. Currently? As recent as LLVM 4.0, I don't think the JIT was fully capable of handling COFF files, and LLVM wouldn't emit the correct sections (with the COFF-formatted unwind tables) when used in ELF mode. The prolog is known to be standard since Julia disables FPO
2017 Oct 06
2
Clang/LLVM JIT - When to use "registerEHFrames()"
Hello everyone, I was following the discussion, but I have to admit, that my skills aren't high enough to follow you guys. For my current exception problem, I don't have to stick around with the PECOFF format, so I used clang to don't compile to a PECOFF, but to a ELF file. Interesting, now I'm missing the functions: __cxa_allocate_exception __cxa_throw _ZTI I loaded the DLL
2017 May 17
2
JIT - Resolve obj file without a main
Hi Lang, I'm using Windows. I was parsing an IR-File and added the Module to the ExectuionEngine. If I than searched for a function, I just got 0. But when the module had a main, I got an address. I solved the problem via a call to "generateCodeForModule". The JIT didn't even called my SymbolResolver in this special case. Could you please tell me, if there is a way to
2017 May 12
3
JIT - Resolve obj file without a main
Hello Lang, I noticed, if I load a obj-File without a main-function, the Jitter won't resolve any address. But if I have a main, everything works fine. Why is this so? Is there a way to stop this? Kind regards Björn Als GmbH eingetragen im Handelsregister Bad Homburg v.d.H. HRB 9816, USt.ID-Nr. DE 114 165 789 Geschäftsführer: Hiroshi Kawamura, Dr Hiroshi Nakamura, Markus Bode, Heiko
2017 Oct 18
2
Clang/LLVM JIT - When to use "registerEHFrames()"
> So... there is no way to make throw and catch working in a jitted code > under Windows? > I have used throw and catch in jitted code, so "no way" is too strong. But there's a large range of possible states between "no way" and "always enabled OOTB". Currently, this is pretty close to the "mostly unimplemented" side of the spectrum in LLVM.
2017 May 29
1
JIT - Resolve obj file without a main
Hello Lang, so you are part of the "Jitter-Team"? I'm really interested in this whole jitting-process. I wanted to know, is there a way to load other obj-files, than the one created with clang? Could I load - for example - a obj-File from VisualStudio? Or will the namemangeling fail? Kind regards Björn From: Lang Hames <lhames at gmail.com> To: bjoern.gaier at
2017 May 07
2
[cfe-dev] JIT doens't resolve address - Resolve obj-Addresses?
Hi Bjoern, CCing cfg-dev (since that's where the conversation started) and llvm-dev (since it's relevant there). Do you know if there is a way to obtain the fully resolved obj-code? I > wanted to load the functions into a shared memory, but how? The only thing > I receive is a function pointer, but I don't know how large the function > 'behind' is. Even a call to
2018 Feb 05
2
[JIT] getImageBase() leads to crash under Windows10
Hello LLVM-people, I have a problem and I hope that you could help me. I'm jitting some .BC files at runtime with the LLVM under Windows 7. Thanks to the function " getImageBase()" located in RuntimeDyldCOFFX86_64.h I'm able to support exceptions. But when moving the program to Windows 10, the exceptions will crash the program. I read that the __ImageBase is important for
2018 Feb 20
2
Calling virtual elf functions under windows -> Adding ASM code
Still no progress with this problem. Only that non-member functions seems to be working... Also: Even when I set the target triple of the Module (when the file was parsed at runtime) to "COFF" nothing changes... From: Bjoern Gaier/HE/HORIBA To: llvm-dev at lists.llvm.org Cc: cfe-dev at lists.llvm.org Date: 08.02.2018 12:28 Subject: Re: Calling virtual elf functions
2018 Feb 06
0
[JIT] getImageBase() leads to crash under Windows10
Just to make sure: Both Operatingsystems have the same architecture (x64 or x86)? And in both cases you JIT to the same Architecture? 2018-02-05 16:21 GMT+01:00 via llvm-dev <llvm-dev at lists.llvm.org>: > Hello LLVM-people, > > I have a problem and I hope that you could help me. I'm jitting some .BC > files at runtime with the LLVM under Windows 7. Thanks to the function
2018 Mar 22
2
Broken relocation for generating offsets?
Hello, I append another clue I found out: The problem is definitely not caused by "__ImageBase" the problem comes with the "OFFSET". I generated another object file which crashed. The commonality: mov edx, DWORD PTR ?normalPlanschbecken@@3HA ; normalPlanschbecken lea rcx, OFFSET FLAT :??_C at _0CC@LCMJAIPO at Reading?5?$CCnormalPlanschbecken?$CC?5?$CFi@
2018 Jan 19
3
[JIT] Evaluating Debug-Metadata in bitcode
Hello LLVM-People, I'm still a beginner with the LLVM, but I really like the concept and the possibilities with the JIT. Currently I compile simple functions with clang-cl into bitcode files. After this I use another program to JIT this bitcode files and execute functions of it - like lli. Thanks to a lot of mails and so on, I understood that a bitcode file is in fact still IR-Code, but
2018 Mar 22
0
Broken relocation for generating offsets?
I wouldn't be surprised if JITing COFF files on Windows doesn't work so well, since the object file format assumes most symbols are dllimport or within the local 2GB module address range. I'm not familiar with the current JIT state of the art, though. On Thu, Mar 22, 2018 at 1:45 AM via llvm-dev <llvm-dev at lists.llvm.org> wrote: > Hello, > > I append another clue I
2018 Jan 19
0
[JIT] Evaluating Debug-Metadata in bitcode
Hi Björn, I'm not sure I understand what you are actually trying to achieve. Do you want to be able to debug from your main code, and step into the JITed code? Do you want to be able to set breakpoints, list callstacks, etc in the JITed code? Do you want to, from a crash, identify where in your JITed code it went wrong? The first two are definitely one or more order(s) of magnitude harder