<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>change log for gcc-testing (2010-05-11)</title>
</head>
<body text='#000000' bgcolor='#ffffff'>
<a name='cs1'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
<font color='#bb2222'><strong>joel</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-05-11 Joel Sherrill <joel.sherrilL@OARcorp.com>
* CoverageReaderQEMU.cc, ReportsBase.cc, app_common.cc, app_common.h,
covoar.cc: Now properly know when a trace or coverage format includes
or does not include branch information.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/ChangeLog.diff?r1=text&tr1=1.216&r2=text&tr2=1.217&diff_format=h">M</a></td><td width='1%'>1.217</td><td width='100%'>rtems-coverage/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/CoverageReaderQEMU.cc.diff?r1=text&tr1=1.12&r2=text&tr2=1.13&diff_format=h">M</a></td><td width='1%'>1.13</td><td width='100%'>rtems-coverage/CoverageReaderQEMU.cc</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/ReportsBase.cc.diff?r1=text&tr1=1.5&r2=text&tr2=1.6&diff_format=h">M</a></td><td width='1%'>1.6</td><td width='100%'>rtems-coverage/ReportsBase.cc</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/app_common.h.diff?r1=text&tr1=1.7&r2=text&tr2=1.8&diff_format=h">M</a></td><td width='1%'>1.8</td><td width='100%'>rtems-coverage/app_common.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/app_common.cc.diff?r1=text&tr1=1.3&r2=text&tr2=1.4&diff_format=h">M</a></td><td width='1%'>1.4</td><td width='100%'>rtems-coverage/app_common.cc</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/covoar.cc.diff?r1=text&tr1=1.16&r2=text&tr2=1.17&diff_format=h">M</a></td><td width='1%'>1.17</td><td width='100%'>rtems-coverage/covoar.cc</td></tr>
</table>
<pre>
<font color='#006600'>diff -u gcc-testing/rtems-coverage/ChangeLog:1.216 gcc-testing/rtems-coverage/ChangeLog:1.217
--- gcc-testing/rtems-coverage/ChangeLog:1.216 Tue May 11 13:17:33 2010
+++ gcc-testing/rtems-coverage/ChangeLog Tue May 11 14:44:52 2010
</font><font color='#997700'>@@ -1,5 +1,11 @@
</font> 2010-05-11 Joel Sherrill <joel.sherrilL@OARcorp.com>
<font color='#000088'>+ * CoverageReaderQEMU.cc, ReportsBase.cc, app_common.cc, app_common.h,
+ covoar.cc: Now properly know when a trace or coverage format includes
+ or does not include branch information.
+
+2010-05-11 Joel Sherrill <joel.sherrilL@OARcorp.com>
+
</font> * DesiredSymbols.cc: Remove range1.tmp and ranges2.tmp.
* ReportsBase.cc, app_common.cc, covoar.cc, do_coverage: Generate
files into user specified output directory.
<font color='#006600'>diff -u gcc-testing/rtems-coverage/CoverageReaderQEMU.cc:1.12 gcc-testing/rtems-coverage/CoverageReaderQEMU.cc:1.13
--- gcc-testing/rtems-coverage/CoverageReaderQEMU.cc:1.12 Fri May 7 13:53:58 2010
+++ gcc-testing/rtems-coverage/CoverageReaderQEMU.cc Tue May 11 14:44:52 2010
</font><font color='#997700'>@@ -13,6 +13,7 @@
</font> #include <stdlib.h>
#include <sys/stat.h>
<font color='#000088'>+#include "app_common.h"
</font> #include "CoverageReaderQEMU.h"
#include "CoverageMap.h"
#include "ExecutableInfo.h"
<font color='#997700'>@@ -35,6 +36,7 @@
</font>
CoverageReaderQEMU::CoverageReaderQEMU()
{
<font color='#000088'>+ BranchInfoAvailable = true;
</font> }
CoverageReaderQEMU::~CoverageReaderQEMU()
<font color='#006600'>diff -u gcc-testing/rtems-coverage/ReportsBase.cc:1.5 gcc-testing/rtems-coverage/ReportsBase.cc:1.6
--- gcc-testing/rtems-coverage/ReportsBase.cc:1.5 Tue May 11 13:17:33 2010
+++ gcc-testing/rtems-coverage/ReportsBase.cc Tue May 11 14:44:52 2010
</font><font color='#997700'>@@ -220,15 +220,16 @@
</font>
// Open the branch report file
report = OpenBranchFile( fileName );
<font color='#000088'>+
</font> if (!report)
return;
<font color='#880000'>- // If no branches were found, then branch coverage is not supported
- if (SymbolsToAnalyze->getNumberBranchesFound() == 0)
</font><font color='#000088'>+ // If no branches were found of branch coverage is not supported
+ if ((SymbolsToAnalyze->getNumberBranchesFound() == 0) ||<span style="background-color: #FF0000"> </span>
+ (BranchInfoAvailable == false) ) {
</font> PutNoBranchInfo(report);
<font color='#880000'>-
- // If branches were found, ...
- else {
</font><font color='#000088'>+ // If branches were found, ...
+ } else {
</font>
// Process uncovered branches for each symbol.
count = 0;
<font color='#006600'>diff -u gcc-testing/rtems-coverage/app_common.h:1.7 gcc-testing/rtems-coverage/app_common.h:1.8
--- gcc-testing/rtems-coverage/app_common.h:1.7 Mon May 10 14:31:11 2010
+++ gcc-testing/rtems-coverage/app_common.h Tue May 11 14:44:52 2010
</font><font color='#997700'>@@ -17,6 +17,7 @@
</font> extern Coverage::Toolnames* Tools;
extern bool Verbose;
extern const char* outputDirectory;
<font color='#000088'>+extern bool BranchInfoAvailable;
</font>
bool FileIsNewer( const char *f1, const char *f2 );<span style="background-color: #FF0000"> </span>
bool ReadUntilFound( FILE *file, const char *line );
<font color='#006600'>diff -u gcc-testing/rtems-coverage/app_common.cc:1.3 gcc-testing/rtems-coverage/app_common.cc:1.4
--- gcc-testing/rtems-coverage/app_common.cc:1.3 Tue May 11 13:17:33 2010
+++ gcc-testing/rtems-coverage/app_common.cc Tue May 11 14:44:52 2010
</font><font color='#997700'>@@ -17,12 +17,13 @@
</font> /*
* Global variables for the program
*/
<font color='#880000'>-Coverage::Explanations* AllExplanations = NULL;
-Coverage::ObjdumpProcessor* objdumpProcessor = NULL;
-Coverage::DesiredSymbols* SymbolsToAnalyze = NULL;
-Coverage::Toolnames* Tools = NULL;
-bool Verbose = false;
-const char* outputDirectory = ".";
</font><font color='#000088'>+Coverage::Explanations* AllExplanations = NULL;
+Coverage::ObjdumpProcessor* objdumpProcessor = NULL;
+Coverage::DesiredSymbols* SymbolsToAnalyze = NULL;
+Coverage::Toolnames* Tools = NULL;
+bool Verbose = false;
+const char* outputDirectory = ".";
+bool BranchInfoAvailable = false;
</font>
bool FileIsNewer( const char *f1, const char *f2 ) {
struct stat buf1, buf2;
<font color='#006600'>diff -u gcc-testing/rtems-coverage/covoar.cc:1.16 gcc-testing/rtems-coverage/covoar.cc:1.17
--- gcc-testing/rtems-coverage/covoar.cc:1.16 Tue May 11 13:17:33 2010
+++ gcc-testing/rtems-coverage/covoar.cc Tue May 11 14:44:52 2010
</font><font color='#997700'>@@ -421,9 +421,10 @@
</font> "Uncovered ranges found : %d\n",
SymbolsToAnalyze->getNumberUncoveredRanges()
);
<font color='#880000'>- if (SymbolsToAnalyze->getNumberBranchesFound() == 0)
- printf( "MAIN No branch information found\n" );
- else {
</font><font color='#000088'>+ if ((SymbolsToAnalyze->getNumberBranchesFound() == 0) ||<span style="background-color: #FF0000"> </span>
+ (BranchInfoAvailable == false) ) {
+ printf( "No branch information available\n" );
+ } else {
</font> printf(
"Total branches found : %d\n",
SymbolsToAnalyze->getNumberBranchesFound()
</pre>
<p> </p>
<a name='cs2'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
<font color='#bb2222'><strong>joel</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-05-11 Joel Sherrill <joel.sherrilL@OARcorp.com>
* CoverageReaderQEMU.cc, ObjdumpProcessor.cc, ObjdumpProcessor.h,
TargetBase.cc, TargetBase.h, TraceConverter.cc, TraceWriterQEMU.cc,
app_common.cc, app_common.h, covoar.cc, qemu-traces.h: Allow each
Qemu target architecture to define its own taken and not taken bits.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/ChangeLog.diff?r1=text&tr1=1.217&r2=text&tr2=1.218&diff_format=h">M</a></td><td width='1%'>1.218</td><td width='100%'>rtems-coverage/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/CoverageReaderQEMU.cc.diff?r1=text&tr1=1.13&r2=text&tr2=1.14&diff_format=h">M</a></td><td width='1%'>1.14</td><td width='100%'>rtems-coverage/CoverageReaderQEMU.cc</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/ObjdumpProcessor.h.diff?r1=text&tr1=1.9&r2=text&tr2=1.10&diff_format=h">M</a></td><td width='1%'>1.10</td><td width='100%'>rtems-coverage/ObjdumpProcessor.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/ObjdumpProcessor.cc.diff?r1=text&tr1=1.29&r2=text&tr2=1.30&diff_format=h">M</a></td><td width='1%'>1.30</td><td width='100%'>rtems-coverage/ObjdumpProcessor.cc</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/TargetBase.h.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>rtems-coverage/TargetBase.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/TargetBase.cc.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>rtems-coverage/TargetBase.cc</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/TraceConverter.cc.diff?r1=text&tr1=1.5&r2=text&tr2=1.6&diff_format=h">M</a></td><td width='1%'>1.6</td><td width='100%'>rtems-coverage/TraceConverter.cc</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/TraceWriterQEMU.cc.diff?r1=text&tr1=1.1&r2=text&tr2=1.2&diff_format=h">M</a></td><td width='1%'>1.2</td><td width='100%'>rtems-coverage/TraceWriterQEMU.cc</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/app_common.h.diff?r1=text&tr1=1.8&r2=text&tr2=1.9&diff_format=h">M</a></td><td width='1%'>1.9</td><td width='100%'>rtems-coverage/app_common.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/app_common.cc.diff?r1=text&tr1=1.4&r2=text&tr2=1.5&diff_format=h">M</a></td><td width='1%'>1.5</td><td width='100%'>rtems-coverage/app_common.cc</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/covoar.cc.diff?r1=text&tr1=1.17&r2=text&tr2=1.18&diff_format=h">M</a></td><td width='1%'>1.18</td><td width='100%'>rtems-coverage/covoar.cc</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/rtems-coverage/qemu-traces.h.diff?r1=text&tr1=1.2&r2=text&tr2=1.3&diff_format=h">M</a></td><td width='1%'>1.3</td><td width='100%'>rtems-coverage/qemu-traces.h</td></tr>
</table>
<pre>
<font color='#006600'>diff -u gcc-testing/rtems-coverage/ChangeLog:1.217 gcc-testing/rtems-coverage/ChangeLog:1.218
--- gcc-testing/rtems-coverage/ChangeLog:1.217 Tue May 11 14:44:52 2010
+++ gcc-testing/rtems-coverage/ChangeLog Tue May 11 15:09:19 2010
</font><font color='#997700'>@@ -1,5 +1,12 @@
</font> 2010-05-11 Joel Sherrill <joel.sherrilL@OARcorp.com>
<font color='#000088'>+ * CoverageReaderQEMU.cc, ObjdumpProcessor.cc, ObjdumpProcessor.h,
+ TargetBase.cc, TargetBase.h, TraceConverter.cc, TraceWriterQEMU.cc,
+ app_common.cc, app_common.h, covoar.cc, qemu-traces.h: Allow each
+ Qemu target architecture to define its own taken and not taken bits.
+
+2010-05-11 Joel Sherrill <joel.sherrilL@OARcorp.com>
+
</font> * CoverageReaderQEMU.cc, ReportsBase.cc, app_common.cc, app_common.h,
covoar.cc: Now properly know when a trace or coverage format includes
or does not include branch information.
<font color='#006600'>diff -u gcc-testing/rtems-coverage/CoverageReaderQEMU.cc:1.13 gcc-testing/rtems-coverage/CoverageReaderQEMU.cc:1.14
--- gcc-testing/rtems-coverage/CoverageReaderQEMU.cc:1.13 Tue May 11 14:44:52 2010
+++ gcc-testing/rtems-coverage/CoverageReaderQEMU.cc Tue May 11 15:09:19 2010
</font><font color='#997700'>@@ -18,9 +18,6 @@
</font> #include "CoverageMap.h"
#include "ExecutableInfo.h"
<font color='#880000'>-/* XXX really not always right */
-typedef uint32_t target_ulong;
-
</font> #include "qemu-traces.h"
/* hack so this can compile on the RH7 RTEMS 4.5 host */
<font color='#997700'>@@ -53,6 +50,13 @@
</font> struct STAT statbuf;
int status;
FILE* traceFile;
<font color='#000088'>+ uint8_t taken;
+ uint8_t notTaken;
+ uint8_t branchInfo;
+
+ taken = TargetInfo->qemuTakenBit();
+ notTaken = TargetInfo->qemuNotTakenBit();
+ branchInfo = taken | notTaken;
</font>
//
// Verify that the coverage file has a non-zero size.
<font color='#997700'>@@ -145,13 +149,13 @@
</font> }
// Determine if additional branch information is available.
<font color='#880000'>- if ( (entry->op & (TRACE_OP_TAKEN|TRACE_OP_NOT_TAKEN)) != 0 ) {
</font><font color='#000088'>+ if ( (entry->op & branchInfo) != 0 ) {
</font> unsigned int a = entry->pc + entry->size - 1;
while (!aCoverageMap->isStartOfInstruction(a))
a--;
<font color='#880000'>- if (entry->op & TRACE_OP_TAKEN) {
</font><font color='#000088'>+ if (entry->op & taken) {
</font> aCoverageMap->setWasTaken( a );
<font color='#880000'>- } else if (entry->op & TRACE_OP_NOT_TAKEN) {
</font><font color='#000088'>+ } else if (entry->op & notTaken) {
</font> aCoverageMap->setWasNotTaken( a );
}
}
<font color='#006600'>diff -u gcc-testing/rtems-coverage/ObjdumpProcessor.h:1.9 gcc-testing/rtems-coverage/ObjdumpProcessor.h:1.10
--- gcc-testing/rtems-coverage/ObjdumpProcessor.h:1.9 Fri May 7 13:53:58 2010
+++ gcc-testing/rtems-coverage/ObjdumpProcessor.h Tue May 11 15:09:19 2010
</font><font color='#997700'>@@ -134,7 +134,6 @@
</font> private:
objdumpFile_t objdumpList;
<font color='#880000'>- Target::TargetBase* target_m;
</font>
/*!
* This method determines whether the specified line is a
<font color='#006600'>diff -u gcc-testing/rtems-coverage/ObjdumpProcessor.cc:1.29 gcc-testing/rtems-coverage/ObjdumpProcessor.cc:1.30
--- gcc-testing/rtems-coverage/ObjdumpProcessor.cc:1.29 Fri May 7 13:53:58 2010
+++ gcc-testing/rtems-coverage/ObjdumpProcessor.cc Tue May 11 15:09:19 2010
</font><font color='#997700'>@@ -17,8 +17,8 @@
</font> #include <string.h>
#include <algorithm>
<font color='#880000'>-#include "ObjdumpProcessor.h"
</font> #include "app_common.h"
<font color='#000088'>+#include "ObjdumpProcessor.h"
</font> #include "CoverageMap.h"
#include "ExecutableInfo.h"
#include "SymbolTable.h"
<font color='#997700'>@@ -76,7 +76,6 @@
</font>
ObjdumpProcessor::ObjdumpProcessor()
{
<font color='#880000'>- target_m = Target::TargetFactory(Tools->getTarget());
</font> }
ObjdumpProcessor::~ObjdumpProcessor()
<font color='#997700'>@@ -87,26 +86,26 @@
</font> const char *instruction<span style="background-color: #FF0000"> </span>
)
{<span style="background-color: #FF0000"> </span>
<font color='#880000'>- if (!target_m) {
</font><font color='#000088'>+ if ( !TargetInfo ) {
</font> fprintf( stderr, "ERROR!!! unknown architecture!!!\n");
assert(0);
return false;
}
<font color='#880000'>- return target_m->isBranch( instruction );
</font><font color='#000088'>+ return TargetInfo->isBranch( instruction );
</font> }
bool ObjdumpProcessor::isBranchLine(
const char* const line
)
{
<font color='#880000'>- if (!target_m) {
</font><font color='#000088'>+ if ( !TargetInfo ) {
</font> fprintf( stderr, "ERROR!!! unknown architecture!!!\n");
assert(0);
return false;
}
<font color='#880000'>- return target_m->isBranchLine( line );
</font><font color='#000088'>+ return TargetInfo->isBranchLine( line );
</font> }
bool ObjdumpProcessor::isNop(
<font color='#997700'>@@ -115,14 +114,14 @@
</font> )
{
<font color='#880000'>- if (!target_m){
</font><font color='#000088'>+ if ( !TargetInfo ){
</font> fprintf( stderr, "ERROR!!! unknown architecture!!!\n");
fprintf( stderr, "HOW LARGE IS NOP ON THIS ARCHITECTURE? -- fix me\n" );
assert(0);
return false;
}
<font color='#880000'>- return target_m->isNopLine( line, size );
</font><font color='#000088'>+ return TargetInfo->isNopLine( line, size );
</font> }
FILE* ObjdumpProcessor::getFile(<span style="background-color: #FF0000"> </span>
<font color='#006600'>diff -u gcc-testing/rtems-coverage/TargetBase.h:1.2 gcc-testing/rtems-coverage/TargetBase.h:1.3
--- gcc-testing/rtems-coverage/TargetBase.h:1.2 Thu Apr 29 14:12:31 2010
+++ gcc-testing/rtems-coverage/TargetBase.h Tue May 11 15:09:19 2010
</font><font color='#997700'>@@ -13,15 +13,15 @@
</font>
#include <list>
#include <string>
<font color='#880000'>-
</font><font color='#000088'>+#include <stdint.h>
</font>
namespace Target {
/*! @class TargetBase
*
* This class is the base class for all Target classes. Each
<font color='#880000'>- * target class contains routines that are specific to the target in question.
- *
</font><font color='#000088'>+ * target class contains routines that are specific to the target
+ * in question.
</font> */
class TargetBase {
<font color='#997700'>@@ -74,6 +74,18 @@
</font> const char* const instruction
);
<font color='#000088'>+ /*!
+ * This method returns the bit set by Qemu in the trace record
+ * when a branch is taken.
+ */
+ virtual uint8_t qemuTakenBit(void);
+
+ /*!
+ * This method returns the bit set by Qemu in the trace record
+ * when a branch is taken.
+ */
+ virtual uint8_t qemuNotTakenBit(void);
+
</font> protected:
/*!
<font color='#006600'>diff -u gcc-testing/rtems-coverage/TargetBase.cc:1.4 gcc-testing/rtems-coverage/TargetBase.cc:1.5
--- gcc-testing/rtems-coverage/TargetBase.cc:1.4 Mon May 10 09:07:35 2010
+++ gcc-testing/rtems-coverage/TargetBase.cc Tue May 11 15:09:19 2010
</font><font color='#997700'>@@ -8,7 +8,10 @@
</font> * This file contains the implementation of the base class for<span style="background-color: #FF0000"> </span>
* functions supporting target unique functionallity.
*/
<font color='#000088'>+
</font> #include "TargetBase.h"
<font color='#000088'>+#include "qemu-traces.h"
+
</font> #include <algorithm>
#include <stdio.h>
<font color='#997700'>@@ -25,7 +28,6 @@
</font> {
}
<font color='#880000'>-
</font> bool TargetBase::isBranch(
const char* const instruction
)
<font color='#997700'>@@ -90,4 +92,15 @@
</font>
return isBranch( instruction );
}
<font color='#000088'>+
+ uint8_t TargetBase::qemuTakenBit(void)
+ {
+ return TRACE_OP_BR0;
+ }
+
+ uint8_t TargetBase::qemuNotTakenBit(void)
+ {
+ return TRACE_OP_BR1;
+ }
+
</font> }
<font color='#006600'>diff -u gcc-testing/rtems-coverage/TraceConverter.cc:1.5 gcc-testing/rtems-coverage/TraceConverter.cc:1.6
--- gcc-testing/rtems-coverage/TraceConverter.cc:1.5 Mon Apr 26 12:23:36 2010
+++ gcc-testing/rtems-coverage/TraceConverter.cc Tue May 11 15:09:19 2010
</font><font color='#997700'>@@ -22,6 +22,7 @@
</font> #include "ObjdumpProcessor.h"
#include "Toolnames.h"
#include "app_common.h"
<font color='#000088'>+#include "TargetFactory.h"
</font>
char *progname;
<font color='#997700'>@@ -82,6 +83,7 @@
</font>
// Create toolnames.
Tools = new Coverage::Toolnames( cpuname );
<font color='#000088'>+ TargetInfo = Target::TargetFactory( cpuname );
</font>
objdumpProcessor = new Coverage::ObjdumpProcessor();
<font color='#006600'>diff -u gcc-testing/rtems-coverage/TraceWriterQEMU.cc:1.1 gcc-testing/rtems-coverage/TraceWriterQEMU.cc:1.2
--- gcc-testing/rtems-coverage/TraceWriterQEMU.cc:1.1 Fri Apr 23 13:57:18 2010
+++ gcc-testing/rtems-coverage/TraceWriterQEMU.cc Tue May 11 15:09:19 2010
</font><font color='#997700'>@@ -51,6 +51,11 @@
</font> struct trace_header header;
int status;
FILE* traceFile;
<font color='#000088'>+ uint8_t taken;
+ uint8_t notTaken;
+
+ taken = TargetInfo->qemuTakenBit();
+ notTaken = TargetInfo->qemuNotTakenBit();
</font>
//
// Verify that the TraceList has a non-zero size.
<font color='#997700'>@@ -114,10 +119,10 @@
</font> entry.op = TRACE_OP_BLOCK;
switch (itr->exitReason) {
case TraceList::EXIT_REASON_BRANCH_TAKEN:
<font color='#880000'>- entry.op |= TRACE_OP_TAKEN;
</font><font color='#000088'>+ entry.op |= taken;
</font> break;
case TraceList::EXIT_REASON_BRANCH_NOT_TAKEN:
<font color='#880000'>- entry.op |= TRACE_OP_NOT_TAKEN;
</font><font color='#000088'>+ entry.op |= notTaken;
</font> break;
case TraceList::EXIT_REASON_OTHER:
break;
<font color='#997700'>@@ -127,7 +132,7 @@
</font> break;
}
<font color='#880000'>- if (Verbose )
</font><font color='#000088'>+ if ( Verbose )
</font> fprintf(stderr, "%x %x %x\n", entry.pc, entry.size, entry.op);
status = fwrite( &entry, sizeof(entry), 1, traceFile );
<font color='#006600'>diff -u gcc-testing/rtems-coverage/app_common.h:1.8 gcc-testing/rtems-coverage/app_common.h:1.9
--- gcc-testing/rtems-coverage/app_common.h:1.8 Tue May 11 14:44:52 2010
+++ gcc-testing/rtems-coverage/app_common.h Tue May 11 15:09:19 2010
</font><font color='#997700'>@@ -10,6 +10,7 @@
</font> #include "DesiredSymbols.h"
#include "Explanations.h"
#include "Toolnames.h"
<font color='#000088'>+#include "TargetBase.h"
</font>
extern Coverage::Explanations* AllExplanations;
extern Coverage::ObjdumpProcessor* objdumpProcessor;
<font color='#997700'>@@ -18,6 +19,7 @@
</font> extern bool Verbose;
extern const char* outputDirectory;
extern bool BranchInfoAvailable;
<font color='#000088'>+extern Target::TargetBase* TargetInfo;
</font>
bool FileIsNewer( const char *f1, const char *f2 );<span style="background-color: #FF0000"> </span>
bool ReadUntilFound( FILE *file, const char *line );
<font color='#006600'>diff -u gcc-testing/rtems-coverage/app_common.cc:1.4 gcc-testing/rtems-coverage/app_common.cc:1.5
--- gcc-testing/rtems-coverage/app_common.cc:1.4 Tue May 11 14:44:52 2010
+++ gcc-testing/rtems-coverage/app_common.cc Tue May 11 15:09:19 2010
</font><font color='#997700'>@@ -24,6 +24,7 @@
</font> bool Verbose = false;
const char* outputDirectory = ".";
bool BranchInfoAvailable = false;
<font color='#000088'>+Target::TargetBase* TargetInfo = NULL;
</font>
bool FileIsNewer( const char *f1, const char *f2 ) {
struct stat buf1, buf2;
<font color='#006600'>diff -u gcc-testing/rtems-coverage/covoar.cc:1.17 gcc-testing/rtems-coverage/covoar.cc:1.18
--- gcc-testing/rtems-coverage/covoar.cc:1.17 Tue May 11 14:44:52 2010
+++ gcc-testing/rtems-coverage/covoar.cc Tue May 11 15:09:19 2010
</font><font color='#997700'>@@ -24,6 +24,7 @@
</font> #include "Explanations.h"
#include "ObjdumpProcessor.h"
#include "ReportsBase.h"
<font color='#000088'>+#include "TargetFactory.h"
</font>
/*
* Variables to control general behavior
<font color='#997700'>@@ -271,7 +272,8 @@
</font> //
// Create toolnames based on target.
<font color='#880000'>- Tools = new Coverage::Toolnames( target );
</font><font color='#000088'>+ Tools = new Coverage::Toolnames( target );
+ TargetInfo = Target::TargetFactory( target );
</font>
// Create the set of desired symbols.
SymbolsToAnalyze = new Coverage::DesiredSymbols();
<font color='#006600'>diff -u gcc-testing/rtems-coverage/qemu-traces.h:1.2 gcc-testing/rtems-coverage/qemu-traces.h:1.3
--- gcc-testing/rtems-coverage/qemu-traces.h:1.2 Wed Jan 20 13:08:07 2010
+++ gcc-testing/rtems-coverage/qemu-traces.h Tue May 11 15:09:19 2010
</font><font color='#997700'>@@ -31,6 +31,10 @@
</font> #ifndef QEMU_TRACE_H
#define QEMU_TRACE_H
<font color='#000088'>+/* XXX really not always right */
+/* XXX Added for covoar so this compiles */
+typedef uint32_t target_ulong;
+
</font> /* File header definition. */
struct trace_header
{
<font color='#997700'>@@ -98,9 +102,6 @@
</font> #define TRACE_OP_BR2 0x04
#define TRACE_OP_BR3 0x08
<font color='#880000'>-#define TRACE_OP_TAKEN TRACE_OP_BR0 /* Branch not taken at pc. */
-#define TRACE_OP_NOT_TAKEN TRACE_OP_BR1 /* Branch taken at pc. */
-
</font> /*
* Decision map operations
*/
</pre>
<p> </p>
<p>--<br />
<small>Generated by <a href="http://www.codewiz.org/projects/index.html#loginfo">Deluxe Loginfo</a> 2.122 by Bernardo Innocenti <bernie@develer.com></small></p>
</body>
</html>