ae38b20031a02d3f6f56a8315c1f097ae5293c56 |
|
04-May-2015 |
Christopher Ferris <cferris@google.com> |
Implement method to read elf data from memory. I rewrote the entirety of elfxx.h/elfxx.c to support this. For the rewrite, I modified the way that the symbol tables are searched. The searched every single entry in the symbol table, and all symbol tables. The new method finds the first entry that actually has a name and stops. I also added some quick checks to make sure that a malformed elf would not cause a crash when reading the symbol names from the symbol tables. I had to implement the functionality of dwarf_find_unwind_table to handle reading from memory, instead of from a file. I didn't implement debug frame support since that likelihood of that appearing in memory seems low. I also modified the dwarf_find_unwind_table to remove an abort and just fail if that particular path is encountered. In addition, I added a quick check to make sure that a malformed dynamic section doesn't cause a crash. Bug: 19517541 Change-Id: I6075d87035dca41fa5e5dfcbe287a680a7671836
/external/libunwind/src/ptrace/_UPT_get_proc_name.c
|
e6b9f350f78ecd9ef3b8a3e721f9435c94fc2562 |
|
22-Aug-2007 |
David Mosberger-Tang <davidm@panda.mostang.com> |
Introduce a tdep_get_func_addr_hook() in the ELF lookup_symbol() routine and add address-space argument. This is needed because on PPC64, a the function-name symbol refers to a function descriptor (unlike, for example, on ia64, where the @fptr() operator is needed to refer to a function descriptor). Thus, in order to look up the name of a function, we need to dereference the function descriptor. To make matters more "interesting", the function descriptors are normally resolved by the dynamic linker, so we can't get their values from the ELF file. Instead, we have to read them from the running image, hence the need for the address-space argument.
/external/libunwind/src/ptrace/_UPT_get_proc_name.c
|
247ee6d4b074f0e175cc5345b9dd7270b1822fe8 |
|
30-Jan-2004 |
hp.com!davidm <hp.com!davidm> |
Rename: src/_UPT_get_proc_name.c -> src/ptrace/_UPT_get_proc_name.c (Logical change 1.162)
/external/libunwind/src/ptrace/_UPT_get_proc_name.c
|
b88369b8314dc8e8fe617184b07527fb34b66f22 |
|
30-Jan-2004 |
hp.com!davidm <hp.com!davidm> |
Initial revision
/external/libunwind/src/ptrace/_UPT_get_proc_name.c
|