Changeset fb987e8 in rtems-tools for tester/covoar/GcovData.cc


Ignore:
Timestamp:
May 8, 2018, 5:09:39 AM (18 months ago)
Author:
Chris Johns <chrisj@…>
Branches:
e9f48e9face6c4dea62712d73b35412c0fe10332
Children:
efbf8f0
Parents:
558cab8
git-author:
Chris Johns <chrisj@…> (05/08/18 05:09:39)
git-committer:
Chris Johns <chrisj@…> (06/15/18 05:54:25)
Message:

covoar: Use DWARF to map addresses to source files and lines.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tester/covoar/GcovData.cc

    r558cab8 rfb987e8  
    1212 */
    1313
    14 #include <libgen.h>
    1514#include <stdio.h>
    1615#include <string.h>
     
    6261    if ( (tempString == NULL) && (tempString2 == NULL) ){
    6362      fprintf(stderr, "ERROR: incorrect name of *.gcno file\n");
    64     } 
     63    }
    6564    else
    6665    {
     
    239238
    240239            if ( status <= 0 ){
    241                 // Not printing error message because this 
     240                // Not printing error message because this
    242241                // happenns at the end of each file
    243242                return false;
     
    261260                                status = fread( &intBuffer, 4, header.length, gcovFile );
    262261                                if ( status != (int) header.length){
    263                                         fprintf( 
     262                                        fprintf(
    264263                                                stderr, "Error while reading BLOCKS from gcov file...\n"
    265                                                 "Header lenght is %u instead of %u\n", 
    266                                                 header.length, 
    267                                                 status 
     264                                                "Header lenght is %u instead of %u\n",
     265                                                header.length,
     266                                                status
    268267                                        );
    269268                                        return false;
     
    479478  void GcovData::writeGcovFile( )
    480479  {
    481     char        path[512];
    482     char        command[512];
    483 
    484     //fprintf (stderr, "Attempting to run gcov for: %s\n", cFileName );
    485     strcpy( path, cFileName );
    486     dirname( path );
    487     sprintf( command, "( cd %s && gcov %s &>> gcov.log)", path, basename( cFileName ) );
    488     //fprintf (stderr, "> %s\n", command );
    489     system( command );
     480    //std::cerr << "Attempting to run gcov for: " << cFileName << std::endl;
     481    std::ostringstream command;
     482    command << "( cd " << rld::path::dirname (cFileName)
     483            << " && gcov " << rld::path::basename (cFileName)
     484            << " &>> gcov.log)";
     485    //std::cerr << "> " << command << std::endl;
     486    system( command.str ().c_str () );
    490487  }
    491488
Note: See TracChangeset for help on using the changeset viewer.