Hash :
f62405c5
        
        Author :
  
        
        Date :
2022-10-31T18:47:52
        
      
Add utilities to get the Android backtrace
* Added getBacktraceInfo(), which returns the backtrace information
  from the ANGLE code, including the addresses and the symbols if
  possible
  * Returns the data in an instance of the new class BacktraceInfo.
  * In order to access this function, backtrace_utils.h has been
    included in vk_utils.h
* New GN flag to make use of this feature:
  * angle_enable_unwind_backtrace_support
    * Current only available on Android (debug mode)
  * If the flag is disabled, getBacktraceInfo() returns an empty
    object.
* Added functions in util/ (per platform) to print the BacktraceInfo
  data.
  * Example of usage:
      angle::printBacktraceInfo(angle::getBacktraceInfo());
* Minor edit: Moved cstdint from android_util.cpp to its header.
Bug: b/258475923
Change-Id: I6115462a1a2845d40c7cafc14ce52df09ecdcf34
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3995843
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
      
//
// Copyright 2022 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// backtrace_utils_noop.cpp:
//   Implements the placeholder functions related to the backtrace info class for non-Android
//   platforms or when the backtrace feature is disabled.
//
#include "backtrace_utils.h"
namespace angle
{
void BacktraceInfo::populateBacktraceInfo(void **stackAddressBuffer, size_t stackAddressCount) {}
BacktraceInfo getBacktraceInfo()
{
    return {};
}
// The following function has been defined in each platform separately.
// - void printBacktraceInfo(BacktraceInfo backtraceInfo);
}  // namespace angle