<!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-25)</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>jennifer</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-05-25 Jennifer Averett <Jennifer.Averett@OARcorp.com>
* DesiredSymbols.cc, Explanations.cc, ObjdumpProcessor.cc,
TraceReaderLogQEMU.cc, app_common.cc, app_common.h: Added a
inputBuffer to app_common and modified all fgets calls to use this
buffer. This will allow for a size increase if necessary.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/covoar/ChangeLog.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%'>covoar/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/covoar/DesiredSymbols.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%'>covoar/DesiredSymbols.cc</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/covoar/Explanations.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%'>covoar/Explanations.cc</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/covoar/ObjdumpProcessor.cc.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%'>covoar/ObjdumpProcessor.cc</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/covoar/TraceReaderLogQEMU.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%'>covoar/TraceReaderLogQEMU.cc</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/covoar/app_common.h.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%'>covoar/app_common.h</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//gcc-testing/covoar/app_common.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%'>covoar/app_common.cc</td></tr>
</table>
<pre>
<font color='#006600'>diff -u gcc-testing/covoar/ChangeLog:1.5 gcc-testing/covoar/ChangeLog:1.6
--- gcc-testing/covoar/ChangeLog:1.5 Tue May 25 13:16:47 2010
+++ gcc-testing/covoar/ChangeLog Tue May 25 14:14:48 2010
</font><font color='#997700'>@@ -1,3 +1,10 @@
</font><font color='#000088'>+2010-05-25 Jennifer Averett <Jennifer.Averett@OARcorp.com>
+
+ * DesiredSymbols.cc, Explanations.cc, ObjdumpProcessor.cc,
+ TraceReaderLogQEMU.cc, app_common.cc, app_common.h: Added a
+ inputBuffer to app_common and modified all fgets calls to use this
+ buffer. This will allow for a size increase if necessary.
+
</font> 2010-05-25 Jennifer.Averett <Jennifer.Averett@OARcorp.com>
* ObjdumpProcessor.cc, TargetBase.cc, TargetBase.h: Removed nm and
<font color='#006600'>diff -u gcc-testing/covoar/DesiredSymbols.cc:1.1 gcc-testing/covoar/DesiredSymbols.cc:1.2
--- gcc-testing/covoar/DesiredSymbols.cc:1.1 Mon May 24 15:07:08 2010
+++ gcc-testing/covoar/DesiredSymbols.cc Tue May 25 14:14:48 2010
</font><font color='#997700'>@@ -34,8 +34,6 @@
</font> const char* const symbolsFile
)
{
<font color='#880000'>- #define MAX_LINE_LENGTH 512
- char buffer[MAX_LINE_LENGTH];
</font> char* cStatus;
bool done = false;
FILE* sFile;
<font color='#997700'>@@ -70,36 +68,35 @@
</font>
// Skip blank lines between symbols
do {<span style="background-color: #FF0000"> </span>
<font color='#880000'>- buffer[0] = '\0';
- cStatus = fgets( buffer, MAX_LINE_LENGTH, sFile );
</font><font color='#000088'>+ inputBuffer[0] = '\0';
+ cStatus = fgets( inputBuffer, MAX_LINE_LENGTH, sFile );
</font> if ( cStatus == NULL ) {
done = true;
}
else {
<font color='#880000'>- buffer[ strlen(buffer) - 1] = '\0';
</font><font color='#000088'>+ inputBuffer[ strlen(inputBuffer) - 1] = '\0';
</font> line++;
}
<font color='#880000'>- } while ( !done && (buffer[0] == '\0') );
</font><font color='#000088'>+ } while ( !done && (inputBuffer[0] == '\0') );
</font>
// Have we already seen this one?
if ( !done ) {
<font color='#880000'>- if (set.find( buffer ) != set.end()) {
</font><font color='#000088'>+ if (set.find( inputBuffer ) != set.end()) {
</font> fprintf(
stderr,
"File: %s, Line %d: Duplicate symbol: %s\n",
symbolsFile,
line,
<font color='#880000'>- buffer
</font><font color='#000088'>+ inputBuffer
</font> );
}
// Add this to the set of symbols.
else {
<font color='#880000'>- set[ buffer ] = *symInfo;
</font><font color='#000088'>+ set[ inputBuffer ] = *symInfo;
</font> }
}
}
<font color='#880000'>- #undef MAX_LINE_LENGTH
</font> }
void DesiredSymbols::preprocess( void )
<font color='#997700'>@@ -380,7 +377,6 @@
</font> )
{
char* base;
<font color='#880000'>- char buffer[512];
</font> char* cStatus;
char command[512];
std::string fileName;
<font color='#997700'>@@ -455,7 +451,7 @@
</font> ritr != theRanges->set.end();
ritr++ ) {
<font color='#880000'>- cStatus = fgets( buffer, 512, tmpfile );
</font><font color='#000088'>+ cStatus = fgets( inputBuffer, MAX_LINE_LENGTH, tmpfile );
</font> if ( cStatus == NULL ) {
fprintf(
stderr,
<font color='#997700'>@@ -464,15 +460,15 @@
</font> );
exit( -1 );
}
<font color='#880000'>- buffer[ strlen(buffer) - 1] = '\0';
</font><font color='#000088'>+ inputBuffer[ strlen(inputBuffer) - 1] = '\0';
</font>
// Use only the base filename without directory path.
<font color='#880000'>- realpath( buffer, rpath );
</font><font color='#000088'>+ realpath( inputBuffer, rpath );
</font> base = basename( rpath );
ritr->lowSourceLine = std::string( base );
<font color='#880000'>- cStatus = fgets( buffer, 512, tmpfile );
</font><font color='#000088'>+ cStatus = fgets( inputBuffer, MAX_LINE_LENGTH, tmpfile );
</font> if ( cStatus == NULL ) {
fprintf(
stderr,
<font color='#997700'>@@ -481,10 +477,10 @@
</font> );
exit( -1 );
}
<font color='#880000'>- buffer[ strlen(buffer) - 1] = '\0';
</font><font color='#000088'>+ inputBuffer[ strlen(inputBuffer) - 1] = '\0';
</font>
// Use only the base filename without directory path.
<font color='#880000'>- realpath( buffer, rpath );
</font><font color='#000088'>+ realpath( inputBuffer, rpath );
</font> base = basename( rpath );
ritr->highSourceLine = std::string( base );
<font color='#006600'>diff -u gcc-testing/covoar/Explanations.cc:1.1 gcc-testing/covoar/Explanations.cc:1.2
--- gcc-testing/covoar/Explanations.cc:1.1 Mon May 24 15:07:08 2010
+++ gcc-testing/covoar/Explanations.cc Tue May 25 14:14:48 2010
</font><font color='#997700'>@@ -15,6 +15,7 @@
</font> #include <unistd.h>
#include "Explanations.h"
<font color='#000088'>+#include "app_common.h"
</font>
namespace Coverage {
<font color='#997700'>@@ -32,7 +33,6 @@
</font> {
#define MAX_LINE_LENGTH 512
FILE *explain;
<font color='#880000'>- char buffer[MAX_LINE_LENGTH];
</font> char *cStatus;
Explanation *e;
int line = 1;
<font color='#997700'>@@ -55,33 +55,33 @@
</font> // Read the starting line of this explanation and
// skip blank lines between
do {
<font color='#880000'>- buffer[0] = '\0';
- cStatus = fgets( buffer, MAX_LINE_LENGTH, explain );
</font><font color='#000088'>+ inputBuffer[0] = '\0';
+ cStatus = fgets( inputBuffer, MAX_LINE_LENGTH, explain );
</font> if (cStatus == NULL) {
goto done;
}
<font color='#880000'>- buffer[ strlen(buffer) - 1] = '\0';
</font><font color='#000088'>+ inputBuffer[ strlen(inputBuffer) - 1] = '\0';
</font> line++;
<font color='#880000'>- } while ( buffer[0] == '\0' );
</font><font color='#000088'>+ } while ( inputBuffer[0] == '\0' );
</font>
// Have we already seen this one?
<font color='#880000'>- if (set.find( buffer ) != set.end()) {
</font><font color='#000088'>+ if (set.find( inputBuffer ) != set.end()) {
</font> fprintf(
stderr,
"ERROR: Explanations::load - line %d "
"contains a duplicate explanation (%s)\n",
line,
<font color='#880000'>- buffer
</font><font color='#000088'>+ inputBuffer
</font> );
exit( -1 );
}
// Add the starting line and file
<font color='#880000'>- e->startingPoint = std::string(buffer);
</font><font color='#000088'>+ e->startingPoint = std::string(inputBuffer);
</font> e->found = false;
// Get the classification<span style="background-color: #FF0000"> </span>
<font color='#880000'>- cStatus = fgets( buffer, MAX_LINE_LENGTH, explain );
</font><font color='#000088'>+ cStatus = fgets( inputBuffer, MAX_LINE_LENGTH, explain );
</font> if (cStatus == NULL) {
fprintf(
stderr,
<font color='#997700'>@@ -91,14 +91,14 @@
</font> );
exit( -1 );
}
<font color='#880000'>- buffer[ strlen(buffer) - 1] = '\0';
- e->classification = buffer;
</font><font color='#000088'>+ inputBuffer[ strlen(inputBuffer) - 1] = '\0';
+ e->classification = inputBuffer;
</font> line++;
// Get the explanation<span style="background-color: #FF0000"> </span>
while (1) {
<font color='#880000'>- cStatus = fgets( buffer, MAX_LINE_LENGTH, explain );
- // fprintf( stderr, "%d - %s\n", line, buffer );
</font><font color='#000088'>+ cStatus = fgets( inputBuffer, MAX_LINE_LENGTH, explain );
+ // fprintf( stderr, "%d - %s\n", line, inputBuffer );
</font> if (cStatus == NULL) {
fprintf(
stderr,
<font color='#997700'>@@ -108,15 +108,15 @@
</font> );
exit( -1 );
}
<font color='#880000'>- buffer[ strlen(buffer) - 1] = '\0';
</font><font color='#000088'>+ inputBuffer[ strlen(inputBuffer) - 1] = '\0';
</font> line++;
const char delimiter[4] = "+++";
<font color='#880000'>- if (!strncmp( buffer, delimiter, 3 )) {
</font><font color='#000088'>+ if (!strncmp( inputBuffer, delimiter, 3 )) {
</font> break;
}
// XXX only taking last line. Needs to be a vector
<font color='#880000'>- e->explanation.push_back( buffer );
</font><font color='#000088'>+ e->explanation.push_back( inputBuffer );
</font> }
// Add this to the set of Explanations
<font color='#006600'>diff -u gcc-testing/covoar/ObjdumpProcessor.cc:1.2 gcc-testing/covoar/ObjdumpProcessor.cc:1.3
--- gcc-testing/covoar/ObjdumpProcessor.cc:1.2 Tue May 25 13:16:47 2010
+++ gcc-testing/covoar/ObjdumpProcessor.cc Tue May 25 14:14:48 2010
</font><font color='#997700'>@@ -132,7 +132,6 @@
</font> {
#define METHOD "ERROR: ObjdumpProcessor::determineLoadAddress - "
FILE* loadAddressFile = NULL;
<font color='#880000'>- char buffer[ 512 ];
</font> char* cStatus;
uint32_t offset;
<font color='#997700'>@@ -140,124 +139,6 @@
</font> if (!theExecutable->hasDynamicLibrary())
return 0;
<font color='#880000'>-#if 0
- static FILE* gdbCommands = NULL;
- int items;
- uint32_t loadAddress;
- FILE* objdumpFile = NULL;
- int status;
- char terminator;
-
-
- //
- // Invoke gdb to determine the physical load address
- // of the .text section.
- //
-
- // Create a gdb input commands file.
- if (!gdbCommands) {
-
- gdbCommands = fopen( "gdbCommands", "w" );
- if (!gdbCommands) {
- fprintf(
- stderr,
- "ERROR: ObjdumpProcessor::determineLoadAddress - "
- "unable to create gdbCommands\n"
- );
- exit( -1 );
- }
-
- fprintf(
- gdbCommands,
- "set pagination off\n"
- "b main\n"
- "r\n"
- "info sharedlibrary\n"
- "quit\n"
- );
-
- fclose( gdbCommands );
- }
-
- // Invoke gdb.
- sprintf(
- buffer,
- "gdb -x gdbCommands %s | grep %s | cut -d ' ' -f1 > %s",
- (theExecutable->getFileName()).c_str(),
- (theExecutable->getLibraryName()).c_str(),
- "library_addr.tmp"
- );
-
- status = system( buffer );
- if (status) {
- fprintf(
- stderr,
- "ERROR: ObjdumpProcessor::determineLoadAddress - "
- "command (%s) failed with %d\n",
- buffer,
- status
- );
- exit( -1 );
- }
-
- // Read load address.
- loadAddressFile = fopen( "library_addr.tmp", "r" );
- if (!loadAddressFile) {
- fprintf(
- stderr,
- "ERROR: ObjdumpProcessor::determineLoadAddress - "
- "unable to open library_addr.tmp\n"
- );
- exit( -1 );
- }
-
- cStatus = fgets( buffer, 512, loadAddressFile );
- items = sscanf(
- buffer, "%x", &loadAddress
- );
-
- fclose( loadAddressFile );
- unlink( "library_addr.tmp" );
-
- //
- // Partially process an objdump of the library to determine the first
- // symbol's offset from the physical load address of the library.
- //
-
- // Obtain the objdump file.
- objdumpFile = getFile( theExecutable->getLibraryName() );
-
- // Process the objdump file.
- while ( 1 ) {
-
- // Get a line.
- cStatus = fgets( buffer, 512, objdumpFile );
- if (cStatus == NULL) {
- fprintf(
- stderr,
- "ERROR: ObjdumpProcessor::determineLoadAddress - "
- "no symbol found in objdump file\n"
- );
- exit( -1 );
- }
-
- // Look for the start of a symbol's objdump and extract
- // address and symbol (i.e. address <symbolname>:).
- items = sscanf(
- buffer,
- "%x <%*[^>]>%c",
- &offset, &terminator
- );
-
- // If all items found, we have found the first symbol's objdump.
- if ((items == 2) && (terminator == ':')) {
- break;
- }
- }
-
- return (loadAddress - offset);
-# endif
-#if 1
</font> std::string dlinfoName = theExecutable->getFileName();
uint32_t address;
char inLibName[128];
<font color='#997700'>@@ -275,7 +156,7 @@
</font> while ( 1 ) {
// Get a line.
<font color='#880000'>- cStatus = fgets( buffer, 512, loadAddressFile );
</font><font color='#000088'>+ cStatus = fgets( inputBuffer, MAX_LINE_LENGTH, loadAddressFile );
</font> if (cStatus == NULL) {
fprintf(
stderr,
<font color='#997700'>@@ -286,7 +167,7 @@
</font> fclose( loadAddressFile );
exit( -1 );
}
<font color='#880000'>- sscanf( buffer, "%s %x", inLibName, &offset );
</font><font color='#000088'>+ sscanf( inputBuffer, "%s %x", inLibName, &offset );
</font> std::string tmp = inLibName;
if ( tmp.find( Library ) != tmp.npos ) {
// fprintf( stderr, "%s - 0x%08x\n", inLibName, offset );
<font color='#997700'>@@ -297,7 +178,7 @@
</font>
fclose( loadAddressFile );
return address;
<font color='#880000'>-#endif
</font><font color='#000088'>+
</font> #undef METHOD
}
<font color='#997700'>@@ -417,7 +298,6 @@
</font> ExecutableInfo* const executableInformation
)
{
<font color='#880000'>- char buffer[ 512 ];
</font> char* cStatus;
int items;
FILE* objdumpFile;
<font color='#997700'>@@ -434,15 +314,15 @@
</font> while ( 1 ) {
// Get the line.
<font color='#880000'>- cStatus = fgets( buffer, 512, objdumpFile );
</font><font color='#000088'>+ cStatus = fgets( inputBuffer, MAX_LINE_LENGTH, objdumpFile );
</font> if (cStatus == NULL) {
break;
}
<font color='#880000'>- buffer[ strlen(buffer) - 1] = '\0';
</font><font color='#000088'>+ inputBuffer[ strlen(inputBuffer) - 1] = '\0';
</font>
// See if it is the dump of an instruction.
items = sscanf(
<font color='#880000'>- buffer,
</font><font color='#000088'>+ inputBuffer,
</font> "%x%c",
&offset, &terminator
);
<font color='#997700'>@@ -460,7 +340,6 @@
</font> ExecutableInfo* const executableInformation
)
{
<font color='#880000'>- char buffer[ 512 ];
</font> char* cStatus;
std::string currentSymbol = "";
uint32_t endAddress;
<font color='#997700'>@@ -486,7 +365,7 @@
</font> while ( 1 ) {
// Get the line.
<font color='#880000'>- cStatus = fgets( buffer, 512, objdumpFile );
</font><font color='#000088'>+ cStatus = fgets( inputBuffer, MAX_LINE_LENGTH, objdumpFile );
</font> if (cStatus == NULL) {
// If we are currently processing a symbol, finalize it.
<font color='#997700'>@@ -511,9 +390,9 @@
</font> break;
}
<font color='#880000'>- buffer[ strlen(buffer) - 1] = '\0';
</font><font color='#000088'>+ inputBuffer[ strlen(inputBuffer) - 1] = '\0';
</font>
<font color='#880000'>- lineInfo.line = buffer;
</font><font color='#000088'>+ lineInfo.line = inputBuffer;
</font> lineInfo.address = 0xffffffff;
lineInfo.isInstruction = false;
lineInfo.isNop = false;
<font color='#997700'>@@ -523,7 +402,7 @@
</font> // Look for the start of a symbol's objdump and extract
// offset and symbol (i.e. offset <symbolname>:).
items = sscanf(
<font color='#880000'>- buffer,
</font><font color='#000088'>+ inputBuffer,
</font> "%x <%[^>]>%c",
&offset, symbol, &terminator1
);
<font color='#997700'>@@ -563,7 +442,7 @@
</font>
// See if it is the dump of an instruction.
items = sscanf(
<font color='#880000'>- buffer,
</font><font color='#000088'>+ inputBuffer,
</font> "%x%c\t%*[^\t]%c",
&instructionOffset, &terminator1, &terminator2
);
<font color='#997700'>@@ -575,8 +454,8 @@
</font> lineInfo.address =
executableInformation->getLoadAddress() + instructionOffset;
lineInfo.isInstruction = true;
<font color='#880000'>- lineInfo.isNop = isNop( buffer, lineInfo.nopSize );
- lineInfo.isBranch = isBranchLine( buffer );
</font><font color='#000088'>+ lineInfo.isNop = isNop( inputBuffer, lineInfo.nopSize );
+ lineInfo.isBranch = isBranchLine( inputBuffer );
</font> }
// Always save the line.
<font color='#006600'>diff -u gcc-testing/covoar/TraceReaderLogQEMU.cc:1.1 gcc-testing/covoar/TraceReaderLogQEMU.cc:1.2
--- gcc-testing/covoar/TraceReaderLogQEMU.cc:1.1 Mon May 24 15:07:08 2010
+++ gcc-testing/covoar/TraceReaderLogQEMU.cc Tue May 25 14:14:48 2010
</font><font color='#997700'>@@ -59,7 +59,6 @@
</font> int status;
FILE* logFile;
int result;
<font color='#880000'>- char buffer[120];
</font>
//
// Verify that the log file has a non-zero size.
<font color='#997700'>@@ -105,9 +104,9 @@
</font> //
// Read First Start Address
//
<font color='#880000'>- fgets(buffer, 120, logFile );
</font><font color='#000088'>+ fgets(inputBuffer, MAX_LINE_LENGTH, logFile );
</font> result = sscanf(<span style="background-color: #FF0000"> </span>
<font color='#880000'>- buffer,<span style="background-color: #FF0000"> </span>
</font><font color='#000088'>+ inputBuffer,<span style="background-color: #FF0000"> </span>
</font> "0x%08lx: %s %s\n",<span style="background-color: #FF0000"> </span>
&first.address,<span style="background-color: #FF0000"> </span>
first.instruction,<span style="background-color: #FF0000"> </span>
<font color='#997700'>@@ -125,9 +124,9 @@
</font>
// Read until we get to the last instruction in the block.
do {
<font color='#880000'>- fgets(buffer, 120, logFile );
</font><font color='#000088'>+ fgets(inputBuffer, MAX_LINE_LENGTH, logFile );
</font> result = sscanf(<span style="background-color: #FF0000"> </span>
<font color='#880000'>- buffer,<span style="background-color: #FF0000"> </span>
</font><font color='#000088'>+ inputBuffer,<span style="background-color: #FF0000"> </span>
</font> "0x%08lx: %s %s\n",<span style="background-color: #FF0000"> </span>
&last.address,<span style="background-color: #FF0000"> </span>
last.instruction,<span style="background-color: #FF0000"> </span>
<font color='#997700'>@@ -141,9 +140,9 @@
</font> done = true;
nextExecuted = last;
} else {
<font color='#880000'>- fgets(buffer, 120, logFile );
</font><font color='#000088'>+ fgets(inputBuffer, MAX_LINE_LENGTH, logFile );
</font> result = sscanf(<span style="background-color: #FF0000"> </span>
<font color='#880000'>- buffer,<span style="background-color: #FF0000"> </span>
</font><font color='#000088'>+ inputBuffer,<span style="background-color: #FF0000"> </span>
</font> "0x%08lx: %s %s\n",<span style="background-color: #FF0000"> </span>
&nextExecuted.address,<span style="background-color: #FF0000"> </span>
nextExecuted.instruction,<span style="background-color: #FF0000"> </span>
<font color='#006600'>diff -u gcc-testing/covoar/app_common.h:1.1 gcc-testing/covoar/app_common.h:1.2
--- gcc-testing/covoar/app_common.h:1.1 Mon May 24 15:07:08 2010
+++ gcc-testing/covoar/app_common.h Tue May 25 14:14:48 2010
</font><font color='#997700'>@@ -21,6 +21,9 @@
</font> extern const char* dynamicLibrary;
extern const char* projectName;
<font color='#000088'>+#define MAX_LINE_LENGTH 512
+extern char inputBuffer[MAX_LINE_LENGTH];
+
</font>
bool FileIsNewer( const char *f1, const char *f2 );<span style="background-color: #FF0000"> </span>
bool FileIsReadable( const char *f1 );<span style="background-color: #FF0000"> </span>
<font color='#006600'>diff -u gcc-testing/covoar/app_common.cc:1.1 gcc-testing/covoar/app_common.cc:1.2
--- gcc-testing/covoar/app_common.cc:1.1 Mon May 24 15:07:08 2010
+++ gcc-testing/covoar/app_common.cc Tue May 25 14:14:48 2010
</font><font color='#997700'>@@ -34,6 +34,7 @@
</font> Target::TargetBase* TargetInfo = NULL;
const char* dynamicLibrary = NULL;
const char* projectName = NULL;
<font color='#000088'>+char inputBuffer[MAX_LINE_LENGTH];
</font>
bool FileIsNewer(
</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>