tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: LLDB Plan - stage I - NetBSD Process Plugin and lldb-server tests




On 22.12.2016 19:47, Kamil Rytarowski wrote:
> On 16.12.2016 18:35, Kamil Rytarowski wrote:
>> Hello,
>>
>> My initial goal is to copy the Linux Process Plugin and add minimal
>> functional support for NetBSD. It will be followed with running and
>> passing some tests from the lldb-server test-suite.
>>
> 
> Summary for check-lldb target in wip/lldb-netbsd as of 2016-12-21
> pkgsrc-wip git revision f1105fa7a9f6d7b014dbe272c789c43472a63e92
> 
> ===================
> Test Result Summary
> ===================
> Test Methods:       1197
> Reruns:                1
> Success:             252
> Expected Failure:     20
> Failure:             307
> Error:               162
> Exceptional Exit:      1
> Unexpected Success:    1
> Skip:                436
> Timeout:              18
> Expected Timeout:      0
> 
> More detailed results:
> http://netbsd.org/~kamil/lldb/check-lldb-r289997-2016-12-22.txt
> 

NetBSD can now catch and properly distinguish the following events in
NativeProcessNetBSD::MonitorCallback:
 - process termination
 - execve(2)
 - software breakpoint
 - single step
 - fork
 - vfork done
 - thread creation
 - thread termination
 - other signal passed to tracee

Currently unimplemented on NetBSD, but initial code in LLDB added:
 - vfork

There is code-path added, but untested, as currently not trivial to check:
 - hw watchpoint fired

At the moment there are no other events known that need to be handled.


Update of the "check-lldb" result (diff too 2016-12-22):
pkgsrc-wip revision 149def4215b894a97a9bcdc06120d6381237335b
llvm+clang+lldb svn r. 289997

The result is similar, as the process after distinguishing the exact
event type, that stopped the child, it still hangs.

 ===================
 Test Result Summary
 ===================
-Test Methods:       1197
+Test Methods:       1195
 Reruns:                1
-Success:             252
+Success:             256
 Expected Failure:     20
-Failure:             307
-Error:               162
+Failure:             290
+Error:               159
 Exceptional Exit:      1
 Unexpected Success:    1
-Skip:                436
-Timeout:              18
+Skip:                440
+Timeout:              28
 Expected Timeout:      0

More detailed results
http://netbsd.org/~kamil/lldb/check-lldb-r289997-2017-01-18.txt

To finish the stage I, I still need to:
1. Determine why LLDB hangs after finishing
NativeProcessNetBSD::MonitorCallback for signals and fix it.
2. Add support for resuming the tracee after interruption.


Once finished, I will publish an entry on the NetBSD Foundation Blog
with a summary and move on to Stage II. I'm planning a lighter set of
few tasks that need to be done at some point to finish the overall LLDB
task and to reduce the complexity of NetBSD porting later.

Attachment: signature.asc
Description: OpenPGP digital signature



Home | Main Index | Thread Index | Old Index