[lldb-dev] Patch for review: elf-core dump plugin

Samuel Jacob samueldotj at gmail.com
Fri Jul 12 15:40:17 PDT 2013


Thanks Ashok for committing.


On Fri, Jul 12, 2013 at 2:35 PM, Thirumurthi, Ashok <
ashok.thirumurthi at intel.com> wrote:

> Thanks Samuel, I know this will be much appreciated!
>
> The only change I had to make was the test on ProcessElfCore.cpp:298,
> which needs to be a null test rather than a comparison with false to build
> using clang trunk.  Works as advertised and introduces no regressions, so I
> fired r186207.
>
> I noticed that you skipped the call to ReadFPR that reads AVX registers in
> the constructor of RegisterContext_x86_64.  I noticed that register read -a
> includes all expected registers on an SSE machine.  Did you run into issues
> with the call during construction?  Should we be moving to cupid to query
> this functionality, for instance?
>

Yes - I skipped ReadFPR() because it was accessing AVX registers(valgrind
helped me to find that).
fpregset is never used in RegisterContextCoreLinux_x86_64, so "register
read -a" might not have valid value for floating point registers.
Adding floating point support should be easy. I will do that once I get
some time.


>
> Also, do let us know if you need any help adding tests.  Cheers,
>

Today I try to run test-suite and having trouble with it. 'ninja
check-lldb' causing lot of failures, are these failures expected or am I
missing some configuration?
(Ubuntu 13.04, Python 2.7.4, gcc 4.7.3)

$ ninja check-lldb
....
Ran 262 tests.
Failing Tests (76)
FAIL: LLDB (suite) :: TestCallStdStringFunction.py (Linux
jacobs-lnx.eng.vmware.com 3.8.0-25-generic #37-Ubuntu SMP Thu Jun 6
20:47:07 UTC 2013 x86_64 x86_64)
FAIL: LLDB (suite) :: TestFormatters.py (Linux
jacobs-lnx.eng.vmware.com3.8.0-25-generic #37-Ubuntu SMP Thu Jun 6
20:47:07 UTC 2013 x86_64 x86_64)
FAIL: LLDB (suite) :: Test11588.py (Linux
jacobs-lnx.eng.vmware.com3.8.0-25-generic #37-Ubuntu SMP Thu Jun 6
20:47:07 UTC 2013 x86_64 x86_64)
FAIL: LLDB (suite) :: TestBitfields.py (Linux
jacobs-lnx.eng.vmware.com3.8.0-25-generic #37-Ubuntu SMP Thu Jun 6
20:47:07 UTC 2013 x86_64 x86_64)
FAIL: LLDB (suite) :: TestAnonymous.py (Linux
jacobs-lnx.eng.vmware.com3.8.0-25-generic #37-Ubuntu SMP Thu Jun 6
20:47:07 UTC 2013 x86_64 x86_64)
FAIL: LLDB (suite) :: TestVirtual.py (Linux
jacobs-lnx.eng.vmware.com3.8.0-25-generic #37-Ubuntu SMP Thu Jun 6
20:47:07 UTC 2013 x86_64 x86_64)
FAIL: LLDB (suite) :: TestCPPExceptionBreakpoints.py (Linux
jacobs-lnx.eng.vmware.com 3.8.0-25-generic #37-Ubuntu SMP Thu Jun 6
20:47:07 UTC 2013 x86_64 x86_64)
.....


>
> - Ashok
>
>
> -----Original Message-----
> From: lldb-dev-bounces at cs.uiuc.edu [mailto:lldb-dev-bounces at cs.uiuc.edu]
> On Behalf Of Greg Clayton
> Sent: Thursday, July 11, 2013 8:41 PM
> To: Samuel Jacob
> Cc: lldb-dev
> Subject: Re: [lldb-dev] Patch for review: elf-core dump plugin
>
> Very nice, looks great. Check in when you get the chance.
>
> Greg
>
> On Jul 11, 2013, at 5:24 PM, Samuel Jacob <samueldotj at gmail.com> wrote:
>
> > Please review the attached patch.
> >
> > Ashok, thanks for the pre-review comments, please provide if you have
> more comments.
> > I am planning to add test cases after this get patch get committed.
> >
> > Compiles and works fine on Ubuntu 13.04.
> > Here is the sample output:
> >
> > $lldb a.out -c core
> > Core file '/usr/build/llvm/core' (x86_64) was loaded.
> > Process 0 stopped
> > * thread #1: tid = 0x0000, 0x0000000000400570
> a.out`recursive_function(i=10) + 44 at test.c:60, name = 'a.out, stop
> reason = signal SIGSEGV
> >     frame #0: 0x0000000000400570 a.out`recursive_function(i=10) + 44 at
> test.c:60
> >    57           recursive_function(i+1);
> >    58       } else {
> >    59           char *crash=0;
> > -> 60           *crash = 0;
> >    61       }
> >    62   }
> >    63
> >
> > (lldb) bt
> > * thread #1: tid = 0x0000, 0x0000000000400570
> a.out`recursive_function(i=10) + 44 at test.c:60, name = 'a.out, stop
> reason = signal SIGSEGV
> >     frame #0: 0x0000000000400570 a.out`recursive_function(i=10) + 44 at
> test.c:60
> >     frame #1: 0x0000000000400562 a.out`recursive_function(i=9) + 30 at
> test.c:57
> >     frame #2: 0x0000000000400562 a.out`recursive_function(i=8) + 30 at
> test.c:57
> >     frame #3: 0x0000000000400562 a.out`recursive_function(i=7) + 30 at
> test.c:57
> >     frame #4: 0x0000000000400562 a.out`recursive_function(i=6) + 30 at
> test.c:57
> >     frame #5: 0x0000000000400562 a.out`recursive_function(i=5) + 30 at
> test.c:57
> >     frame #6: 0x0000000000400562 a.out`recursive_function(i=4) + 30 at
> test.c:57
> >     frame #7: 0x0000000000400562 a.out`recursive_function(i=3) + 30 at
> test.c:57
> >     frame #8: 0x0000000000400562 a.out`recursive_function(i=2) + 30 at
> test.c:57
> >     frame #9: 0x0000000000400562 a.out`recursive_function(i=1) + 30 at
> test.c:57
> >     frame #10: 0x0000000000400562 a.out`recursive_function(i=0) + 30 at
> test.c:57
> >     frame #11: 0x00000000004005a7 a.out`static_function + 50 at test.c:68
> >     frame #12: 0x00000000004005b5 a.out`call_me6 + 14 at test.c:77
> >     frame #13: 0x00000000004005c3 a.out`call_me5 + 14 at test.c:80
> >     frame #14: 0x00000000004005d3 a.out`call_me4 + 14 at test.c:81
> >     frame #15: 0x00000000004005e3 a.out`call_me3 + 14 at test.c:82
> >     frame #16: 0x00000000004005f3 a.out`call_me2 + 14 at test.c:83
> >     frame #17: 0x0000000000400603 a.out`call_me1 + 14 at test.c:84
> >     frame #18: 0x0000000000400613 a.out`call_me + 14 at test.c:89
> >     frame #19: 0x0000000000400670
> a.out`test_func(para1=0x00000000020a1010) + 91 at test.c:108
> >     frame #20: 0x000000000040070b a.out`main(argc=1,
> argv=0x00007fffba029498) + 145 at test.c:128
> >
> > Thanks
> > Samuel
> > <lldb_elfcore.diff>_______________________________________________
> > lldb-dev mailing list
> > lldb-dev at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20130712/6d2a6559/attachment.html>


More information about the lldb-dev mailing list