<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr">On Sat, Jun 9, 2018, 6:01 AM Vijay Kumar Banerjee <<a href="mailto:vijaykumar9597@gmail.com">vijaykumar9597@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">Hello,</div><div class="gmail_quote"><br></div><div class="gmail_quote">I was going through the gcc manual for gcov </div><div class="gmail_quote"><a href="https://gcc.gnu.org/onlinedocs/gcc/Gcov-and-Optimization.html#Gcov-and-Optimization" target="_blank" rel="noreferrer">https://gcc.gnu.org/onlinedocs/gcc/Gcov-and-Optimization.html#Gcov-and-Optimization</a><br></div><div class="gmail_quote"><br></div><div class="gmail_quote">It mentions that the flag -fprofile-arcs is necessary for generating the .gcda files.</div><div class="gmail_quote">I have tried it with a small hello world program to see the reports, and it seems</div><div class="gmail_quote">that for .gcda files this flag is necessary.</div><div class="gmail_quote"><br></div><div class="gmail_quote">when I include the flag `-fprofile-arcs` with `-ftest-coverage` and then make</div><div class="gmail_quote">I'm getting the following error.</div><div class="gmail_quote"><br></div><div class="gmail_quote">=============================</div><div class="gmail_quote"><div class="gmail_quote">checking whether the C compiler works... no</div><div class="gmail_quote">configure: error: in `/home/lunatic/development/rtems/kernel/leon3/sparc-rtems5/c/leon3':</div><div class="gmail_quote">configure: error: C compiler cannot create executables</div><div class="gmail_quote">See `config.log' for more details</div><div class="gmail_quote">gmake[2]: *** [Makefile:731: leon3] Error 1</div><div class="gmail_quote">gmake[2]: Leaving directory '/home/lunatic/development/rtems/kernel/leon3/sparc-rtems5/c'</div><div class="gmail_quote">gmake[1]: *** [Makefile:289: all-recursive] Error 1</div><div class="gmail_quote">gmake[1]: Leaving directory '/home/lunatic/development/rtems/kernel/leon3/sparc-rtems5/c'</div><div class="gmail_quote">gmake: *** [Makefile:414: all-recursive] Error 1</div><div><br></div></div><div class="gmail_quote">=============================</div></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">It may be looking for a symbol provided by libgov.a. We don't have that based on how we do coverage.</div><div dir="auto"><br></div><div dir="auto">The normal approach is to add it to the RTEMS dummy crt0.c in newlib.</div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><br></div><div class="gmail_quote"><br></div><div class="gmail_quote">On 8 June 2018 at 01:13, Vijay Kumar Banerjee <span dir="ltr"><<a href="mailto:vijaykumar9597@gmail.com" target="_blank" rel="noreferrer">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="auto"><span class="m_8592171041056546884gmail-"><div><br><br><div class="gmail_quote"><div dir="ltr">On Fri, 8 Jun 2018, 01:09 Joel Sherrill, <<a href="mailto:joel@rtems.org" target="_blank" rel="noreferrer">joel@rtems.org</a>> wrote:<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">Bringing in Krzysztof. Hoping he can get us on the right track here.<div><br></div><div>I don't think you can run GcovData.cc independent of a covoar run.</div></div></blockquote></div></div></span><div dir="auto">Understood.</div><span class="m_8592171041056546884gmail-"><div dir="auto"><div class="gmail_quote"><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>If you can figure out how to write a unit test that would be helpful.<br><div class="gmail_extra"></div></div></div></blockquote></div></div></span><div dir="auto">Will try to do that if possible.</div><div><div class="m_8592171041056546884gmail-h5"><div dir="auto"><div class="gmail_quote"><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><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jun 7, 2018 at 2:29 PM, Vijay Kumar Banerjee <span dir="ltr"><<a href="mailto:vijaykumar9597@gmail.com" rel="noreferrer noreferrer" 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">Hello,<div><br></div><div>I was looking into the code in GcovData.cc to see how it works</div><div>and what it's doing, too me it looked like very messed up, I couldn't</div><div>understand (yet) what it's trying to do.</div><div>Is there some way I can manually run it for one file?</div><div>Is there any place where I can read how it was intended to work?</div><div>Or something like a flow diagram?</div><span class="m_8592171041056546884gmail-m_3255176090320610406m_-4393554454909577279HOEnZb"><font color="#888888"><div><br></div></font></span></div><div class="gmail_extra"><span class="m_8592171041056546884gmail-m_3255176090320610406m_-4393554454909577279HOEnZb"><font color="#888888"><br clear="all"><div><div class="m_8592171041056546884gmail-m_3255176090320610406m_-4393554454909577279m_4600475817927780517gmail_signature"><div dir="ltr"><div><div dir="ltr">-- vijay</div></div></div></div></div></font></span><div><div class="m_8592171041056546884gmail-m_3255176090320610406m_-4393554454909577279h5">
<br><div class="gmail_quote">On 7 June 2018 at 02:56, Vijay Kumar Banerjee <span dir="ltr"><<a href="mailto:vijaykumar9597@gmail.com" rel="noreferrer noreferrer" 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="auto"><div><div class="m_8592171041056546884gmail-m_3255176090320610406m_-4393554454909577279m_4600475817927780517h5"><div><br><br><div class="gmail_quote"><div dir="ltr">On Thu, 7 Jun 2018, 02:39 Joel Sherrill, <<a href="mailto:joel@rtems.org" rel="noreferrer noreferrer" target="_blank">joel@rtems.org</a>> wrote:<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="auto"><div><br><br><div class="gmail_quote"><div dir="ltr">On Wed, Jun 6, 2018, 3:56 PM Vijay Kumar Banerjee <<a href="mailto:vijaykumar9597@gmail.com" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">vijaykumar9597@gmail.com</a>> wrote:<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">On 7 June 2018 at 01:48, Joel Sherrill <span dir="ltr"><<a href="mailto:joel@rtems.org" rel="noreferrer noreferrer noreferrer noreferrer noreferrer" 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="auto"><div><div class="m_8592171041056546884gmail-m_3255176090320610406m_-4393554454909577279m_4600475817927780517m_8824578930759326875m_7105757412373846046m_4118429910627468109m_-6986764490652066310gmail-h5"><div><br><br><div class="gmail_quote"><div dir="ltr">On Wed, Jun 6, 2018, 2:07 PM Vijay Kumar Banerjee <<a href="mailto:vijaykumar9597@gmail.com" rel="noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">vijaykumar9597@gmail.com</a>> wrote:<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">On 6 June 2018 at 20:49, Joel Sherrill <span dir="ltr"><<a href="mailto:joel@rtems.org" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" 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">I can't duplicate this. My configure command was:<div><br></div><div><div>../rtems/configure --target=sparc-rtems5 --enable-rtemsbsp=leon3 --prefix=/home/joel/rtems-work/tools/5 \</div><div>   --disable-networking --enable-posix --disable-smp --disable-multiprocessing \</div><div>   --enable-tests --enable-cxx --enable-maintainer-mode</div><div><br></div><div>What was yours?</div><div><br></div></div></div></blockquote><div>I didn't have --enable-cxx and --enable-maintainer-more.</div><div><br></div><div>I made some tries and somehow it's perfectly working now.</div><div><br></div><div>I am trying to find out now how covoar generates the reports.</div><div>I made a file with a list of all gcno in score/ and run with -g argument</div><div>now I'mg seeing the following error while running covoar </div><div><br></div><div>======================</div><div><div>Generating Gcov reports...</div><div>Processing file: libscore_a-allocatormutex.gcno</div><div>Unable to open libscore_a-allocatormutex.gcno</div><div>Processing file: libscore_a-apimutexisowner.gcno</div><div>Unable to open libscore_a-apimutexisowner.gcno</div><div>Processing file: libscore_a-apimutexlock.gcno</div><div>Unable to open libscore_a-apimutexlock.gcno</div><div>Processing file: libscore_a-apimutexunlock.gcno</div><div>Unable to open libscore_a-apimutexunlock.gcno</div><div>Processing file: libscore_a-chain.gcno</div><div>Unable to open libscore_a-chain.gcno</div><div>Processing file: libscore_a-chainnodecount.gcno</div></div><div>.</div><div>.</div><div>.</div><div>======================</div></div></div></div></blockquote></div></div><div dir="auto"><br></div></div></div><div dir="auto">I suspect this is another instance of the path issues inside the build tree you and Cillian fixed earlier.</div><span class="m_8592171041056546884gmail-m_3255176090320610406m_-4393554454909577279m_4600475817927780517m_8824578930759326875m_7105757412373846046m_4118429910627468109m_-6986764490652066310gmail-"><div dir="auto"><br></div></span></div></blockquote><div>correcting the path worked.</div></div></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Submit a patch for this. It needs fixing to get 5onyour next issue.</div></div></blockquote></div></div></div></div><div dir="auto">It just needed the absolute path to be fed.</div><div dir="auto">here's what I did.</div><div dir="auto">I manually 'find' all the gcno files under score.</div><div dir="auto">wrote it all in a file separated by newlines.</div><div dir="auto">fed that file as an argument to covoar.</div><div dir="auto">and that brought me here.</div><div dir="auto"><br></div><div dir="auto">So when we write script, these are the </div><div dir="auto">things that will be done by the script.</div><div dir="auto"><br></div><div dir="auto">Once everything strats running manually,</div><div dir="auto">we can proceed to write scripts. </div><span><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto"><div class="gmail_quote"><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>Now I'm getting this error.</div><div><br></div><div>Generating Gcov reports...</div><div>Processing file: sparc-rtems5/c/leon3/cpukit/score/src/libscore_a-kern_tc.gcno</div><div>ERROR: Unable to read string from gcov file</div><div>ERROR: Unable to read string length from gcov file</div><div>ERROR: Unable to read Function starting line number</div><div>Segmentation fault (core dumped)</div></div></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Welcome to GSoC! You are now in new territory. :)</div><div dir="auto"></div></div></blockquote></div></div></span><div dir="auto">So here the real work begins! </div><span><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto"><br></div><div dir="auto">Dig in and see what went wrong. Be aware.that GCC file formats may (or may not) be subject to.changing over time and this could just be bitrot.</div><div dir="auto"></div></div></blockquote></div></div></span><div dir="auto">I got started with it.</div><span><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto"><br></div><div dir="auto">Gcov-dump is installed with the compiler.</div><div dir="auto"><br></div><div dir="auto">You should check it we have a .h file describing the file and it is out of date.</div><div dir="auto"></div></div></blockquote></div></div></span><div dir="auto">I'll look into it.</div><span><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto"><br></div><div dir="auto">Also I think we now should bring the gsov maintainer in.</div></div></blockquote></div></div></span><div dir="auto">The covoar's gcov support needs to be reworked.</div><div dir="auto">We can get the help of the expert here.</div><div dir="auto"></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto"><br></div><div dir="auto">Good job!</div><div dir="auto"></div></div></blockquote></div></div><div dir="auto">Thanks. :)</div><span><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><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><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><span class="m_8592171041056546884gmail-m_3255176090320610406m_-4393554454909577279m_4600475817927780517m_8824578930759326875m_7105757412373846046m_4118429910627468109m_-6986764490652066310gmail-"><div dir="auto"></div><div dir="auto"><div class="gmail_quote"><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"><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><div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="m_8592171041056546884gmail-m_3255176090320610406m_-4393554454909577279m_4600475817927780517m_8824578930759326875m_7105757412373846046m_4118429910627468109m_-6986764490652066310gmail-m_-839115205355799197m_6531430755790798520gmail-m_5003576075350761045m_6232145959970312516m_-1971256666443113768gmail-h5">On Wed, Jun 6, 2018 at 9:40 AM, Vijay Kumar Banerjee <span dir="ltr"><<a href="mailto:vijaykumar9597@gmail.com" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">vijaykumar9597@gmail.com</a>></span> wrote:<br></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><div class="m_8592171041056546884gmail-m_3255176090320610406m_-4393554454909577279m_4600475817927780517m_8824578930759326875m_7105757412373846046m_4118429910627468109m_-6986764490652066310gmail-m_-839115205355799197m_6531430755790798520gmail-m_5003576075350761045m_6232145959970312516m_-1971256666443113768gmail-h5"><div dir="ltr">Hello,<div><br></div><div>I have added the following changes in the bsps/sparc/leon3/config/leon3.cfg</div><div><br></div><div>----------</div><div>CFLAGS_OPTIMIZE_V = -Os -g</div><div>CFLAGS_OPTIMIZE_V += -ftest-coverage</div><div>-------</div><div><br></div><div>While trying to build with these flags, I got a bunch of</div><div>the following errors:</div><div><br></div><div>==========</div><div><div>{standard input}: Assembler messages:</div><div>{standard input}:6510: Error: can't resolve `.data._SPARC_Counter' {.data._SPARC_Counter section} - `.LLtext0' {.text section}</div><div>{standard input}:6511: Error: can't resolve `.data._SPARC_Counter' {.data._SPARC_Counter section} - `.LLtext0' {.text section}</div></div><div><br></div><div>===================</div><div><br></div><div>after the `make install` I do get a lot of .gcno files, and no</div><div>executables.</div><span class="m_8592171041056546884gmail-m_3255176090320610406m_-4393554454909577279m_4600475817927780517m_8824578930759326875m_7105757412373846046m_4118429910627468109m_-6986764490652066310gmail-m_-839115205355799197m_6531430755790798520gmail-m_5003576075350761045m_6232145959970312516m_-1971256666443113768gmail-m_91281897509097091HOEnZb"><font color="#888888"><div><br clear="all"><div><div class="m_8592171041056546884gmail-m_3255176090320610406m_-4393554454909577279m_4600475817927780517m_8824578930759326875m_7105757412373846046m_4118429910627468109m_-6986764490652066310gmail-m_-839115205355799197m_6531430755790798520gmail-m_5003576075350761045m_6232145959970312516m_-1971256666443113768gmail-m_91281897509097091m_-3374816719011963540gmail_signature"><div dir="ltr"><div><div dir="ltr">-- vijay</div></div></div></div></div>
</div></font></span></div>
<br></div></div>_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@rtems.org" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">devel@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br></blockquote></div><br></div>
</blockquote></div><br></div></div>
</blockquote></div></div></span></div>
</blockquote></div><br></div></div>
</blockquote></div></div></div>
</blockquote></div></div></span></div>
</blockquote></div><br></div></div></div>
</blockquote></div><br></div></div></div>
</blockquote></div></div></div></div></div>
</blockquote></div><br></div></div>
</blockquote></div></div></div>