History log of /external/libunwind/include/map_info.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f360ccc06f3f086f41cf6ba4036b52571ed2a54f 11-Sep-2014 Christopher Ferris <cferris@google.com> Do not try to read/write device memory.

Device memory might have certain alignment constraints that the unwind
code violates. Since we shouldn't be reading this memory, treat this
type of memory as not readable and not writable.

Bug: 17037053
Change-Id: I8e07aabcf9c0d146f11e2e1d388fcb3a0024f98f
/external/libunwind/include/map_info.h
bb754471703e806d83d0e6670955dc1d399690b3 10-Apr-2014 Christopher Ferris <cferris@google.com> Use map cache for finding image names.

This change removes the function find_binary_for_address and replaces it
with a call to check the cached map data instead. This is an error path
that hardly ever gets exercised though.

Also fix a couple of warnings in Gfind_proc_info-lsb.c.

Change-Id: Idb501d6674cacfc693fc35608d322ec78f48a4d6
/external/libunwind/include/map_info.h
914a66ffa00715159179aeab640889604c4f87a0 05-Apr-2014 Christopher Ferris <cferris@google.com> Fix typo in prototype.

Bug: 13816562
Change-Id: Iff1005e6f2b8b13506fc4096a78e3dce3b5847c0
/external/libunwind/include/map_info.h
f4a8df5f4f338f1a12c25213227e98b34b42447f 08-Mar-2014 Christopher Ferris <cferris@google.com> Fix maps caching for local processes.

It is possible for the map to change while running libunwind. For example,
if lots of threads are doing local unwinds at the same time. Allow the
cached map to regenerate when it detects this case.

Included in this change is a refactor of all of the os code so that it can
also be used to do caching. This is a prelude to being able to attempt to
push the code upstream.

Also, this moves the code back closer to the original upstream code.
Hopefully, this will allow me to upstream all of these changes.

Change-Id: Ia219fa61e16e36416133bc95b1dd2161bd5b8ff7
/external/libunwind/include/map_info.h
b8627d92164f67864e806afb9f461f2db161f13c 20-Feb-2014 Christopher Ferris <cferris@google.com> Fix a potential race.

When adding the mmap image data to the shared map structure, make
sure to lock before adding the information.

Change-Id: I4ea8d73f8ac2e3d423619388550b1bed40be46ab
/external/libunwind/include/map_info.h
0996405de25a3aab5045d20803c8f0a5441d0c57 01-Feb-2014 Christopher Ferris <cferris@google.com> Fix memory corruption bug.

There are two problems, some of the init code needs the map created before
the init function since it does a verify check during init. The second
problem is that the local addr space seems to change for reasons I don't
understand, so it's necessary to init the map list when doing a unw_cursor
init.

Bug: 12852152

Change-Id: I32246d7c5adf7e24192868cb32a8c2fdc53c12f0
/external/libunwind/include/map_info.h
16b95a68caaa7e021209e2cd6a877ae1e558f740 23-Jan-2014 Christopher Ferris <cferris@google.com> Add speed-ups to libunwind.

Add caching of /proc/self/maps data structures.

Add caching of elf image maps attached to the maps data structure.

Add a set of new map api functions to handle creation/destruction of the
maps by external code.

Remove the creation of the maps data structure in the local address space
init.

Change-Id: I0adae397d433fc3902f83a6f377f6889161937e5
/external/libunwind/include/map_info.h
7d46a21e0a2cb561e4cad57b101a7137e01023dc 14-Nov-2013 Christopher Ferris <cferris@google.com> For current process, check memory accesses.

When attempting to unwind the current process, the library simple reads and
writes to memory for memory accesses. Unfortunately, if an unwind winds up
with invalid data, then the process can segfault. Add a guard to all memory
accesses that verifies that reads/writes are valid before attempting them.

For now, this guard is a nop on all systems except linux systems.

Also, modify the adjust_ip function to use the access_mem function
so that all reads go through the right function.

Bug: 11652982
Change-Id: I9d1feacae585374f6bf1d899f8a006ec9ecb47c4
/external/libunwind/include/map_info.h