diff options
| author | Roland McGrath <[email protected]> | 2007-04-16 23:13:37 +0000 |
|---|---|---|
| committer | Roland McGrath <[email protected]> | 2007-04-16 23:13:37 +0000 |
| commit | 43da9895c6d828ceae65a47f2337e8ef24eb97c1 (patch) | |
| tree | 4454878335a5a6f65083a04824b3968702bfcf6b /libdwfl/libdwfl.h | |
| parent | bf2ee480165faec726d678f189acd2bd54e07573 (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.h | 9 |
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 ***/ |
