aboutsummaryrefslogtreecommitdiffstats
path: root/docs/ANDROID-ELFF.TXT
diff options
context:
space:
mode:
Diffstat (limited to 'docs/ANDROID-ELFF.TXT')
-rw-r--r--docs/ANDROID-ELFF.TXT23
1 files changed, 23 insertions, 0 deletions
diff --git a/docs/ANDROID-ELFF.TXT b/docs/ANDROID-ELFF.TXT
new file mode 100644
index 0000000..afb3015
--- /dev/null
+++ b/docs/ANDROID-ELFF.TXT
@@ -0,0 +1,23 @@
+ANDROID ELFF LIBRARY
+
+The docs/ANDROID-ELFF.TXT document contains notes about the ELFF library used
+by the emulator to extract debugging information from symbol files of the
+emulated system.
+
+The ELFF library has been introduced to provide the emulator's memory checker
+subsystem with information about routine name, source file name and location
+when a memory access violation detected at runtime. This requires parsing symbol
+files corresponding to the libraries of the emulated system, in order to extract
+relevant information from them.
+
+Due to lack of windows support on available open source projects, this is a
+full new implementation of an ELF/DWARF parser.
+
+The library exposes a simple API that at this point allows:
+- Extract information about routine, containing given PC address in the emulated
+ system. Routine information, collected by the library includes:
+ * Routine name
+ * Source file name and line corresponded to the given emulated PC.
+ * If routine happens to be inlined, library traces inclusion up to the first
+ routine that is not inlined, providing names and source file location
+ information for all inlined routines in that chain.