summaryrefslogtreecommitdiffstats
path: root/linkers/rld-rap.cpp
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2012-12-24 17:18:23 +1100
committerChris Johns <chrisj@rtems.org>2012-12-24 17:18:23 +1100
commit800d4fd7484cd23bb7e0d19ac5225a54ba9cd492 (patch)
tree8ad679c9a714e091d78583eead0d296ed8ff0179 /linkers/rld-rap.cpp
parentTrace the reloc addend. (diff)
downloadrtems-tools-800d4fd7484cd23bb7e0d19ac5225a54ba9cd492.tar.bz2
Add the symsect offset to the section reloc.
Diffstat (limited to 'linkers/rld-rap.cpp')
-rw-r--r--linkers/rld-rap.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/linkers/rld-rap.cpp b/linkers/rld-rap.cpp
index 4ff0002..d85595f 100644
--- a/linkers/rld-rap.cpp
+++ b/linkers/rld-rap.cpp
@@ -1131,7 +1131,9 @@ namespace rld
*/
info |= rap_symsect << 8;
- addend += obj.secs[rap_symsect].osecs[reloc.symsect] + reloc.symvalue;
+ addend += (obj.secs[rap_symsect].offset +
+ obj.secs[rap_symsect].osecs[reloc.symsect] +
+ reloc.symvalue);
write_addend = true;
@@ -1140,6 +1142,7 @@ namespace rld
<< '/' << std::setw (2) << rc
<<": rsym: sect=" << section_names[rap_symsect]
<< " rap_symsect=" << rap_symsect
+ << " sec.offset=" << obj.secs[rap_symsect].offset
<< " sec.osecs=" << obj.secs[rap_symsect].osecs[reloc.symsect]
<< " (" << obj.obj.get_section (reloc.symsect).name << ')'
<< " reloc.symsect=" << reloc.symsect