Update FDO options to match what is needed by the framework

R=tomhudson@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/497503003
diff --git a/platform_tools/android/gyp_gen/makefile_writer.py b/platform_tools/android/gyp_gen/makefile_writer.py
index ddd584e..55a71d0 100644
--- a/platform_tools/android/gyp_gen/makefile_writer.py
+++ b/platform_tools/android/gyp_gen/makefile_writer.py
@@ -194,7 +194,16 @@
     f.write(DEBUGGING_HELP)
 
     write_clear_vars(f)
+
+    # need flags to enable feedback driven optimization (FDO) when requested
+    # by the build system.
     f.write('LOCAL_FDO_SUPPORT := true\n')
+    f.write(
+        'ifneq ($(strip $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_FDO_CFLAGS)),)\n')
+    f.write('\t# This should be the last -Oxxx specified in LOCAL_CFLAGS\n')
+    f.write('\tLOCAL_CFLAGS += -O2\n')
+    f.write('endif\n\n')
+
     f.write('LOCAL_ARM_MODE := thumb\n')
 
     # need a flag to tell the C side when we're on devices with large memory
diff --git a/platform_tools/android/tests/expectations/Android.mk b/platform_tools/android/tests/expectations/Android.mk
index 854fa6b..f9af5af 100644
--- a/platform_tools/android/tests/expectations/Android.mk
+++ b/platform_tools/android/tests/expectations/Android.mk
@@ -34,6 +34,11 @@
 
 include $(CLEAR_VARS)
 LOCAL_FDO_SUPPORT := true
+ifneq ($(strip $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_FDO_CFLAGS)),)
+	# This should be the last -Oxxx specified in LOCAL_CFLAGS
+	LOCAL_CFLAGS += -O2
+endif
+
 LOCAL_ARM_MODE := thumb
 ifeq ($(TARGET_ARCH),arm)
 	ifeq ($(ARCH_ARM_HAVE_VFP),true)