Commit graph

9 commits

Author SHA1 Message Date
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
7f3c8f9c5b Remove hack for mingw compiler.
The __BEGIN_DECLS/__END_DECLS macro is now defined for mingw.

Change-Id: Icd09b92a83e982ac0ed3eb34df4c1d79de21941e
2013-11-08 16:26:59 -08:00
Narayan Kamath
ab9189893d Fix mingw windows host build.
__BEGIN_DECLS isn't defined on this platform and
it appears to be missing sys/cdefs.h

Change-Id: I13cc557700198590cf717e3007dee738043ac3bf
2013-11-08 15:59:46 +00:00
Christopher Ferris
0893258222 Fix include files in backtrace.h.
Change-Id: Iaaa98b12bbf231ea43ee12f5a3f5ba0a3e4a15d6
2013-11-06 17:19:53 -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
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
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
474afff229 Update comment from review.
Missed this typo that enh pointed out.

Bug: 8410085
Change-Id: Ic636ae218fc153bc5e3b1a0fdc2f7161980e5eec
2013-09-30 11:16:17 -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