summaryrefslogtreecommitdiffstats
path: root/libdwfl/libdwfl.h
diff options
context:
space:
mode:
authorRoland McGrath <[email protected]>2007-04-16 23:13:37 +0000
committerRoland McGrath <[email protected]>2007-04-16 23:13:37 +0000
commit43da9895c6d828ceae65a47f2337e8ef24eb97c1 (patch)
tree4454878335a5a6f65083a04824b3968702bfcf6b /libdwfl/libdwfl.h
parentbf2ee480165faec726d678f189acd2bd54e07573 (diff)
libdw/
2007-04-16 Roland McGrath <[email protected]> * libdw.map (ELFUTILS_0.127): Add dwfl_module_address_section. libdwfl/ 2007-04-16 Roland McGrath <[email protected]> * derelocate.c (cache_sections): Apply bias to sh_addr. (compare_secrefs): Fix address comparison to avoid signed overflow. (find_section): New function, broken out of ... (dwfl_module_relocate_address): ... here, call it. (check_module): New function, broken out of ... (dwfl_module_relocate_address): ... here, call it. (dwfl_module_address_section): New function. * libdwfl.h: Declare it. tests/ 2007-04-16 Roland McGrath <[email protected]> * dwfl-addr-sect.c: New file. * Makefile.am (noinst_PROGRAMS): Add it. (dwfl_addr_sect_LDADD): New variable.
Diffstat (limited to 'libdwfl/libdwfl.h')
-rw-r--r--libdwfl/libdwfl.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/libdwfl/libdwfl.h b/libdwfl/libdwfl.h
index c36f9206..ee1b5054 100644
--- a/libdwfl/libdwfl.h
+++ b/libdwfl/libdwfl.h
@@ -346,6 +346,15 @@ extern const char *dwfl_module_addrsym (Dwfl_Module *mod, GElf_Addr address,
GElf_Sym *sym, GElf_Word *shndxp)
__nonnull_attribute__ (3);
+/* Find the ELF section that *ADDRESS lies inside and return it.
+ On success, adjusts *ADDRESS to be relative to the section,
+ and sets *BIAS to the difference between addresses used in
+ the returned section's headers and run-time addresses. */
+extern Elf_Scn *dwfl_module_address_section (Dwfl_Module *mod,
+ Dwarf_Addr *address,
+ Dwarf_Addr *bias)
+ __nonnull_attribute__ (2, 3);
+
/*** Dwarf access functions ***/