diff options
author | Florian Dold <florian.dold@gmail.com> | 2019-08-07 22:45:47 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2019-08-07 22:45:47 +0200 |
commit | 65e39b7046a29aa299f06285441b62bcf1e4df01 (patch) | |
tree | 2eb012aabb59533b954aa169199733292de336cf /deps/v8/build/fuchsia/symbolizer.py | |
parent | 936cd90b7def6ef7c1e0b80265a9dc77a9ad23c6 (diff) | |
download | android-node-v8-65e39b7046a29aa299f06285441b62bcf1e4df01.tar.gz android-node-v8-65e39b7046a29aa299f06285441b62bcf1e4df01.tar.bz2 android-node-v8-65e39b7046a29aa299f06285441b62bcf1e4df01.zip |
Move v8/build into this repository.
Since we need to patch some files, we don't let depot_tools
manage these files anymore.
build.git commit a0b2e3b2708bcf81ec00ac1738b586bcc5e04eea
Diffstat (limited to 'deps/v8/build/fuchsia/symbolizer.py')
-rw-r--r-- | deps/v8/build/fuchsia/symbolizer.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/deps/v8/build/fuchsia/symbolizer.py b/deps/v8/build/fuchsia/symbolizer.py new file mode 100644 index 0000000000..0b7c39e918 --- /dev/null +++ b/deps/v8/build/fuchsia/symbolizer.py @@ -0,0 +1,43 @@ +# Copyright 2018 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import logging +import os +import subprocess + +from common import SDK_ROOT + + +def SymbolizerFilter(input_fd, build_ids_files): + """Symbolizes an output stream from a process. + + input_fd: A file descriptor of the stream to be symbolized. + build_ids_file: Path to the ids.txt file which maps build IDs to + unstripped binaries on the filesystem. + Returns a generator that yields symbolized process output.""" + + llvm_symbolizer_path = os.path.join(SDK_ROOT, os.pardir, os.pardir, + 'llvm-build', 'Release+Asserts', 'bin', + 'llvm-symbolizer') + symbolizer = os.path.join(SDK_ROOT, 'tools', 'symbolize') + symbolizer_cmd = [symbolizer, + '-ids-rel', '-llvm-symbolizer', llvm_symbolizer_path, + '-build-id-dir', os.path.join(SDK_ROOT, '.build-id')] + for build_ids_file in build_ids_files: + symbolizer_cmd.extend(['-ids', build_ids_file]) + + logging.info('Running "%s".' % ' '.join(symbolizer_cmd)) + symbolizer_proc = subprocess.Popen( + symbolizer_cmd, + stdout=subprocess.PIPE, + stdin=input_fd, + close_fds=True) + + while True: + line = symbolizer_proc.stdout.readline() + if not line: + break + yield line + + symbolizer_proc.wait() |