[lldb-dev] Disassembling issue

Romaric Jodin via lldb-dev lldb-dev at lists.llvm.org
Wed Jun 12 23:15:52 PDT 2019


Hi Ted,

Thank you for the answer.
I'm not sure I understand you well. It seems to me that my program call
"Disassembler::FindPlugin" with the "m_options.arch" set to "x86_64". But
my toolchain does not contain a LLVM supporting x86_64, so it feels normal
to me that it is not able to create this disassembler. What is weird is
that the first time I'm executing it, it managed to do so.

I also have kind of the same issue with breakpoint. It's like if I'm
missing the debug information after I do the "run" command:

(lldb) file test
Current executable set to 'test' (dpu).
(lldb) b main
Breakpoint 1: where = test`main + 24 at test.c:8, address = 0x80000078
(lldb) r
Process 21312 launched: '/home/rjodin/work/dpu_tools/llvm/lldb/test/test'
(dpu)
Process 21312 stopped
* thread #1, name = 'DPUthread0', stop reason = Thread finished
    frame #0: 0x00000000800000c0
(lldb) b main
Breakpoint 2: no locations (pending).
WARNING:  Unable to resolve breakpoint to any actual locations.

When I'm doing the disassembly, I can manage to disassemble if I add the
option with my architecture to the command line, but as you can see below,
I also do not have the debug information that I had at the first
disassembly:

(lldb) file test
Current executable set to 'test' (dpu).
(lldb) dis -s 0x80000000
test`__bootstrap:
test[0x80000000] <+0>:  jnz    id, 0x80000020
test[0x80000008] <+8>:  move   r0, 0xff
test[0x80000010] <+16>: release r0, 0x0, nz, 0x80000018
test[0x80000018] <+24>: sub    r0, r0, 0x1, pl, 0x80000010
(lldb) r
Process 21312 launched: '/home/rjodin/work/dpu_tools/llvm/lldb/test/test'
(dpu)
Process 21312 stopped
* thread #1, name = 'DPUthread0', stop reason = Thread finished
    frame #0: 0x00000000800000a0
(lldb) dis -s 0x80000000
error: Unable to find Disassembler plug-in for the 'x86_64' architecture.
(lldb) dis -s 0x80000000 -A dpu
    0x80000000: jnz    id, 0x80000020
    0x80000008: move   r0, 0xff
    0x80000010: release r0, 0x0, nz, 0x80000018
    0x80000018: sub    r0, r0, 0x1, pl, 0x80000010

Any ideas about it?
Thanks,
Romaric

On Wed, Jun 12, 2019 at 6:55 PM Ted Woodward <tedwood at quicinc.com> wrote:

> The error is coming from source/Commands/CommandObjectDisassemble.cpp .
> It’s not able to create the disassembler for your architecture. The call to
> Disassembler::FindPlugin fails.
>
> My guess is something in the call to MCDisasmInstance::Create in
> source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp is failing. Step
> through that and make sure everything there is working.
>
>
>
> Ted
>
>
>
> *From:* lldb-dev <lldb-dev-bounces at lists.llvm.org> *On Behalf Of *Romaric
> Jodin via lldb-dev
> *Sent:* Wednesday, June 12, 2019 8:23 AM
> *To:* lldb-dev at lists.llvm.org
> *Subject:* [EXT] [lldb-dev] Disassembling issue
>
>
>
> Hi everyone,
>
>
>
> I'm trying to have lldb being able to debug my architecture. It does it
> well after loading my elf. But then I run it, stop it in middle, try to
> disassemble and at that point it seems that I lost some information about
> my architecture. lldb tries to disassemble it for x86, which in not
> possible with my toolchain.
>
>
>
> Here is a log of what I am doing:
>
>
>
> (lldb) file test
>
> Current executable set to 'test' (dpu).
>
> (lldb) dis -s 0x80000000
>
> test`__bootstrap:
>
> test[0x80000000] <+0>:  jnz    id, 0x80000020
>
> test[0x80000008] <+8>:  move   r0, 0xff
>
> test[0x80000010] <+16>: release r0, 0x0, nz, 0x80000018
>
> test[0x80000018] <+24>: sub    r0, r0, 0x1, pl, 0x80000010
>
> (lldb) r
>
> Process 21312 launched: '/home/rjodin/work/dpu_tools/llvm/lldb/test/test'
> (dpu)
>
> Process 21312 stopped
>
> * thread #1, name = 'DPUthread0', stop reason = Thread stopped
>
>     frame #0: 0x0000000080000090
>
> (lldb) dis -s 0x80000000
>
> error: Unable to find Disassembler plug-in for the 'x86_64' architecture.
>
> (lldb)
>
>
>
> Any ideas of what I am missing in my implementation?
>
> Thanks,
>
> --
>
> *Romaric JODIN*
>
> UPMEM
>
> *Software Engineer*
>
>
>
>

-- 
*Romaric JODIN*
UPMEM
*Software Engineer*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20190613/895a60e9/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 1939 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20190613/895a60e9/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: logo signature mail 50x50.png
Type: image/png
Size: 1939 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20190613/895a60e9/attachment-0001.png>


More information about the lldb-dev mailing list