On Tue, 17 Apr 2018, 03:19 Joel Sherrill, <j...@rtems.org> wrote: > > > On Mon, Apr 16, 2018 at 4:47 PM, Vijay Kumar Banerjee < > vijaykumar9...@gmail.com> wrote: > >> >> >> On 17 April 2018 at 01:43, Cillian O'Donnell <cpodonne...@gmail.com> >> wrote: >> >>> >>> >>> On 16 April 2018 at 17:46, Joel Sherrill <j...@rtems.org> wrote: >>> >>>> >>>> >>>> On Mon, Apr 16, 2018 at 2:33 AM, Vijay Kumar Banerjee < >>>> vijaykumar9...@gmail.com> wrote: >>>> >>>>> current status : >>>>> the coverage is running now with rtems-test and generating the report, >>>>> however, the report doesn't show any data. >>>>> >>>> >>>> I've been lurking as you have been making progress. Now you have crossed >>>> into something you probably need some hints at. Some things to check: >>>> >>>> + Obviously, check output for signs that something didn't happen right. >>>> Anything from a path wrong, etc. The configuration has to be right to >>>> point to the source code, object code, executables, etc. >>>> >>>> + A lot of source code has moved around since last summer. Check >>>> that it is looking in the right places inside RTEMS. >>>> >>>> + Does the mechanism to get debug information actually work? Cillian? >>>> >>> >>> 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. >>> >>>> >>>> + There is a utility named trace-converter. Make sure your qemu traces >>>> have information in them. >>>> >>>> + Cillian probably has guidance on running it just on one test (say >>>> ticker) >>>> so you can see every step. >>>> >>>> + Check that the executables have symbolic information. "file" should >>>> show if they are stripped or not. >>>> >>>> I recall covoar has a verbose mode which should be of use. >>>> >>>> Cillian .. do you have instructions on running covoar in gdb? >>>> >>> >>> Alright so run rtems-test with --no-clean option to leave the coverage >>> files lying around >>> >>> $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 >>> >>> Then run >>> >>> gdb covoar >>> >>> from gdb prompt >>> >>> 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 >>> >>> The options there are ( if you're wondering ) >>> >>> -c COVERAGEFILE_EXTENSION EXECUTABLE1 ... EXECUTABLE2 >>> >>> -v - verbose output >>> -T TARGET - architecture target name >>> -f FORMAT - simulator format >>> (RTEMS, QEMU, TSIM or Skyeye) >>> -E EXPLANATIONS - file of explanations >>> -s SYMBOLS_FILE - symbols of interest >>> -S SYMBOL_SET_FILE - path to symbol_sets.cfg >>> -1 EXECUTABLE - executable to get symbols from >>> -e EXE_EXTENSION - suffix for executables >>> -c COVERAGEFILE_EXT - coverage file suffix >>> -g GCNOS_LIST - list of *.gcno files >>> -p PROJECT_NAME - name of the project >>> -O Output_Directory - output directory default=. >>> -d debug - disable cleaning of tempfiles. >>> >>> >> maybe the problem is here . I am getting an error for the -S . Here are >> the list of options that show up , capital S for symbol_set_file is not one >> of them . >> >> Usage: /home/lunatic/development/rtems/5/bin/covoar [-v] -T TARGET -f >> FORMAT [-E EXPLANATIONS] -e EXE_EXTENSION -c COVERAGEFILE_EXTENSION >> EXECUTABLE1 ... EXECUTABLE2 >> >> -v - verbose at initialization >> -T TARGET - target name >> -f FORMAT - coverage file format (RTEMS, QEMU, TSIM or >> Skyeye) >> -E EXPLANATIONS - name of file with explanations >> -s SYMBOLS_FILE - name of file with symbols of interest >> -1 EXECUTABLE - name of executable to get symbols from >> -e EXE_EXTENSION - extension of the executables to analyze >> -c COVERAGEFILE_EXTENSION - extension of the coverage files to analyze >> -g GCNOS_LIST - name of file with list of *.gcno files >> -p PROJECT_NAME - name of the project >> -C ConfigurationFileName - name of configuration file >> -O Output_Directory - name of output directory (default=. >> > > Is it processed by the getopts switch statement in main() but not listed > in the usage? That is > an easy mistake to creep in. > It gives an "invalid option" error
> > >> >> >>> Just trying it there, it runs into segmentation fault. So trying to >>> access memory it shouldn't. >>> >>> 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 >>> Reading configuration symbol set file: >>> /home/cpod/coverage_test/leon3/coverage/score.symcfg >>> >>> Program received signal SIGSEGV, Segmentation fault. >>> 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&) () >>> from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 >>> >>> Ahhh feels good to have error messages back. >>> >>> Oh also build covoar with no optimization and you'll have an easier time >>> looking at stuff in gdb >>> >>> cd rtems-tools/tester/covoar >>> >>> vim wscript and change the '-O2' to '-O0' and then build again with waf >>> and use that covoar to with gdb >>> >>> >>>> >>>> >>>>> >>>>> -- vijay >>>>> >>>> >>>> >>> >> >
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel