# 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("//build/toolchain/toolchain.gni") # Extracts symbols from a binary into a symbol file using dump_app_syms.py. # # Args: # binary: Path to the binary containing symbols to extract, e.g.: # "$root_out_dir/chrome" # symbol_file: Desired output file for symbols, e.g.: # "$root_out_dir/chrome.breakpad.$current_cpu" template("extract_symbols") { forward_variables_from(invoker, [ "deps", "testonly", ]) action("${target_name}") { dump_syms_label = "//third_party/breakpad:dump_syms($host_toolchain)" dump_syms_binary = get_label_info(dump_syms_label, "root_out_dir") + "/" + "dump_syms" pool = "//build/toolchain:link_pool($default_toolchain)" script = "//build/linux/dump_app_syms.py" inputs = [ invoker.binary, dump_syms_binary, ] outputs = [ invoker.symbol_file ] args = [ "./" + rebase_path(dump_syms_binary, root_build_dir), "0", # strip_binary = false rebase_path(invoker.binary, root_build_dir), rebase_path(invoker.symbol_file, root_build_dir), ] deps += [ dump_syms_label ] } }