From a0e681cc2bfb1f549f7c46c1a11d62757905ed03 Mon Sep 17 00:00:00 2001
From: "pasko@chromium.org"
 <pasko@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Fri, 16 May 2014 16:56:47 +0000
Subject: Android: bake GCC flags for perf into profiling=1 in GYP_DEFINES

BUG=366632

Review URL: https://codereview.chromium.org/283963002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271037 0039d316-1c4b-4281-b951-d872f2087c98
---
 build/common.gypi | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/build/common.gypi b/build/common.gypi
index 23350c1..9d061a3 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -3511,8 +3511,16 @@
                       }],
                       ['profiling==1', {
                         'cflags': [
-                          '-marm', # Probably reduntant, but recommend by "perf" docs.
-                          '-mapcs-frame', # Seems required by -fno-omit-frame-pointer.
+                          # Thumb code with frame pointer makes chrome crash
+                          # early.
+                          '-marm',
+                          '-mapcs-frame', # Required by -fno-omit-frame-pointer.
+                          # The perf report sometimes incorrectly attributes
+                          # code from tail calls.
+                          '-fno-optimize-sibling-calls',
+                        ],
+                        'cflags!': [
+                          '-fomit-frame-pointer',
                         ],
                       }],
                       ['clang==1', {
-- 
cgit v1.1