<!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-18)</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-18 Joel Sherrill <joel.sherrill@oarcorp.com>
* ObjdumpProcessor.cc: Now read dlinfo from file.
</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.262&r2=text&tr2=1.263&diff_format=h">M</a></td><td width='1%'>1.263</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/ObjdumpProcessor.cc.diff?r1=text&tr1=1.35&r2=text&tr2=1.36&diff_format=h">M</a></td><td width='1%'>1.36</td><td width='100%'>rtems-coverage/ObjdumpProcessor.cc</td></tr>
</table>
<pre>
<font color='#006600'>diff -u gcc-testing/rtems-coverage/ChangeLog:1.262 gcc-testing/rtems-coverage/ChangeLog:1.263
--- gcc-testing/rtems-coverage/ChangeLog:1.262 Tue May 18 09:44:01 2010
+++ gcc-testing/rtems-coverage/ChangeLog Tue May 18 10:30:36 2010
</font><font color='#997700'>@@ -1,3 +1,7 @@
</font><font color='#000088'>+2010-05-18 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * ObjdumpProcessor.cc: Now read dlinfo from file.
+
</font> 2010-05-18 Glenn Humphrey
* TraceConverter.cc: Removed initialization of the dynamicLibrary
<font color='#006600'>diff -u gcc-testing/rtems-coverage/ObjdumpProcessor.cc:1.35 gcc-testing/rtems-coverage/ObjdumpProcessor.cc:1.36
--- gcc-testing/rtems-coverage/ObjdumpProcessor.cc:1.35 Tue May 18 09:21:13 2010
+++ gcc-testing/rtems-coverage/ObjdumpProcessor.cc Tue May 18 10:30:37 2010
</font><font color='#997700'>@@ -16,6 +16,7 @@
</font> #include <stdlib.h>
#include <string.h>
#include <algorithm>
<font color='#000088'>+#include <string>
</font>
#include "app_common.h"
#include "ObjdumpProcessor.h"
<font color='#997700'>@@ -129,21 +130,24 @@
</font> ExecutableInfo* theExecutable
)
{
<font color='#880000'>-#if 0
</font><font color='#000088'>+ #define METHOD "ERROR: ObjdumpProcessor::determineLoadAddress - "
+ FILE* loadAddressFile = NULL;
</font> char buffer[ 512 ];
char* cStatus;
<font color='#000088'>+ uint32_t offset;
+
+ // This method should only be call for a dynamic library.
+ if (!theExecutable->hasDynamicLibrary())
+ return 0;
+
+#if 0
</font> static FILE* gdbCommands = NULL;
int items;
uint32_t loadAddress;
<font color='#880000'>- FILE* loadAddressFile = NULL;
</font> FILE* objdumpFile = NULL;
<font color='#880000'>- uint32_t offset;
</font> int status;
char terminator;
<font color='#880000'>- // This method should only be call for a dynamic library.
- if (!theExecutable->hasDynamicLibrary())
- return 0;
</font>
//
// Invoke gdb to determine the physical load address
<font color='#997700'>@@ -253,7 +257,48 @@
</font>
return (loadAddress - offset);
# endif
<font color='#880000'>- return 0x42084000;
</font><font color='#000088'>+#if 1
+ std::string dlinfoName = theExecutable->getFileName();
+ uint32_t address;
+ char inLibName[128];
+ std::string Library = theExecutable->getLibraryName();
+
+ dlinfoName += ".dlinfo";
+ // Read load address.
+ loadAddressFile = fopen( dlinfoName.c_str(), "r" );
+ if (!loadAddressFile) {
+ fprintf( stderr, METHOD "unable to open %s\n", dlinfoName.c_str() );
+ exit( -1 );
+ }
+
+ // Process the dlinfo file.
+ while ( 1 ) {
+
+ // Get a line.
+ cStatus = fgets( buffer, 512, loadAddressFile );
+ if (cStatus == NULL) {
+ fprintf(
+ stderr,
+ METHOD "library %s not found in %s\n",
+ Library.c_str(),
+ dlinfoName.c_str()
+ );
+ fclose( loadAddressFile );
+ exit( -1 );
+ }
+ sscanf( buffer, "%s %x", inLibName, &offset );
+ std::string tmp = inLibName;
+ if ( tmp.find( Library ) != tmp.npos ) {
+ // fprintf( stderr, "%s - 0x%08x\n", inLibName, offset );
+ address = offset;<span style="background-color: #FF0000"> </span>
+ break;
+ }
+ }
+
+ fclose( loadAddressFile );
+ return address;
+#endif
+ #undef METHOD
</font> }
bool ObjdumpProcessor::IsBranch(
</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>