Fix some build symbol configuration.
Remove -gdwarf-4 from GYP build. This is the default for GCC 4.8 which is now required, so this command-line argument is redundant. Only set use_debug_fission in the GN build in debug mode. This matches GYP. Release mode symbols will be non-fission. Implement linux_symbols target in GN. Convert dump_app_syms from sh to Python for better GN usability, and it's more readable for normal programmers on the team. Reland of https://codereview.chromium.org/1179393004/ TBR=thakis@chromium.org Review URL: https://codereview.chromium.org/1182663007 Cr-Original-Commit-Position: refs/heads/master@{#334690} Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src Cr-Mirrored-Commit: 07d847b1c5451748f16f4e7973ce8ef9078d47a2
This commit is contained in:
Родитель
21c772dc92
Коммит
3ece569951
|
@ -3693,7 +3693,6 @@
|
||||||
'cflags': [
|
'cflags': [
|
||||||
'-O>(debug_optimize)',
|
'-O>(debug_optimize)',
|
||||||
'-g',
|
'-g',
|
||||||
'-gdwarf-4',
|
|
||||||
],
|
],
|
||||||
'conditions' : [
|
'conditions' : [
|
||||||
['OS=="android" and target_arch!="mipsel" and target_arch!="mips64el"', {
|
['OS=="android" and target_arch!="mipsel" and target_arch!="mips64el"', {
|
||||||
|
|
|
@ -51,8 +51,8 @@ declare_args() {
|
||||||
# with some utilities such as icecc and ccache. Requires gold and
|
# with some utilities such as icecc and ccache. Requires gold and
|
||||||
# gcc >= 4.8 or clang.
|
# gcc >= 4.8 or clang.
|
||||||
# http://gcc.gnu.org/wiki/DebugFission
|
# http://gcc.gnu.org/wiki/DebugFission
|
||||||
use_debug_fission =
|
use_debug_fission = is_debug && !is_win && use_gold &&
|
||||||
!is_win && use_gold && linux_use_bundled_binutils && !use_ccache
|
linux_use_bundled_binutils && !use_ccache
|
||||||
|
|
||||||
if (is_win) {
|
if (is_win) {
|
||||||
# Whether the VS xtree header has been patched to disable warning 4702. If
|
# Whether the VS xtree header has been patched to disable warning 4702. If
|
||||||
|
|
|
@ -1,36 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Copyright (c) 2010 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.
|
|
||||||
#
|
|
||||||
# Helper script to run dump_syms on Chrome Linux executables and strip
|
|
||||||
# them if needed.
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
usage() {
|
|
||||||
echo -n "$0 <dump_syms_exe> <strip_binary> " >&2
|
|
||||||
echo "<binary_with_symbols> <symbols_output>" >&2
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if [ $# -ne 4 ]; then
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
SCRIPTDIR="$(readlink -f "$(dirname "$0")")"
|
|
||||||
DUMPSYMS="$1"
|
|
||||||
STRIP_BINARY="$2"
|
|
||||||
INFILE="$3"
|
|
||||||
OUTFILE="$4"
|
|
||||||
|
|
||||||
# Dump the symbols from the given binary.
|
|
||||||
if [ ! -e "$OUTFILE" -o "$INFILE" -nt "$OUTFILE" ]; then
|
|
||||||
"$DUMPSYMS" -r "$INFILE" > "$OUTFILE"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$STRIP_BINARY" != "0" ]; then
|
|
||||||
strip "$INFILE"
|
|
||||||
fi
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
# Copyright 2015 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.
|
||||||
|
|
||||||
|
# Helper script to run dump_syms on Chrome Linux executables and strip
|
||||||
|
# them if needed.
|
||||||
|
|
||||||
|
import os
|
||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
|
||||||
|
if len(sys.argv) != 5:
|
||||||
|
print "dump_app_syms.py <dump_syms_exe> <strip_binary>"
|
||||||
|
print " <binary_with_symbols> <symbols_output>"
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
dumpsyms = sys.argv[1]
|
||||||
|
strip_binary = sys.argv[2]
|
||||||
|
infile = sys.argv[3]
|
||||||
|
outfile = sys.argv[4]
|
||||||
|
|
||||||
|
# Dump only when the output file is out-of-date.
|
||||||
|
if not os.path.isfile(outfile) or \
|
||||||
|
os.stat(outfile).st_mtime > os.stat(infile).st_mtime:
|
||||||
|
with open(outfile, 'w') as outfileobj:
|
||||||
|
subprocess.check_call([dumpsyms, '-r', infile], stdout=outfileobj)
|
||||||
|
|
||||||
|
if strip_binary != '0':
|
||||||
|
subprocess.check_call(['strip', infile])
|
Загрузка…
Ссылка в новой задаче