Displaying 20 results from an estimated 6000 matches similar to: "[LLVMdev] MC disassembler for ARM"
2012 Jun 06
0
[LLVMdev] MC disassembler for ARM
On Jun 5, 2012, at 7:44 PM, Fan Dawei <fandawei.s at gmail.com> wrote:
> 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
2012 Jun 06
3
[LLVMdev] MC disassembler for ARM
Hi Evan,
Thanks for the information!
I've try to use llvm-objdump to disassemble some ARM binary, such as
busybox in android.
./llvm-objdump -arch=arm -d busybox
There are many instructions cannot decode,
:./llvm-objdump: warning: invalid instruction encoding
Did I use llvm-objdump in a correct way?
I think that one possible reason is that llvm-objdump encounter pc relative
data.
2012 Jun 08
2
[LLVMdev] MC disassembler for ARM
Hi Jim,
Thanks for reply. I'm sorry I didn't make myself clear enough.
The MCInst created by MCDisassembler depends on the instructions defined in
td files. These instructions do not have a one to one mapping to ARM
instructions. There are usually one or more instructions defined in the td
file correspond to one actual ARM instruction.
Thanks,
David
On Thu, Jun 7, 2012 at 1:27 PM, Jim
2012 Jun 08
0
[LLVMdev] MC disassembler for ARM
That depends on how you define "one ARM instruction." It's not a clear cut thing. For example, is "add r1, r2, r3" the same ARM instruction as "add r1, r2, #4"? What is a distinct instruction and what's a variant encoding of the same instruction is often entirely a matter of convenience.
-Jim
On Jun 8, 2012, at 6:40 AM, Fan Dawei <fandawei.s at
2012 Jun 07
2
[LLVMdev] MC disassembler for ARM
Hi Tim,
Thanks a lot for your help! I'm very grateful.
libc.so is a prelinked library, I'll build a non-prelinked one and have
another try.
I'm now at the start of a binary translation project. I want to convert ARM
binary code [*] to llvm ir, which is then translated to binary for our mips
like architecture. That's why I'm looking for a decoder for ARM binary.
The
2012 Jun 07
2
[LLVMdev] MC disassembler for ARM
Hi Tim,
Thanks a lot for the reply.
I tested libc.so which is a shared library. llvm-objdump also report some
disassemble errors.
Could you please tell me more about $a, $t and $d symbols? How these
symbols are used to define different regions? Where I can find this symbols
in ELF object file?
Thanks,
David
I'm now try to find a decoder of ARM instructions in oder
On Thu, Jun 7, 2012
2012 Jun 07
0
[LLVMdev] MC disassembler for ARM
On Jun 7, 2012, at 7:53 AM, Fan Dawei <fandawei.s at gmail.com> wrote:
> Hi Tim,
>
> Thanks a lot for your help! I'm very grateful.
>
> libc.so is a prelinked library, I'll build a non-prelinked one and have another try.
>
> I'm now at the start of a binary translation project. I want to convert ARM binary code [*] to llvm ir, which is then translated to
2012 Jun 07
0
[LLVMdev] MC disassembler for ARM
Hi David,
On Thu, Jun 7, 2012 at 10:17 AM, Fan Dawei <fandawei.s at gmail.com> wrote:
> Could you please tell me more about $a, $t and $d symbols? How these symbols
> are used to define different regions? Where I can find this symbols in ELF
> object file?
At the start of each range of ARM code, an assembler or compiler
should produce a "$a" symbol with that address, and
2012 Jun 06
0
[LLVMdev] MC disassembler for ARM
Hi David,
> I've try to use llvm-objdump to disassemble some ARM binary, such as busybox
> in android.
>
> ./llvm-objdump -arch=arm -d busybox
It's probably assuming the wrong architecture revision. I don't have
an android busybox handy, but I see similar on binaries compiled for
ARMv7. The trick is to use:
llvm-objdump -triple=armv7 -d whatever
(ARMv7 covers virtually
2010 Jun 11
2
[LLVMdev] MC to LLVM disassembler?
I'm wondering if anyone is working on a machine code -> LLVM bitcode disassembler? Obviously, there won't be a one-to-one correspondence but it seems like you should be able to get close. There's always inline asm for the remaining fragments.
So is there such a thing?
Thank you,
Bob
2013 Jun 25
0
[LLVMdev] Auxiliary operand types for disassembler.
Hi Sid,
This feels like it’s exposing too much of the disassembler internals into the MCOperand representation. I’m not sure I follow why that’s necessary. Can you elaborate a bit?
-Jim
On Jun 25, 2013, at 8:24 AM, Sid Manning <sidneym at codeaurora.org> wrote:
>
> I'm working on a disassembler for hexagon (vliw) architecture and I would like to add an additional operand type,
2013 Jun 25
2
[LLVMdev] Auxiliary operand types for disassembler.
I'm working on a disassembler for hexagon (vliw) architecture and I
would like to add an additional operand type, "kAux" to the MCOperand class.
The reason for this is that each insn has parse bits which are not
explicit operands and have differing meanings based on the insn's
location within the packet and the number of insns inside the packet.
In order for the disassembler
2013 Jun 26
1
[LLVMdev] Auxiliary operand types for disassembler.
On 06/25/2013 04:46 PM, Jim Grosbach wrote:
> Hi Sid,
>
> This feels like it’s exposing too much of the disassembler internals
> into the MCOperand representation. I’m not sure I follow why that’s
> necessary. Can you elaborate a bit?
>
A packet contains 1-4 insns and until the contents of the entire packet
are known the meaning of any individual insn is not known with 100%
2010 Jun 11
1
[LLVMdev] MC to LLVM disassembler?
Thanks for your response. In your experience, was it worth the conversion hassle and code expansion to have the code in a platform-independent SSA form and be able to apply LLVM-based analysis tools? Or is it better to convert to another IR (such as BAP[1]) and work in that form?
Bob
[1] Binary Analysis Platform, http://bap.ece.cmu.edu/
--- On Thu, 6/10/10, Nathan Jeffords <blunted2night at
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
Hello Tim, Rafael, Renato and llvmdev,
I’m working to get llvm-objdump handle both arm and thumb disassembly from the same object file similarly to how darwin’s otool(1) works. And I’m looking for implementing direction. I spoke to Jim Grosbach 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
2015 Jun 02
2
[LLVMdev] LLVM based interactive disassembler
Hi folks!
I've been working for some time on an interactive disassembler[2]
using libLLVM for Parsing Binaries/Instructions. The whole thing started
as a Proof-of-Concept and morphed to a university project of mine. It
will now continue to exist as a Free Software[0] project. It currently
runs by the name ``FrIDa'' [1] and yes it could use a better name (one
that isn't used by
2011 Oct 19
1
[LLVMdev] Error when cond of select instruction is a vector
Hi Rotem,
What do you mean by "you can use the <4 x float> type for which the vselect
works".
Do you mean that then back-end can correctly split the operands when it is a
four elements vector? I've try that, but it still fails.
On Wed, Oct 19, 2011 at 4:21 PM, Rotem, Nadav <nadav.rotem at intel.com> wrote:
> This is indeed a bug. I get a different error on my
2011 Nov 03
1
[LLVMdev] Why there is no unary operator in LLVM?
Hi llvmdev,
I've noticed that there is no unary operator in LLVM. For unary operator
such as Neg or Or operator, the IR builder just creates a binary operation
with one dummy operand,
01823 <http://llvm.org/doxygen/classllvm_1_1BinaryOperator.html#a073c092ce74a122e898e435e60e84599>
BinaryOperator <http://llvm.org/doxygen/classllvm_1_1BinaryOperator.html>
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/Disassembler/X86DisassemblerDecoder.c 2010-05-06 22:59:00.000000000 +0200
2012 Apr 25
1
[LLVMdev] LLVM Backend for Z80. ADD -> replaced -> OR
Hello.
I have played with DataLayout and found a solution with is uknown to me.
I added S16 and also s0:16:16, but it had not worked.
Then I found that in Z80FrameLowering.h I am calling TargetFrameLowering
with stack aligment set to 8. So I changed it to 2 bytes. But this also
didn't help.
Then I changed llc to show TargetDataLayout and found that a option is set
to a0:0:64.
So I changed