diff --git a/build/toolchain/mac/BUILD.gn b/build/toolchain/mac/BUILD.gn index 88ef256e37c..307911fd5ce 100644 --- a/build/toolchain/mac/BUILD.gn +++ b/build/toolchain/mac/BUILD.gn @@ -21,6 +21,7 @@ mac_toolchain_suite("ios_clang_arm64") { asm = "${assembler_prefix}${prefix}/clang" ar = "${prefix}/llvm-ar" ld = "${link_prefix}${prefix}/clang++" + dsymutil = "${prefix}/dsymutil" strip = "${prefix}/llvm-strip" nm = "${prefix}/llvm-nm" is_clang = true @@ -44,6 +45,7 @@ mac_toolchain_suite("ios_clang_arm64_sim") { asm = "${assembler_prefix}${prefix}/clang" ar = "${prefix}/llvm-ar" ld = "${link_prefix}${prefix}/clang++" + dsymutil = "${prefix}/dsymutil" strip = "${prefix}/llvm-strip" nm = "${prefix}/llvm-nm" is_clang = true @@ -68,6 +70,7 @@ mac_toolchain_suite("ios_clang_x64_sim") { asm = "${assembler_prefix}${prefix}/clang" ar = "${prefix}/llvm-ar" ld = "${link_prefix}${prefix}/clang++" + dsymutil = "${prefix}/dsymutil" strip = "${prefix}/llvm-strip" nm = "${prefix}/llvm-nm" is_clang = true @@ -93,6 +96,7 @@ if (is_watchos) { asm = "${assembler_prefix}${prefix}/clang" ar = "${prefix}/llvm-ar" ld = "${link_prefix}${prefix}/clang++" + dsymutil = "${prefix}/dsymutil" strip = "${prefix}/llvm-strip" nm = "${prefix}/llvm-nm" is_clang = true @@ -116,6 +120,7 @@ if (is_watchos) { asm = "${assembler_prefix}${prefix}/clang" ar = "${prefix}/llvm-ar" ld = "${link_prefix}${prefix}/clang++" + dsymutil = "${prefix}/dsymutil" strip = "${prefix}/llvm-strip" nm = "${prefix}/llvm-nm" is_clang = true @@ -140,6 +145,7 @@ mac_toolchain_suite("clang_x64") { asm = "${assembler_prefix}${prefix}/clang" ar = "${prefix}/llvm-ar" ld = "${link_prefix}${prefix}/clang++" + dsymutil = "${prefix}/dsymutil" strip = "${prefix}/llvm-strip" nm = "${prefix}/llvm-nm" is_clang = true @@ -162,6 +168,7 @@ mac_toolchain_suite("clang_arm64") { asm = "${assembler_prefix}${prefix}/clang" ar = "${prefix}/llvm-ar" ld = "${link_prefix}${prefix}/clang++" + dsymutil = "${prefix}/dsymutil" strip = "${prefix}/llvm-strip" nm = "${prefix}/llvm-nm" is_clang = true diff --git a/build/toolchain/mac/mac_toolchain.gni b/build/toolchain/mac/mac_toolchain.gni index e3f7f1eb696..08a38e17131 100644 --- a/build/toolchain/mac/mac_toolchain.gni +++ b/build/toolchain/mac/mac_toolchain.gni @@ -63,6 +63,7 @@ template("mac_toolchain") { cxx = invoker.cxx ar = invoker.ar ld = invoker.ld + dsymutil = invoker.dsymutil nm = invoker.nm # Make these apply to all tools below. @@ -190,6 +191,7 @@ template("mac_toolchain") { exename = "{{target_output_name}}{{output_extension}}" outfile = "{{root_out_dir}}/$exename" rspfile = "$outfile.rsp" + dsymdir = "$outfile.dSYM" symfile = "$outfile.sym" if (defined(invoker.strip)) { @@ -198,6 +200,8 @@ template("mac_toolchain") { commands = [ "$ld $sysroot_flags $toolchain_flags {{ldflags}} -Xlinker -rpath -Xlinker @executable_path/Frameworks -o $outfile -Wl,-filelist,$rspfile {{solibs}} {{libs}} {{frameworks}}" ] + commands += [ "$dsymutil -o $dsymdir $outfile" ] + symbolizer_script = rebase_path("//runtime/tools/dart_profiler_symbols.py") commands +=