diff options
author | Dave Brolley <brolley@redhat.com> | 2009-06-22 11:37:08 -0400 |
---|---|---|
committer | Dave Brolley <brolley@redhat.com> | 2009-06-22 11:37:08 -0400 |
commit | d6454850dd3c9d74b700924b56378c4c9ab9fa57 (patch) | |
tree | 6665a24339ca689b1156ea7e93d4f93811c3f794 /dwflpp.cxx | |
parent | d729143af5242b17645d3f405141918940680894 (diff) | |
parent | 4116c576d5654287b0af598aee4a14eb2af73224 (diff) | |
download | systemtap-steved-d6454850dd3c9d74b700924b56378c4c9ab9fa57.tar.gz systemtap-steved-d6454850dd3c9d74b700924b56378c4c9ab9fa57.tar.xz systemtap-steved-d6454850dd3c9d74b700924b56378c4c9ab9fa57.zip |
Merge branch 'master' of git://sources.redhat.com/git/systemtap
Diffstat (limited to 'dwflpp.cxx')
-rw-r--r-- | dwflpp.cxx | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -2341,11 +2341,13 @@ dwflpp::get_blacklist_section(Dwarf_Addr addr) Dwarf_Addr -dwflpp::relocate_address(Dwarf_Addr addr, +dwflpp::relocate_address(Dwarf_Addr dw_addr, string& reloc_section, string& blacklist_section) { - Dwarf_Addr reloc_addr = addr; + // PR10273 + // libdw address, so adjust for bias gotten from dwfl_module_getdwarf + Dwarf_Addr reloc_addr = dw_addr + module_bias; if (!module) { assert(module_name == TOK_KERNEL); @@ -2364,14 +2366,13 @@ dwflpp::relocate_address(Dwarf_Addr addr, if (reloc_section == "" && dwfl_module_relocations (module) == 1) { - blacklist_section = get_blacklist_section(addr); + blacklist_section = get_blacklist_section(dw_addr); reloc_section = ".dynamic"; - reloc_addr += module_bias; // PR10273 } } else { - blacklist_section = get_blacklist_section(addr); + blacklist_section = get_blacklist_section(dw_addr); reloc_section = ".absolute"; } return reloc_addr; |