Index: build/toolchain/gcc_toolchain.gni |
diff --git a/build/toolchain/gcc_toolchain.gni b/build/toolchain/gcc_toolchain.gni |
index b31980668d89732523e9765f83e2e24f7caf1a4d..0fd83444b3b7b331f6fa4a04a3ce90c294361793 100644 |
--- a/build/toolchain/gcc_toolchain.gni |
+++ b/build/toolchain/gcc_toolchain.gni |
@@ -319,18 +319,26 @@ template("gcc_toolchain") { |
link_command = "$ld -shared {{ldflags}}${extra_ldflags} -o \"$unstripped_sofile\" -Wl,-soname=\"$soname\" @\"$rspfile\"" |
+ # Generate a map file to be used for binary size analysis. |
+ # Map file adds ~10% to the link time on a z620. |
+ # With target_os="android", libchrome.so.map.gz is ~20MB. |
+ map_switch = "" |
+ if (is_official_build) { |
Dirk Pranke
2017/03/03 21:38:48
This'll affect linux and chromeos too, right? Is t
agrieve
2017/03/04 02:01:26
It was intentional, since the size analysis tool s
|
+ map_switch = "--mapfile \"$unstripped_sofile.map.gz\" " |
+ } |
+ |
assert(defined(readelf), "to solink you must have a readelf") |
assert(defined(nm), "to solink you must have an nm") |
strip_switch = "" |
if (defined(invoker.strip)) { |
- strip_switch = "--strip=${invoker.strip}" |
+ strip_switch = "--strip=${invoker.strip} " |
} |
# This needs a Python script to avoid using a complex shell command |
# requiring sh control structures, pipelines, and POSIX utilities. |
# The host might not have a POSIX shell and utilities (e.g. Windows). |
solink_wrapper = rebase_path("//build/toolchain/gcc_solink_wrapper.py") |
- command = "$python_path \"$solink_wrapper\" --readelf=\"$readelf\" --nm=\"$nm\" $strip_switch --sofile=\"$unstripped_sofile\" --tocfile=\"$tocfile\" --output=\"$sofile\"$whitelist_flag -- $link_command" |
+ command = "$python_path \"$solink_wrapper\" --readelf=\"$readelf\" --nm=\"$nm\" $strip_switch--sofile=\"$unstripped_sofile\" --tocfile=\"$tocfile\" $map_switch--output=\"$sofile\"$whitelist_flag -- $link_command" |
rspfile_content = "-Wl,--whole-archive {{inputs}} {{solibs}} -Wl,--no-whole-archive $solink_libs_section_prefix {{libs}} $solink_libs_section_postfix" |