[Mesa-dev] [PATCH v2 0/2] Android backtrace support

Stefan Schake stschake at gmail.com
Sun Apr 15 22:45:15 UTC 2018


v2 clarifies the Android special-case in u_debug_stack and collects tags.
I have no commit rights, so if it is otherwise satisfactory, I'd ask that
someone push the series. Thanks!

This series adds Android backtrace support, which is a prerequisite for
using the refcount debugging tool in gallium. It also comes in handy
for impromptu debug outputs.

Unfortunately, it wasn't possible to reuse the existing libunwind
implementation. The only sanctioned way for obtaining backtraces on
Android is through their own, C++ only libbacktrace.

Example output from Oreo:

#00 pc 0028c14b  /system/vendor/lib/dri/gallium_dri.so
#01 pc 0003cbaf  /system/vendor/lib/dri/gallium_dri.so
#02 pc 00042eb3  /system/vendor/lib/dri/gallium_dri.so
#03 pc 000022f1  /system/vendor/lib/libgbm.so
#04 pc 0000148b  /system/vendor/lib/hw/gralloc.gbm.so (gralloc_gbm_bo_lock+322)
#05 pc 000015e5  /system/vendor/lib/hw/gralloc.gbm.so
#06 pc 0000551f  /system/vendor/lib/hw/android.hardware.graphics.mapper at 2.0-impl.so (android::hardware::graphics::mapper::V2_0::implementation::Gralloc0Mapper::lockBuffer(native_handle const*, unsigned long long, android::hardware::graphics::mapper::V2_0::IMapper::Rect const&, int, void**)+122)
#07 pc 00004c61  /system/vendor/lib/hw/android.hardware.graphics.mapper at 2.0-impl.so (android::hardware::graphics::mapper::V2_0::implementation::GrallocMapper::lock(void*, unsigned long long, android::hardware::graphics::mapper::V2_0::IMapper::Rect const&, android::hardware::hidl_handle const&, std::__1::function<void (android::hardware::graphics::mapper::V2_0::Error, void*)>)+84)
#08 pc 00013dfd  /system/lib/android.hardware.graphics.mapper at 2.0.so
#09 pc 000107cf  /system/lib/libui.so (android::Gralloc2::Mapper::lock(native_handle const*, unsigned long long, android::hardware::graphics::mapper::V2_0::IMapper::Rect const&, int, void**) const+110)

Stefan Schake (2):
  gallium/util: Don't stub u_debug_stack on Android
  gallium/util: Android backtrace support

 src/gallium/auxiliary/Android.mk                   |   3 +-
 src/gallium/auxiliary/util/u_debug_stack.c         |   3 +-
 .../auxiliary/util/u_debug_stack_android.cpp       | 111 +++++++++++++++++++++
 src/gallium/targets/dri/Android.mk                 |   1 +
 4 files changed, 116 insertions(+), 2 deletions(-)
 create mode 100644 src/gallium/auxiliary/util/u_debug_stack_android.cpp

-- 
2.7.4



More information about the mesa-dev mailing list