[lldb-dev] did anyone konw LLDB support lldb + openocd to run dotest.py in bare board like ARM or other non-x86 architecture?

cuibixiong via lldb-dev lldb-dev at lists.llvm.org
Tue Oct 31 23:42:47 PDT 2017


Hi 
I don’t launch lldb-server which already debugging a program, just use "lldb-server platform —listen *:3333 —server” on Qemu armhf for Debian 6.0

Best Regards
—cuibixiong

发件人:  Greg Clayton <clayborg at gmail.com>
日期:  2017年10月31日 星期二 23:15
至:  Tatyana Krasnukha <Tatyana.Krasnukha at synopsys.com>
抄送:  cuibixiong <cuibixiong at gmail.com>, "lldb-dev at lists.llvm.org" <lldb-dev at lists.llvm.org>
主题:  Re: [lldb-dev] did anyone konw LLDB support lldb + openocd to run dotest.py in bare board like ARM or other non-x86 architecture?

If you are launching your lldb-server and it is already debugging a program you don't use "process launch", you use "process attach" if you are connected to your platform. 

It isn't recommended to use "remote-gdb-server" platform directly. "remote-linux" uses "remote-gdb-server" underneath it, but it also overrides a bunch of other platform functions that you need in order to debug correctly. So use "remote-linux".



On Oct 28, 2017, at 3:15 AM, Tatyana Krasnukha via lldb-dev <lldb-dev at lists.llvm.org> wrote:

I guess 2 ways of remote debugging:
“remote-linux” platform with process attach instead of process launch
“remote-gdb-server” platform with process launch.
As I understood, both of them use lldb-server.
 
To execute tests remotely you may run dotest.py with according options (platform-name and platfrom-url).
 
As for openocd and other gdb servers, there is no way to use them for remote testing. I haven’t found, at least.
 
Thanks,
Tatyana
 
From: cuibixiong [mailto:cuibixiong at gmail.com] 
Sent: Saturday, 28 October, 2017 12:40 PM
To: Tatyana Krasnukha <Tatyana.Krasnukha at synopsys.com>
Cc: lldb-dev at lists.llvm.org
Subject: Re: [lldb-dev] did anyone konw LLDB support lldb + openocd to run dotest.py in bare board like ARM or other non-x86 architecture?
 
Hi 
 
              You mean should use “platform select remote-linux” ? I use it but also report error: unable to launch a GDB server on 'debian-armhf.""'
 
              in-addition, you said gdb-server is “GNU GDB server” or just lldb-server services ?
 
Best Regards
—cuibixiong
 
发件人: Tatyana Krasnukha <Tatyana.Krasnukha at synopsys.com>
日期: 2017年10月27日 星期五 21:53
至: cuibixiong <cuibixiong at gmail.com>
抄送: "lldb-dev at lists.llvm.org" <lldb-dev at lists.llvm.org>
主题: RE: [lldb-dev] did anyone konw LLDB support lldb + openocd to run dotest.py in bare board like ARM or other non-x86 architecture?
 
It seems that ‘process launch’ tries to launch gdb-server that is already started manually, try to attach instead.
 
I also met ‘remote-gdb-server’ platform, maybe it fits your goal better? Didn’t you try to do something like this?
dotest.py --platform-name=remote-gdb-server --platfrom-url=connect://hostname:port --arch=architecture ...
 
From: lldb-dev [mailto:lldb-dev-bounces at lists.llvm.org] On Behalf Of cui bixiong via lldb-dev
Sent: Friday, 27 October, 2017 9:41 AM
To: Greg Clayton <clayborg at gmail.com>
Cc: lldb-dev <lldb-dev at lists.llvm.org>
Subject: Re: [lldb-dev] did anyone konw LLDB support lldb + openocd to run dotest.py in bare board like ARM or other non-x86 architecture?
 
Hi :
 
    I build a armhf qemu enviroment to test ARM lldb + lldb-server testsuite.  source code base on LLVM + LLDB + LLD + CLANG formal release 5.0.0.
 
    Target: lldb-server platform --listen *:3333 --server
 
    Host :  
 
    (lldb) platform select remote-linux
    Platform: remote-linux
    Connected: no
    (lldb) platform connect connect://0.0.0.0:3333
    Platform: remote-linux
    Triple: arm-*-linux-gnueabihf
    OS Version: 3.2.0 (3.2.0-4-vexpress)
    Kernel: #1 SMP Debian 3.2.51-1
    Hostname: debian-armhf.""
    Connected: yes
    WorkingDir: /root
    (lldb) file ./hello.exe
    Current executable set to './hello.exe' (arm).
    (lldb) log enable gdb-remote packets
    (lldb) process launch
    history[1] tid=0x6192 <   1> send packet: +
    history[2] tid=0x6192 <  19> send packet: $QStartNoAckMode#b0
    history[3] tid=0x6192 <   1> read packet: +
    history[4] tid=0x6192 <   6> read packet: $OK#9a
    history[5] tid=0x6192 <   1> send packet: +
    history[6] tid=0x6192 <  13> send packet: $qHostInfo#9b
    history[7] tid=0x6192 < 297> read packet:                  $triple:61726d2d2d6c696e75782d676e75656162696866;ptrsize:4;distribution_id:64656269616e;watchpoint_exceptions_received:before;endian:little;os_version:3.2.0;os_build:332e322e302d342d7665787072657373;os_kernel:233120534d502044656269616e20332e322e35312d31;hostname:64656269616e2d61726d68662e2222;#1a
    history[8] tid=0x6192 <  18> send packet: $qGetWorkingDir#91
    history[9] tid=0x6192 <  14> read packet: $2f726f6f74#a4
    history[10] tid=0x6192 <  19> send packet: $qQueryGDBServer#cb
    history[11] tid=0x6192 <   7> read packet: $E04#a9
    history[12] tid=0x6192 <  73> send packet: $qModuleInfo:2e2f68656c6c6f2e657865;61726d2d2d6c696e75782d656162696866#b7
history[13] tid=0x6192 <   7> read packet: $E03#a8
history[14] tid=0x6192 <  69> send packet: $qModuleInfo:6c6962632e736f2e36;61726d2d2d6c696e75782d656162696866#7b
    history[15] tid=0x6192 <   7> read packet: $E03#a8
<  36> send packet: $qLaunchGDBServer;host:mtkslt202;#b1
    error: unable to launch a GDB server on 'debian-armhf.""'
 
     i show host and port is uncorrect, is it a bug?
 
 
Best Regards
--cuibixiong
 
On Tue, Oct 24, 2017 at 11:04 PM, Greg Clayton <clayborg at gmail.com> wrote:
 
On Oct 24, 2017, at 12:02 AM, cui bixiong <cuibixiong at gmail.com> wrote:
 
Hi
 
    sorry, i'm confuse, in my mind, lldb-server maybe like gdb-server, running on Linux-like platform  listening RSP command which send form gdb and use ptrace syscall to debug which you want to debug program
 
    is it support remote download to batch mode run all testsuite? certainly i think reset baseboard is very important feature too,  but in lldb-server maybe not support currently i guess.
 
Yes lldb-server does support a full connection to a remote OS. On baseboards you are typically debugging the entire OS so lldb-server won't work because you have to OS to run it in the background. Supporting the test suite on baseboards will take some effort.
 
Best Regards
--cuibixiong
 
On Mon, Oct 23, 2017 at 11:06 PM, Greg Clayton <clayborg at gmail.com> wrote:

> On Oct 22, 2017, at 6:21 AM, cuibixiong via lldb-dev <lldb-dev at lists.llvm.org> wrote:
>
> Hi
>
>       did anyone konw LLDB support lldb + openocd to run dotest.py in bare board like ARM or other non-x86 architecture?

We run the test suite on iOS devices using the platform stuff. This requires a running lldb-server on the remote system, so we only have the test suite running when we have the lldb-server running in platform mode on the other side. For this to work with baseboards, we would need the JTAG box to respond to many GDB remote protocol packets that "lldb-server platform" implements. I am sure for baseboards the test suite would need to be modified. A few ideas there:
- Have the test suite watch for a triple with no os (like "arm64-none-none") and have it go into a baseboard mode
- Many tests that might rely on writing to files, reading from files for stdin, and others, would need to be skipped in this mode
- Any tests that build and debug shared libraries would either need to be modified to build multiple static binaries or skipped
- We might need to make a Bareboard platform and would load the ELF files into memory instead of copying them over like the current platforms do

So there would be quite a lot of modifications required to get the test suite running. We will be happy to help you if you choose to try this.

Greg Clayton

>
> Best Regards
> —cuibixiong
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

 
 
 
_______________________________________________
lldb-dev mailing list
lldb-dev at lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20171101/4c39753f/attachment-0001.html>


More information about the lldb-dev mailing list