Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreutarass2011-04-18 15:33:39 +0000
committereutarass2011-04-18 15:33:39 +0000
commit227f9a6ae87285d905a754844874dbd9b3c2cd84 (patch)
tree08c2a6d4f13e1ef560d04145f5822c8733421d09 /services/tcf_elf.h
parente02ed10cecd0e72191b3be6ed00154ea4f29b0af (diff)
downloadorg.eclipse.tcf.agent-227f9a6ae87285d905a754844874dbd9b3c2cd84.tar.gz
org.eclipse.tcf.agent-227f9a6ae87285d905a754844874dbd9b3c2cd84.tar.xz
org.eclipse.tcf.agent-227f9a6ae87285d905a754844874dbd9b3c2cd84.zip
TCF Agent: ELF symbols reader: added a function for reverse address mapping - from run-time address to link-time address.
Diffstat (limited to 'services/tcf_elf.h')
-rw-r--r--services/tcf_elf.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/services/tcf_elf.h b/services/tcf_elf.h
index 55c61019..e47e77c7 100644
--- a/services/tcf_elf.h
+++ b/services/tcf_elf.h
@@ -504,6 +504,12 @@ extern void elf_add_close_listener(ELFCloseListener listener);
extern ContextAddress elf_map_to_run_time_address(Context * ctx, ELF_File * file, ELF_Section * section, ContextAddress addr);
/*
+ * Map run-time address in a context to link time address in an ELF file.
+ * Return 0 if the address is not currently mapped.
+ */
+extern ContextAddress elf_map_to_link_time_address(Context * ctx, ContextAddress addr, ELF_File ** file, ELF_Section ** sec);
+
+/*
* Read a word from context memory. Word size and endianess are determened by ELF file.
*/
extern int elf_read_memory_word(Context * ctx, ELF_File * file, ContextAddress addr, ContextAddress * word);
@@ -516,7 +522,7 @@ extern int elf_read_memory_word(Context * ctx, ELF_File * file, ContextAddress a
extern ContextAddress elf_get_debug_structure_address(Context * ctx, ELF_File ** file);
/*
- * Search and return first compilation unit address range in given run-time address range 'addr_min'..'addr_max'.
+ * Search and return first compilation unit address range in given run-time address range 'addr_min'..'addr_max' (inclusive).
* If 'range_rt_addr' not NULL, *range_rt_addr is assigned run-time address of the range.
*/
extern struct UnitAddressRange * elf_find_unit(Context * ctx, ContextAddress addr_min, ContextAddress addr_max, ContextAddress * range_rt_addr);

Back to the top