<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On 16 April 2018 at 17:46, Joel Sherrill <span dir="ltr"><<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="gmail-">On Mon, Apr 16, 2018 at 2:33 AM, Vijay Kumar Banerjee <span dir="ltr"><<a href="mailto:vijaykumar9597@gmail.com" target="_blank">vijaykumar9597@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">current status :<div>the coverage is running now with rtems-test and generating the report, however, the report doesn't show any data.</div></div></blockquote><div><br></div></span><div>I've been lurking as you have been making progress. Now you have crossed</div><div>into something you probably need some hints at. Some things to check:</div><div><br></div><div>+ Obviously, check output for signs that something didn't happen right.</div><div>Anything from a path wrong, etc. The configuration has to be right to</div><div>point to the source code, object code, executables, etc. </div><div><br></div><div>+ A lot of source code has moved around since last summer. Check</div><div>that it is looking in the right places inside RTEMS.</div><div><br></div><div>+ Does the mechanism to get debug information actually work? Cillian?</div></div></div></div></blockquote><div><br></div><div>The covoar debug option just disables the cleaning of the tempfiles to take a look, so it's not as powerful as it might seem :)... I always used gdb here so that's probably the way to go.<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>+ There is a utility named trace-converter. Make sure your qemu traces<br></div><div>have information in them.</div><div><br></div><div>+ Cillian probably has guidance on running it just on one test (say ticker)</div><div>so you can see every step.</div><div><br></div><div>+ Check that the executables have symbolic information. "file" should</div><div>show if they are stripped or not.</div><div><br></div><div>I recall covoar has a verbose mode which should be of use.</div><div><br></div><div>Cillian .. do you have instructions on running covoar in gdb?</div></div></div></div></blockquote><div><br></div><div>Alright so run rtems-test with --no-clean option to leave the coverage files lying around<br><br>$HOME/development/rtems/test/test/rtems-tools/tester/rtems-test --rtems-tools=$HOME/development/rtems/5 --log=coverage-analysis.log --rtems-bsp=leon3_qemu --coverage --no-clean --rtems-builddir=$HOME/development/rtems/leon3 sparc-rtems5/c/leon3/testsuites/samples<br><br></div><div>Then run<br><br></div><div>gdb covoar<br><br></div><div>from gdb prompt <br><br>run -S /home/cpod/coverage_test/leon3/coverage/score.symcfg -O /home/cpod/coverage_test/leon3/test/score -fQEMU -Tsparc-rtems5 -E/home/cpod/development/rtems/test/test/vijay/rtems-tools/tester/rtems/testing/coverage/Explanations.txt -c.cov -eexe -pRTEMS-5 /home/cpod/development/rtems/leon3/sparc-rtems5/c/leon3/testsuites/samples/base_sp/base_sp.exe<br><br></div><div>The options there are ( if you're wondering )<br><br> -c COVERAGEFILE_EXTENSION EXECUTABLE1 ... EXECUTABLE2<br><br> -v                  - verbose output<br> -T TARGET           - architecture target name<br> -f FORMAT           - simulator format <br>(RTEMS, QEMU, TSIM or Skyeye)<br> -E EXPLANATIONS     - file of explanations<br> -s SYMBOLS_FILE     - symbols of interest<br> -S SYMBOL_SET_FILE  - path to symbol_sets.cfg<br> -1 EXECUTABLE       - executable to get symbols from<br> -e EXE_EXTENSION    - suffix for executables<br> -c COVERAGEFILE_EXT - coverage file suffix<br> -g GCNOS_LIST       - list of *.gcno files<br> -p PROJECT_NAME     - name of the project<br> -O Output_Directory - output directory default=.<br> -d debug            - disable cleaning of tempfiles.<br><br></div><div>Just trying it there, it runs into segmentation fault. So trying to access memory it shouldn't.<br><br>Starting program: /home/cpod/covoar -S /home/cpod/coverage_test/leon3/coverage/score.symcfg -O /home/cpod/coverage_test/leon3/test/score -fQEMU -Tsparc-rtems5 -E/home/cpod/development/rtems/test/test/vijay/rtems-tools/tester/rtems/testing/coverage/Explanations.txt -c.cov -eexe -pRTEMS-5 /home/cpod/development/rtems/leon3/sparc-rtems5/c/leon3/testsuites/samples/base_sp/base_sp.exe<br>Reading configuration symbol set file: /home/cpod/coverage_test/leon3/coverage/score.symcfg<br><br>Program received signal SIGSEGV, Segmentation fault.<br>0x00007ffff7b769bb in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) ()<br>   from /usr/lib/x86_64-linux-gnu/libstdc++.so.6<br><br></div><div>Ahhh feels good to have error messages back.<br><br></div><div>Oh also build covoar with no optimization and you'll have an easier time looking at stuff in gdb<br></div><div><br>cd rtems-tools/tester/covoar<br><br></div><div>vim wscript and change the '-O2' to '-O0' and then build again with waf and use that covoar to with gdb<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><span class="gmail-m_-63266058933992612HOEnZb"><font color="#888888"><br clear="all"><div><div class="gmail-m_-63266058933992612m_1506347161607737147gmail_signature"><div dir="ltr"><div><div dir="ltr">-- vijay</div></div></div></div></div>
</font></span></div></div>
</blockquote></div><br></div></div>
</blockquote></div><br></div></div>