summaryrefslogtreecommitdiff
path: root/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
commit0123e92cdeb732ae20c3a69047c7d05877cb0318 (patch)
tree573dd44c86120ef16148da4d4e2d344b8a1b549b /rld-rap.cpp
parentf9d3927dc00e3597ebcf71a26384483a9d87b43d (diff)
Add the symsect offset to the section reloc.
Diffstat (limited to 'rld-rap.cpp')
-rw-r--r--rld-rap.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/rld-rap.cpp b/rld-rap.cpp
index 4ff0002..d85595f 100644
--- a/rld-rap.cpp
+++ b/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