Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 040c5965 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 4434599 from 4b7f0fdc to pi-release

Change-Id: I376109de1655517703f459346c164f063da9e14c
parents 65a0328c 4b7f0fdc
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -488,6 +488,27 @@ TEST(DemangleTest, BooleanLiterals) {
            demangler.Parse("_ZN3oneE3twoI5threeI4fourELb0ELb1EE"));
}

TEST(DemangleTest, non_virtual_thunk) {
  Demangler demangler;

  ASSERT_EQ("non-virtual thunk to one", demangler.Parse("_ZThn0_N3oneE"));
  ASSERT_EQ("non-virtual thunk to two", demangler.Parse("_ZThn0_3two"));
  ASSERT_EQ("non-virtual thunk to three", demangler.Parse("_ZTh0_5three"));
  ASSERT_EQ("non-virtual thunk to four", demangler.Parse("_ZTh_4four"));
  ASSERT_EQ("non-virtual thunk to five", demangler.Parse("_ZTh0123456789_4five"));
  ASSERT_EQ("non-virtual thunk to six", demangler.Parse("_ZThn0123456789_3six"));

  ASSERT_EQ("_ZThn0N3oneE", demangler.Parse("_ZThn0N3oneE"));
  ASSERT_EQ("_ZThn03two", demangler.Parse("_ZThn03two"));
  ASSERT_EQ("_ZTh05three", demangler.Parse("_ZTh05three"));
  ASSERT_EQ("_ZTh4four", demangler.Parse("_ZTh4four"));
  ASSERT_EQ("_ZTh01234567894five", demangler.Parse("_ZTh01234567894five"));
  ASSERT_EQ("_ZThn01234567893six", demangler.Parse("_ZThn01234567893six"));
  ASSERT_EQ("_ZT_N3oneE", demangler.Parse("_ZT_N3oneE"));
  ASSERT_EQ("_ZT0_N3oneE", demangler.Parse("_ZT0_N3oneE"));
  ASSERT_EQ("_ZTH_N3oneE", demangler.Parse("_ZTH_N3oneE"));
}

TEST(DemangleTest, demangle) {
  std::string str;

+25 −1
Original line number Diff line number Diff line
@@ -388,7 +388,7 @@ const char* Demangler::ParseFunctionName(const char* name) {
      saves_.pop_back();
    }

    function_name_ = cur_state_.str;
    function_name_ += cur_state_.str;
    while (!cur_state_.suffixes.empty()) {
      function_suffix_ += cur_state_.suffixes.back();
      cur_state_.suffixes.pop_back();
@@ -786,6 +786,30 @@ const char* Demangler::ParseFunctionTemplateArguments(const char* name) {
}

const char* Demangler::FindFunctionName(const char* name) {
  if (*name == 'T') {
    // non-virtual thunk, verify that it matches one of these patterns:
    //   Thn[0-9]+_
    //   Th[0-9]+_
    //   Thn_
    //   Th_
    name++;
    if (*name != 'h') {
      return nullptr;
    }
    name++;
    if (*name == 'n') {
      name++;
    }
    while (std::isdigit(*name)) {
      name++;
    }
    if (*name != '_') {
      return nullptr;
    }
    function_name_ = "non-virtual thunk to ";
    return name + 1;
  }

  if (*name == 'N') {
    parse_funcs_.push_back(&Demangler::ParseArgumentsAtTopLevel);
    parse_func_ = &Demangler::ParseFunctionName;
+0 −1
Original line number Diff line number Diff line
@@ -58,7 +58,6 @@ LOCAL_C_INCLUDES_windows := development/host/windows/usb/api

LOCAL_STATIC_LIBRARIES := \
    libziparchive \
    libext4_utils \
    libsparse \
    libutils \
    liblog \
+3 −4
Original line number Diff line number Diff line
@@ -1354,7 +1354,7 @@ static std::string fb_fix_numeric_var(std::string var) {

static unsigned fb_get_flash_block_size(Transport* transport, std::string name) {
    std::string sizeString;
    if (!fb_getvar(transport, name.c_str(), &sizeString)) {
    if (!fb_getvar(transport, name.c_str(), &sizeString) || sizeString.empty()) {
        /* This device does not report flash block sizes, so return 0 */
        return 0;
    }
@@ -1365,9 +1365,8 @@ static unsigned fb_get_flash_block_size(Transport* transport, std::string name)
        fprintf(stderr, "Couldn't parse %s '%s'.\n", name.c_str(), sizeString.c_str());
        return 0;
    }
    if (size < 4096 || (size & (size - 1)) != 0) {
        fprintf(stderr, "Invalid %s %u: must be a power of 2 and at least 4096.\n",
                name.c_str(), size);
    if ((size & (size - 1)) != 0) {
        fprintf(stderr, "Invalid %s %u: must be a power of 2.\n", name.c_str(), size);
        return 0;
    }
    return size;
+2 −1
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@
#include <android-base/file.h>
#include <android-base/stringprintf.h>
#include <android-base/unique_fd.h>
#include <ext4_utils/make_ext4fs.h>
#include <sparse/sparse.h>

using android::base::StringPrintf;
@@ -120,6 +119,8 @@ static int generate_ext4_image(const char* fileName, long long partSize,
        int raid_stripe_width = eraseBlkSize / block_size;
        // stride should be the max of 8kb and logical block size
        if (logicalBlkSize != 0 && logicalBlkSize < 8192) raid_stride = 8192 / block_size;
        // stripe width should be >= stride
        if (raid_stripe_width < raid_stride) raid_stripe_width = raid_stride;
        ext_attr += StringPrintf(",stride=%d,stripe-width=%d", raid_stride, raid_stripe_width);
    }
    mke2fs_args.push_back("-E");
Loading