Commit Graph

28 Commits

Author SHA1 Message Date
Christopher Ferris a74ead0fd6 resolved conflicts for merge of 72f204de to master
Change-Id: I7345014d00c669aea5e27ea50b2ac658145b068b
2014-01-08 16:20:50 -08:00
Christopher Ferris 9846497f79 Refactor to share map_info amongst threads.
Allow the use of the same map info to be shared when getting information on
multiple threads from the same pid.

Change-Id: I2e460e20154a10f4894ae563331fb32179e4551f
2014-01-08 15:32:28 -08:00
Christopher Ferris ae998c7117 am 0298da56: am 492b0ca4: am 1e424d8e: am 0afaf7f4: Merge "Fix the ucontext for mips/x86."
* commit '0298da56f410ba0f6a1f1f44deb8e2224f9fc49d':
  Fix the ucontext for mips/x86.
2014-01-07 23:53:18 +00:00
Christopher Ferris ddc4f093f7 Fix the ucontext for mips/x86.
Remove the mips ucontext definition, there is no need for it any more.

Fix the mips/x86 ucontext copy code to copy the entire uc_mcontext data
across.

Fix a potential memory leak too.

Change-Id: I4272022da5281ed881e2d59a3e19e7f33c01aceb
2014-01-07 14:36:03 -08:00
Elliott Hughes d0dfd00270 am 3e30f6af: am 090928b1: am a345b253: am dfc48139: Merge "Switch ARM back to libcorkscrew temporarily."
* commit '3e30f6afa042f3bba4822dc5d1ef267ed4b9d722':
  Switch ARM back to libcorkscrew temporarily.
2014-01-02 23:39:38 +00:00
Elliott Hughes 3c67fe9039 Switch ARM back to libcorkscrew temporarily.
We're seeing major stack trace generation performance
regression and want to find out whether it's libunwind.

Bug: 12181612
Change-Id: I3866ea956859f5cbdfe4f1ee6f20a2b6d39962c4
2014-01-02 15:25:21 -08:00
Christopher Ferris 242b1a8c7a Move BACKTRACE_NO_TID to BACKTRACE_CURRENT_THREAD.
Use a bit better name for this. The other name was a bit confusing.

Change-Id: I1261f2ee3854a9c8b82133ad0bfbbbe48b43c9ac
2013-11-12 12:14:51 -08:00
Christopher Ferris e70f95f349 am 90e67bcd: am d36bfc30: am e6279294: Merge "Revert "Revert enabling libunwind.""
* commit '90e67bcdc383d552dc5325039c86b5bef5429b05':
  Revert "Revert enabling libunwind."
2013-11-07 21:30:34 -08:00
Christopher Ferris e6feaeeda1 Revert "Revert enabling libunwind."
This reverts commit db2309e3d1.

Change-Id: I1626442f029473066ce20921667a406f1a1ea865
2013-11-08 02:59:52 +00:00
Elliott Hughes d283d93489 am 8ddd08b1: am 4ae94541: am 62ea993a: Merge "Revert enabling libunwind."
* commit '8ddd08b1f24d361ace9cd78198664db4bf7e1325':
  Revert enabling libunwind.
2013-11-07 09:44:32 -08:00
Christopher Ferris 3c8b229f60 am c3920dee: am 11d04d04: am 351b0123: Merge "Enable libunwind on arm platforms."
* commit 'c3920dee104856025f9416670efd7f05d1acd3a0':
  Enable libunwind on arm platforms.
2013-11-07 09:01:24 -08:00
Christopher Ferris db2309e3d1 Revert enabling libunwind.
It appears that some branches might not have libunwind set up properly.

Change-Id: Ia72889e115bc2791c7a9e67563c5f4a62197cafd
2013-11-07 08:12:10 -08:00
Christopher Ferris 22f91cb3a1 Enable libunwind on arm platforms.
Bug: 8410085
Change-Id: I8a645ec0e04b38fc186bbc0f0cc597e31b05cc55
2013-11-06 15:40:23 -08:00
Christopher Ferris 62a70df064 am dee1842d: am adbb3352: am a2d1469c: Merge "Use new defines in test code."
* commit 'dee1842d2f6861dd4cb2d622992ec2c75f19ab3e':
  Use new defines in test code.
2013-11-05 14:22:25 -08:00
Christopher Ferris 0186edee58 am 2e47c8ac: am 1e1bae1b: am c2945850: Merge "Add some clarifying defines."
* commit '2e47c8ac74e070d62cfb46355c7c04797657c594':
  Add some clarifying defines.
2013-11-05 14:22:20 -08:00
Christopher Ferris d709ad3da0 am 4ddea7f4: am d5a7c371: am 408b3acf: Merge "Add corkscrew support for finding static symbols."
* commit '4ddea7f44c6362e7c34939302729e4508aa665c5':
  Add corkscrew support for finding static symbols.
2013-11-05 13:00:47 -08:00
Christopher Ferris 7f081ec079 Use new defines in test code.
In addition, fix up the warnings and remove the -fpermissive when
compiling.

Change-Id: Ia27b902499b34ff3d881acb9057120af390baf2c
2013-11-05 12:13:05 -08:00
Christopher Ferris cbfc7302fb Add some clarifying defines.
In order to be explicit in the Backtrace::Create() calls, adding a couple
of defines and some comments to describe what they mean.

Change-Id: I6ad08c529791821496a95fa33cea1c95b0a7eada
2013-11-05 11:05:32 -08:00
Christopher Ferris 923b536920 Add corkscrew support for finding static symbols.
Change-Id: Ie557a9b0efadece75e1accaa7e214fb559eb19e1
2013-11-04 14:50:36 -08:00
Christopher Ferris 74160cb775 am 6b7b6541: am b5c24e09: am 8c58086c: Merge "More libbacktrace fixes."
* commit '6b7b65417aead0189681c12d9162f31e8bc9b3e5':
  More libbacktrace fixes.
2013-10-30 14:33:32 -07:00
Christopher Ferris 8ed46278be More libbacktrace fixes.
Included in minor fix ups is the addition of a warning macro to replace
all of the ALOGW calls.

Fix a race where multiple threads could be attempting to unwind the threads
of the current process at the same time.

Bug: 8410085

Change-Id: I02a65dc778dde690e5f95fc8ff069a32d0832fd1
2013-10-30 14:14:54 -07:00
Christopher Ferris 6996f91809 resolved conflicts for merge of 0433d622 to master
Change-Id: I6799c3fe8900ddcb2e9fe3032793dbb0996cf177
2013-10-29 13:56:52 -07:00
Christopher Ferris 17e91d44ed Rewrite libbacktrace using C++.
The old code was essentially trying to be C++ in C and was awkward. This
change makes it all objects with a thin layer that C code can use.

There is a C++ backtrace object that is not very useful, this code will
replace it.

This change also includes moving the backtrace test to a gtest, and adding
coverage of all major functionality.

Bug: 8410085
Change-Id: Iae0f1b09b3dd60395f71ed66010c1ea5cdd37841
2013-10-28 17:55:25 -07:00
Christopher Ferris 4aef2e911e am 7bdb7b42: am 81890fd8: am 5daba1e0: Merge "Only build host library on linux-x86."
* commit '7bdb7b42224c6139c400eb47a5e9b660184aad54':
  Only build host library on linux-x86.
2013-10-02 14:34:43 -07:00
Christopher Ferris 9e1ee2b3c6 Only build host library on linux-x86.
Change-Id: I26d5bd4b34c3669897fea1488fa58972f4299757
2013-10-02 14:19:19 -07:00
Christopher Ferris 6d22960759 Move cutils/log.h to log/log.h.
The log.h file moved, so clean up these references to the old
location.

Change-Id: I25494ea069bfb20fa07a02e67868c8be82e60161
2013-10-01 23:46:23 -07:00
Christopher Ferris a16a4e10e1 Fix problems in libbacktrace.
- Add a wait for stop to backtrace_test. There is a possible race
  condition that is exposed when using libunwind.
- Fix a few calls to unwind function calls.

Bug: 8410085
Change-Id: I7487d687f6d4b7b05b8a96ad1c5f7183681e5c95
2013-10-01 18:08:03 -07:00
Christopher Ferris 7fb22878d4 Create a single backtrace library.
This library will be used to abstract away getting backtrace
data from how it is implemented. This is the first step to
replacing libcorkscrew with libunwind.

Bug: 8410085
Change-Id: Ie8f159e96a055d378e1ddc72d40239fba4cf52b7
2013-09-28 12:26:35 -07:00