search for: disassemble

Displaying 20 results from an estimated 1336 matches for "disassemble".

2014 Aug 06
4
[LLVMdev] Looking for ideas on how to make llvm-objdump handle both arm and thumb disassembly from the same object file
...sbach about some ideas and he suggested I send out and email about some of the possibilities. Since none of the ones I could think of are pretty he thought maybe you would have some thoughts or suggestions. First a little back ground, the way darwin’s otool(1) does this is that it creates an llvm disassembler for both arm and thumb when disassembling a binary with 32-bit ARM cpu. It uses the C API in <llvm-c/Disassembler.h> and calls LLVMCreateDisasmCPU() twice, once with an arm TripleName and once with a matching thumb TripleName. Then for each 32-bit ARM cpu it will default to one or the othe...
2011 Aug 11
1
[LLVMdev] New ARM disassembler - unpredictable instructions
On Aug 11, 2011, at 1:32 AM, James Molloy wrote: > Hi, > > I’m looking at the new ARM disassembler, and performing testing to see if there are any obvious bugs I can fix. Overall it looks really nice – I’ve only found one obvious bug that I’m packaging up a patch for now. Glad you're liking it! I haven't really done comprehensive testing yet—it passes all the decoding tests that the p...
2010 Jul 07
3
[LLVMdev] simple way to print disassembly of final code from jit?
Thanks Reid - I'm on Windows. I guess I just assumed I was missing something obvious in how to hook up the JIT and disassembler! Given the nice looking disassembly code I found, I thought people would be doing it all the time :-) b. On Tue, Jul 6, 2010 at 8:41 PM, Reid Kleckner <reid.kleckner at gmail.com> wrote: > If you're on a recent flavor of Linux, you may be able to just go into > gdb and type &qu...
2013 Nov 28
2
[LLVMdev] [llvm] r195903 - AArch64: Fix a bug about disassembling post-index load single element to 4 vectors
...oliu > Date: Wed Nov 27 19:07:45 2013 > New Revision: 195903 > > URL: http://llvm.org/viewvc/llvm-project?rev=195903&view=rev > Log: > AArch64: Fix a bug about disassembling post-index load single element to 4 vectors > > Modified: > llvm/trunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp > llvm/trunk/test/MC/Disassembler/AArch64/neon-instructions.txt > > Modified: llvm/trunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp > URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp?re...
2010 Jul 06
2
[LLVMdev] simple way to print disassembly of final code from jit?
Hi, With the new llvm-mc code for disassembling, what is the recommended way to disassemble the final code produced by a JIT compiler backend? (Eg. in the toy.cpp example from the tutorial). I can get the void* for the final code, but I don't know its length - superficially at least it appears I need to know the length to disassemble it as a buffer? Thanks b.
2013 Nov 28
0
[LLVMdev] [llvm] r195903 - AArch64: Fix a bug about disassembling post-index load single element to 4 vectors
...>> New Revision: 195903 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=195903&view=rev >> Log: >> AArch64: Fix a bug about disassembling post-index load single element to 4 >> vectors >> >> Modified: >> llvm/trunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp >> llvm/trunk/test/MC/Disassembler/AArch64/neon-instructions.txt >> >> Modified: >> llvm/trunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/Disas...
2013 Nov 28
1
[LLVMdev] [llvm] r195903 - AArch64: Fix a bug about disassembling post-index load single element to 4 vectors
...;>> >>> URL: http://llvm.org/viewvc/llvm-project?rev=195903&view=rev >>> Log: >>> AArch64: Fix a bug about disassembling post-index load single element to 4 >>> vectors >>> >>> Modified: >>> llvm/trunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp >>> llvm/trunk/test/MC/Disassembler/AArch64/neon-instructions.txt >>> >>> Modified: >>> llvm/trunk/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp >>> URL: >>> http://llvm.org/viewvc/llvm-project/llvm/trunk...
2010 Jul 08
1
[LLVMdev] simple way to print disassembly of final code from jit?
Thanks for all the hints everyone. Based on your suggestion, O.J., I've added code to toy.cpp from the tutorial to disassemble. ready> 1+1; ready> movabsq $140737353367568, %rax movsd (%rax), %xmm0 ret Evaluated to 2.000000 ready> Which looks correct by inspection - printing the byte array to stdout and feeding it to llvm-mc offline produces the same code as one would also expect. echo '0x48 0xb8 0x10 0x...
2009 Oct 27
4
[LLVMdev] disassembly/decompiling
Chris Lattner wrote: > > On Oct 26, 2009, at 1:00 AM, Howard Chu wrote: > >> Hi, just read the LLVM 2.6 release announcement, the bit about llvm- >> mc caught >> my attention. I've been looking for a tool to disassemble x86 object >> files >> into an IR and then reassemble them into x86_64 object code. The >> immediate use >> for them would be to convert driver blobs that some vendors provide >> for their >> hardware (e.g. the Lucent modem driver) so they can be used in a 64 &gt...
2010 Dec 16
1
[LLVMdev] x86 disassembler: if-statement with redundant branch
Hi there! In the x86 disassembler I noticed an if-statement with a duplicated branch. Are these intended to be identical? Best regards, Nicolas Kaiser -- diff -ur llvm-2.8.orig/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c llvm-2.8/lib/Target/X86/Disassembler/X86DisassemblerDecoder.c --- llvm-2.8.orig/lib/Target/X86/Disass...
2012 Jun 06
2
[LLVMdev] MC disassembler for ARM
Hi, I'm considering to use MC disassembler for ARM target in a binary translation project. However after trying some ARM binary and I find that there are a lot of instructions that the disassembler fails to to decoding. Could anyone give me some information about the maturity of ARM disassembler? Thanks! David -------------- next part -...
2010 Jul 07
0
[LLVMdev] simple way to print disassembly of final code from jit?
...tion *, MachineCodeInfo *), you'll see that if a MachineCodeInfo parameter is supplied, it is populated via a call to setAddress and setSize via the registration of a JITEventListener on the Jitting of the given function. I'm almost certain this is the address and size that is needed by the disassembler. You then should be able to either use runJITOnFunction as part of your current JIT compilation process or do the same thing it does by way of registering your own JITEventListener to get access to the required values. O.J. p.s. let me know if you are successful in getting this working, I hope y...
2010 Jul 07
0
[LLVMdev] simple way to print disassembly of final code from jit?
...quot;disas <pointer-to-JITed-code>". More detail here: http://llvm.org/docs/DebuggingJITedCode.html If you still want to do it programmatically, I think you might be stuck. IIRC the length known by the JIT memory allocator is an overestimate (it's rounded up for alignment), so the disassembler will hit garbage at the end. Reid On Tue, Jul 6, 2010 at 3:07 PM, Bill O'Hara <billtohara at gmail.com> wrote: > Hi, > > With the new llvm-mc code for disassembling, what is the recommended > way to disassemble the final code produced by a JIT compiler backend? > (Eg. in...
2013 Oct 10
2
[LLVMdev] [PATCH] R600/SI: Embed disassembly in ELF object
...2, 0, [M0] ; C8060202 V_INTERP_MOV_F32 VGPR2, P0, 1, 0, [M0] ; C80A0102 V_INTERP_MOV_F32 VGPR3, P0, 0, 0, [M0] ; C80E0002 EXP 15, 0, 0, 1, 1, VGPR3, VGPR2, VGPR1, VGPR0 ; F800180F 00010203 S_ENDPGM ; BF810000 A less verbose disassembler is included in Mesa for pre-SI clients, so the patch does not embed disassembly for NI or earlier targets. Disassembling during compilation is preferred, as it avoids the overhead of a second LLVM invocation. Further, the SILowerControlFlow pass modifies the input LLVM IR, which makes a second...
2014 Dec 24
2
[LLVMdev] X86 disassembler is quite broken on handling REX
hi, i think the current X86 disassembler is quite broken and fails badly on handling REX for x86_64 code. below are some examples: $ echo "0x0f,0xeb,0xc3"|./Release+Asserts/bin/llvm-mc -disassemble -triple=x86_64 .text por %mm3, %mm0 $ echo "0x40,0x0f,0xeb,0xc3"|./Release+Asserts/bin/llvm-mc -disassemble...
2009 Sep 04
1
[LLVMdev] X86 Disassembler
...doing other things for a while, but I have an API patch separated out, which (in addition to being much smaller than past megapatches) corrects two issues Chris identified in his most recent set of patches: - First, it makes the API a good deal simpler. Now, you can instantiate a single MCDisassembler and, each time you want an instruction disassembled, you can simply pass it a MemoryRegion, an offset, and an MCInst to populate. - Second, it adds MCDisassembler to the list of things you can get from a TargetMachine, so you don't have to #include something from lib/ Target/X86 just t...
2016 May 23
2
[BUG] Mismatch between assembler & disassembler of X86 RIP-relative instruction
Hi, I found a mismatch between assembler & disassembler of X86: I assembled an instruction, then disassembled the output, but the result is not the same as the first original code: "add qword ptr [205163983024656], 1" vs " add qword ptr [1985229328], 1" Anybody knows what is wrong? Thanks. $ echo "ADD QWORD PTR [0xba9876543...
2011 Dec 19
2
[LLVMdev] Disassembly arbitrary machine-code byte arrays
Hi, My apologies if this appears to be a very trivial question -- I have tried to solve this on my own and I am stuck. Any assistance that could be provided would be immensely appreciated. What is the absolute bare minimum that I need to do to disassemble an array of, say, ARM machine code bytes? Or an array of Thumb machine code bytes? For example, I might have an array of unsigned chars -- how could I go about decoding these into MCInst objects? Does such a decoding process take place in one fell swoop or do I parse the stream one instruction at a...
2009 Oct 26
0
[LLVMdev] disassembly/decompiling
On Oct 26, 2009, at 1:00 AM, Howard Chu wrote: > Hi, just read the LLVM 2.6 release announcement, the bit about llvm- > mc caught > my attention. I've been looking for a tool to disassemble x86 object > files > into an IR and then reassemble them into x86_64 object code. The > immediate use > for them would be to convert driver blobs that some vendors provide > for their > hardware (e.g. the Lucent modem driver) so they can be used in a 64 > bit > kerne...
2009 Oct 26
2
[LLVMdev] disassembly/decompiling
Hi, just read the LLVM 2.6 release announcement, the bit about llvm-mc caught my attention. I've been looking for a tool to disassemble x86 object files into an IR and then reassemble them into x86_64 object code. The immediate use for them would be to convert driver blobs that some vendors provide for their hardware (e.g. the Lucent modem driver) so they can be used in a 64 bit kernel. From the release announcement it looks li...