| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
The libc++ version of libbacktrace on the host was still linking against
libstdc++, and this was causing problems in art.
Change-Id: I1d14fb9e18abd074affcf46c8044407041970669
|
|/
|
|
|
|
|
| |
These headers are needed for pid_t and free when using libc++ headers (POSIX
does not require that the symbols be exposed with the previous includes).
Change-Id: Ia51a4fdfdbae7377130a43c401c2d8d241671d1e
|
|
|
|
| |
Change-Id: I1d78f4e6c1d8086c2895f6739c3202e9ef74fee2
|
|
|
|
| |
Change-Id: Ic8a58a6cf55221ec361bbb80c7c9636fe1349943
|
|
|
|
| |
Change-Id: I4a1ce30e7c2166ac1846cc90de0252beee542ee6
|
|
|
|
| |
Change-Id: I29014f6c6b82e0a9797e5d76147b3c4e3d82a7f5
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This new version doesn't require any specialized thread
implementation, it uses the Current implementation to do its job.
In addition, it runs much faster when multiple threads are trying
to unwind at the same time since the global signal lock is held for
only a small amount of time. Even running through the threads one at
a time should be faster since it no longer requires two passes through
the unwound stacks.
The new code now allows multiple simultaneous unwinds of the
same thread.
Finally, add the ability to unwind from a ucontext_t passed in. This
functionality doesn't work for remote unwinds yet.
Change-Id: I4d181d7ca5ffd2acfd1686e668e6d21e36b425cb
|
|/
|
|
| |
Change-Id: I42aeb7668183e7a06207ee063f6eee4d37d66c6e
|
|
|
|
|
|
|
| |
This guarantees that any application is not also using this signal
for some other purpose.
Change-Id: I7c9bbb0ec8bb4e13322ecda951bcd43c6bf6ee1a
|
|
|
|
|
|
|
| |
A few flags were duplicates of flags already passed when using the TEST
targets.
Change-Id: I8f0d09915f5b830050fe25635a0852e8536e3aca
|
|
|
|
|
|
| |
All unwinding is now done through libunwind.
Change-Id: I93ba6f5bd5ad41eeb5f6a93113b7894f842cc8e0
|
|
|
|
| |
Change-Id: I8893246fcd541d97b02a1a4cac81c53c6cd2e394
|
|
|
|
|
|
| |
The stack-protector option is handled by the global makefiles.
Change-Id: I99c4a1624e72ad91ac10eef27c0e3758fe9af8ba
|
|
|
|
|
|
| |
(cherry picked from commit 9007677fcbcd7cf01725e155920a8abfcb323c56)
Change-Id: Ic0163f43308c6a281ab3757d90933e5127843fed
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The way libunwind handles local unwinds is different from remote unwinds,
so create a new map object to handle the differences.
Add new test to verify the map data is being generated correctly.
Add new tests to check for leaks.
Refactor the BACK_LOGW code into a single header file.
Change-Id: I01f3cbfc4b927646174ea1b614fa25d23b9b3427
|
|
|
|
| |
Change-Id: Ib1d7bea0cb7ac09a9e15c7f429ecfd944649fc87
|
|
|
|
|
|
| |
Fix errors exposed by adding checking to disabled ALOGVs.
Change-Id: I36b77bb0ad8dc7661b0f834f20d1179b86134d57
|
|
|
|
|
| |
Bug: 12852152
Change-Id: I8a0c558bc218805b0e06371af0af055e4aa6e0bb
|
|
|
|
|
|
|
| |
With this change allow the creation of host backtrace libraries using
libunwind.
Change-Id: Ie48bb36cf0d2eccf94cb8ff516d829d8032f11f2
|
|
|
|
|
| |
Change-Id: I2e432839f86c33c2adbaac8cc12ca8961956044b
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
|
|
|
|
|
| |
Change-Id: I098787f57801f68d0419732d5fd475c7e916c92c
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
|
|
|
|
| |
Change-Id: I9eff7486b9fe89eac57b5555649b871bc6f1cc77
|
|
|
|
| |
Change-Id: I5c65ea196bb9a197a74899ceb53543f289f6d494
|
|
|
|
| |
Change-Id: I933cbb680ca6310c13634f09a9827077c8dbd568
|
|
|
|
|
|
|
|
|
|
| |
Update to handle the new optimized way that libunwind works.
In addition, a small refactor of the BacktraceMap code.
A few new tests of for good measure.
Change-Id: I2f9b4f5ad5a0dfe907b31febee76e4b9b94fb76f
|
|
|
|
| |
Change-Id: Ica021aa134388fe7069a5de5df8036ecf0d570f8
|
|
|
|
|
|
|
| |
Rename aarch64 build targets to arm64. The gcc toolchain is still
aarch64.
Change-Id: Ia92d8a50824e5329cf00fd6f4f92eae112b7f3a3
|
|
|
|
| |
Change-Id: I1364255bfed7788a35531962508bad804b8d5b7f
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This includes removing the map_info.c source and replacing it with the
BacktraceMap class to handle all map related code.
Change all callers of libbacktrace map functionality.
Also modify the corkscrew thread code so that it doesn't need to build
the map twice (once in the corkscrew format and once in the libbacktrace
format).
Change-Id: I32865a39f83a3dd6f958fc03c2759ba47d12382e
|
|
|
|
|
|
| |
aarch64 doesn't support -fstack-protector yet.
Change-Id: Id1e589742ba074f59d3390d059248c9b371aff58
|
|
|
|
|
|
|
| |
This allows the libbacktrace library to compile for host on mac.
Bug: 12474939
Change-Id: I32cbcf996e6fe9057e5065ba21f89086343704a0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the libbacktrace C++ interface instead of the C interface in debuggerd.
Reformat the debuggerd code to be closer to Google C++ style.
Fix all debuggerd casts to be C++ casts.
Add a frame number to the frame data structure for ease of formatting and
add another FormatFrameData function.
Change the format_test to use the new FormatFrameData function.
Modify all of the backtrace_test to use the C++ interface.
Change-Id: I10e1610861acf7f4a3ad53276b74971cfbfda464
|
|
|
|
|
|
|
|
|
|
|
| |
Use a bit better name for this. The other name was a bit confusing.
Change-Id: I1261f2ee3854a9c8b82133ad0bfbbbe48b43c9ac
(cherry picked from commit 242b1a8c7a5ec73172bac811e51acbc27201f22c)
Conflicts:
libbacktrace/Backtrace.cpp
|
|
|
|
|
|
|
| |
Allow the use of the same map info to be shared when getting information on
multiple threads from the same pid.
Change-Id: I2e460e20154a10f4894ae563331fb32179e4551f
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
We're seeing major stack trace generation performance
regression and want to find out whether it's libunwind.
Bug: 12181612
Change-Id: I3866ea956859f5cbdfe4f1ee6f20a2b6d39962c4
|
|
|
|
|
|
| |
This reverts commit db2309e3d104e47088135a7f1bb89ac853657838.
Change-Id: I1626442f029473066ce20921667a406f1a1ea865
|
|
|
|
|
|
| |
It appears that some branches might not have libunwind set up properly.
Change-Id: Ia72889e115bc2791c7a9e67563c5f4a62197cafd
|
|
|
|
|
| |
Bug: 8410085
Change-Id: I8a645ec0e04b38fc186bbc0f0cc597e31b05cc55
|
|
|
|
|
|
|
| |
In addition, fix up the warnings and remove the -fpermissive when
compiling.
Change-Id: Ia27b902499b34ff3d881acb9057120af390baf2c
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Ie557a9b0efadece75e1accaa7e214fb559eb19e1
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: I26d5bd4b34c3669897fea1488fa58972f4299757
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
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
|