Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] debugging LLVM-JITted code"
2011 Sep 12
0
[LLVMdev] debugging LLVM-JITted code
On Aug 30, 2011, at 3:47 AM, Eli Bendersky wrote:
> Hello,
>
> I'm interested in debugging code JITted by LLVM at runtime. For that, I should naturally have some way to emit DWARF that faithfully describes the JITted code into memory along with the JITted code itself and point the debugger to it. Let's assume that the bridge with the debugger is taken care of (e.g.
2011 Sep 13
2
[LLVMdev] debugging LLVM-JITted code
>
> So where should I look for adding such support? Is MC JIT the direction?
> Does it purport to emit DWARF as well as executable code? Any pointers to
> relevant places in the code would be most appreciated.
>
>
> MC JIT is the direction that the JIT will be going in the future. Right now
> any debugging emission is minimal at best. My ideas here would be to emit
> the
2011 Sep 13
0
[LLVMdev] debugging LLVM-JITted code
On Sep 13, 2011, at 1:05 AM, Eli Bendersky wrote:
>> So where should I look for adding such support? Is MC JIT the direction? Does it purport to emit DWARF as well as executable code? Any pointers to relevant places in the code would be most appreciated.
>>
>
> MC JIT is the direction that the JIT will be going in the future. Right now any debugging emission is minimal at
2008 Apr 17
1
[LLVMdev] Being able to know the jitted code-size before emitting
Thx again Evan for the review. Here's a new patch for the JIT in itself.
The major changes are:
1) A JITMemoryManager now has a flag saying "I require to know the size
of what you want to emit"
2) DwarfJITEmitter is augmented with GetSize* functions
3) JITEmitter::startFunction checks if the JITMemoryManager requires to
know the size. If so, it computes it and gives it through the
2009 Mar 27
0
[LLVMdev] Connecting JITted code to gdb
Run with -debug-only=jit.
Break on line 1148 of JITEmitter.cpp. The debugging message will tell
you the address and size of the function that was jitted. You can then
tell gdb to disassemble the code.
On Mar 26, 2009, at 11:35 PM, Jeffrey Yasskin wrote:
> Hi all. I'm working on the recently-announced unladen-swallow project,
> and I'm having a bit of trouble getting gdb to
2010 Jan 25
2
[LLVMdev] Exception handling question
I think so. It also fails the same way on LLVM trunk from last week.
The full backtrace is below. It appears that frame #3 is a compilation
of __l_personality() and frame #14 is a compilation of f(). The
compilation of __l_personality appears to have been triggered by the
need to output DWARF information for f().
-- James
#0 0x00007ffff6ed84b5 in *__GI_raise (sig=<value optimised out>) at
2009 Mar 31
2
[LLVMdev] Connecting JITted code to gdb
I'm adding the gdb list because it appears there's currently no way to
tell gdb about newly-JITted code. That is, it's not an LLVM-specific
problem.
There appear to be two techniques in common use to debug
dynamically-generated code despite this. First, as Evan suggests
below, we can have the JIT print the address range that it's written a
function into, have gdb disassemble that,
2009 Mar 27
4
[LLVMdev] Connecting JITted code to gdb
Hi all. I'm working on the recently-announced unladen-swallow project,
and I'm having a bit of trouble getting gdb to step into functions
I've compiled with LLVM's JIT compiler. The attached a_module.ll is
the module I produce from compiling
def foo(r):
for i in r:
pass
I'm JIT-compiling and running foo() with:
typedef PyObject *(*NativeFunction)(PyFrameObject *);
2008 Feb 01
2
[LLVMdev] Exception handling in JIT
Dear all,
Here's a new patch with Evan's comments (thx Evan!) and some cleanups.
Now the (duplicated) exception handling code is in a new file:
lib/ExecutionEngine/JIT/JITDwarfEmitter.
This patch should work on linux/x86 and linux/ppc (tested).
Nicolas
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: jit-exceptions.patch
URL:
2009 Dec 25
1
[LLVMdev] JIT buffer code skipping 8 bytes?
On OS X (10.6.2) running on an Intel Core 2 duo with LLVM 2.7 pulled about a month ago from CVS and built in debug mode:
Using the JIT system with exception handling, I am having issues with type infos. "Finally" code (llvm.eh.selector intrinsic call with 0)
works fine (correct landing pads found), as does this call with one type info. My type infos are each 64 bit array GlobalVariables
2008 Feb 04
0
[LLVMdev] Exception handling in JIT
Looks sane. Thanks.
Evan
On Feb 1, 2008, at 1:24 AM, Nicolas Geoffray wrote:
> Dear all,
>
> Here's a new patch with Evan's comments (thx Evan!) and some cleanups.
> Now the (duplicated) exception handling code is in a new file:
> lib/ExecutionEngine/JIT/JITDwarfEmitter.
>
> This patch should work on linux/x86 and linux/ppc (tested).
>
> Nicolas
> Index:
2010 Feb 03
0
[LLVMdev] Exception handling question
Hi James,
Just wanted to update you. As you implied the problem here is that
the personality function has to be jitted before the code that contains
the corresponding llvm.eh.selector intrinsic instruction is jitted. I verified
this by creating a generated version of the personality function which unless
I jitted first, gave me the same error when running the code. Since you are using
tools
2011 Jun 07
2
[LLVMdev] a problem of jit debug
Hi ,
I am new to llvm.I met a problem with the jit debug. According to
DebuggingJITedCode.html ,I do the same step of this document. But my
gdb can't get the symbol. When i did the same thing on linux ,the
result is correct. But on windows, i failed. Why? I build the llvm
with vc2008, os winxp.
2010 Aug 06
4
[LLVMdev] Debugging Status on x86?
Hi everyone,
I was under the impression that debugging support on llvm-gcc-4.2.1 +
llvm-2.7 was pretty complete (at least on x86 linux), but ran into a glitch.
First off, are there any docs that discuss the current state, in so far as
DWARF support is concerned?
The behavior I am seeing is the following:
llvm-gcc -g hello.c -o hello
produces a working executable with apparently complete
2015 Aug 25
4
GPL Software
Le 25/08/2015 20:39, Renato Golin a écrit :
> I'm also interested in knowing what you did. I think most people here
> would be glad to know your peril and how you solved it.
Stack layout:
C++ code calls
|
|
JITted C code, compiled and linked on the fly tha calls
|
|
C++ code that throws
The throw must pass through the JITted code to arrive at the catch at
the top.
2020 Mar 16
4
DWARF .debug_aranges data objects and address spaces
On Mon, Mar 16, 2020 at 9:31 AM Robinson, Paul <paul.robinson at sony.com>
wrote:
> With AVR being affected, upstreaming a patch to put segment selectors into
> .debug_aranges becomes completely reasonable. There would likely want to
> be a target hook somewhere to return a value saying what size to use, with
> the default implementation returning zero.
>
*nod* something
2017 Dec 07
4
[RFC] - Deduplication of debug information in linkers (LLD).
>*nod* That's been the historic ELF+DWARF approach, but both MacOS (with dsyms+DWARF) and Windows
>(COFF+CodeView+PDB) don't do it that way, and instead involve the linker to a degree.
>Mostly I'm wondering if it'd be reasonable to (and if anyone would be interested in doing it) do
>something more like the PDB support - fully debug-aware linking.
Honestly saying I only
2018 Mar 06
1
Emiting linkage names for Types to Debuginfo (C++ RTTI support in GDB/LLDB)
On Tue, Mar 6, 2018 at 9:49 AM Daniel Berlin <dberlin at dberlin.org> wrote:
> On Tue, Mar 6, 2018 at 9:20 AM, Roman Popov <ripopov at gmail.com> wrote:
>
>> I wonder if abi::__cxa_demangle guarantees unambigous names?
>>>>
>>>
>>> No, it does not.
>>>
>>
>> Interesting. Can you give an example of type where it fails?
2011 Jun 07
0
[LLVMdev] a problem of jit debug
Hi, Tang
> result is correct. But on windows, i failed. Why? I build the llvm
> with vc2008, os winxp.
At the end of http://llvm.org/docs/DebuggingJITedCode.html, it said,
"At the time of this writing, LLVM only supports architectures that use
ELF object files and it only generates symbols and DWARF CFA
information."
Maybe this is the reason why you read nothing on Windows.
2009 Nov 19
1
[LLVMdev] Unwinding through a native layer
> You mean by lowering to setjmp/longjmp? Maybe, I don't know.
> It should be easy to find out by trying it.
No, with DWARF. There's all this code in the JIT
(JITDwarfEmitter.cpp) to register the DWARF with libgcc.
Reid