Commit e8c3c11e authored by Andrew Grieve's avatar Andrew Grieve Committed by Chromium LUCI CQ

SuperSize: Hardcode path for ndk objdump in Disassemble()

Allows Disassemble() to work for arm32 builds when output directory is
not set.

Bug: 999351
Change-Id: I6da45eb0c945f0239bd455b421ed0589ee987e2d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2606515Reviewed-by: default avatarMatthew Denton <mpdenton@chromium.org>
Commit-Queue: Matthew Denton <mpdenton@chromium.org>
Auto-Submit: Andrew Grieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#839694}
parent ca5cac06
...@@ -340,6 +340,19 @@ class _Session(object): ...@@ -340,6 +340,19 @@ class _Session(object):
tool_prefix = path_util.ToolPrefixFinder( tool_prefix = path_util.ToolPrefixFinder(
output_directory=output_directory_finder.Finalized(), output_directory=output_directory_finder.Finalized(),
linker_name='ld').Finalized() linker_name='ld').Finalized()
else:
# Output directory is not set, so we cannot load tool_prefix from
# build_vars.json, nor resolve the output directory-relative path stored
# size_info.metadata.
is_android = next(
filter(None, (m.get(models.METADATA_APK_FILENAME)
for m in size_info.metadata)), None)
arch = next(
filter(None, (m.get(models.METADATA_ELF_ARCHITECTURE)
for m in size_info.metadata)), None)
# Hardcode path for arm32.
if is_android and arch == 'arm':
tool_prefix = path_util.ANDROID_ARM_NDK_TOOL_PREFIX
args = [ args = [
path_util.GetObjDumpPath(tool_prefix), path_util.GetObjDumpPath(tool_prefix),
......
...@@ -23,6 +23,11 @@ TOOLS_SRC_ROOT = os.environ.get( ...@@ -23,6 +23,11 @@ TOOLS_SRC_ROOT = os.environ.get(
_SAMPLE_TOOL_SUFFIX = 'readelf' _SAMPLE_TOOL_SUFFIX = 'readelf'
ANDROID_ARM_NDK_TOOL_PREFIX = os.path.join(TOOLS_SRC_ROOT, 'third_party',
'android_ndk', 'toolchains', 'llvm',
'prebuilt', 'linux-x86_64', 'bin',
'arm-linux-androideabi-')
class _PathFinder(object): class _PathFinder(object):
def __init__(self, name, value): def __init__(self, name, value):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment