summaryrefslogtreecommitdiff
path: root/bfd/libbfd-in.h
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2015-03-05 12:14:26 +0000
committerNick Clifton <nickc@redhat.com>2015-03-05 12:14:26 +0000
commit425bd9e1bb32b25881dd20d76678d041f7bf04f8 (patch)
treee503906efb4cab1957e3a053fda5d5b8c854bb13 /bfd/libbfd-in.h
parentf5771b1d96f844e0767a15b258b2de2d4cc52123 (diff)
Allows the binutils to cope with PE binaries where the section addresses have been changed, but the DWARF debug info has not been altered.
PR binutils/18025 * coffgen.c (coff_find_nearest_line_with_names): If the dwarf2 lookup fails, check for an address bias in the dwarf info, and if one exists, retry the lookup with the biased value. * dwarf2.c (_bfd_dwarf2_find_symbol_bias): New function. Determines if a bias exists bewteen the addresses of functions based on DWARF information vs symbol table information. * libbfd-in.h (_bfd_dwarf2_find_symbol_bias): Prototype. * libbfd.h: Regenerate.
Diffstat (limited to 'bfd/libbfd-in.h')
-rw-r--r--bfd/libbfd-in.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/bfd/libbfd-in.h b/bfd/libbfd-in.h
index 7c661e3479..06fa652e67 100644
--- a/bfd/libbfd-in.h
+++ b/bfd/libbfd-in.h
@@ -551,6 +551,10 @@ extern bfd_boolean _bfd_dwarf2_find_nearest_line
const char **, const char **, unsigned int *, unsigned int *,
const struct dwarf_debug_section *, unsigned int, void **);
+/* Find the bias between DWARF addresses and real addresses. */
+extern bfd_signed_vma _bfd_dwarf2_find_symbol_bias
+ (asymbol **, void **);
+
/* Find inliner info after calling bfd_find_nearest_line. */
extern bfd_boolean _bfd_dwarf2_find_inliner_info
(bfd *, const char **, const char **, unsigned int *, void **);