arm: Add thumb target and associated fixes
Add arm_thumb=1 to GYP_DEFINES to enable
BUG=29203
Review URL: http://codereview.chromium.org/463027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33799 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/build/common.gypi b/build/common.gypi
index 8183893..f2e72c97 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -200,6 +200,9 @@
# Set ARM-v7 compilation flags
'armv7%': 0,
+ # Set Thumb compilation flags.
+ 'arm_thumb%': 0,
+
'conditions': [
['OS=="linux"', {
# This will set gcc_version to XY if you are running gcc X.Y.*.
@@ -710,10 +713,27 @@
],
}],
['target_arch=="arm"', {
- 'conditions': [
- ['armv7==1', {
- 'target_conditions': [
- ['_toolset=="target"', {
+ 'target_conditions': [
+ ['_toolset=="target"', {
+ 'cflags_cc': [
+ # The codesourcery arm-2009q3 toolchain warns at that the ABI
+ # has changed whenever it encounters a varargs function. This
+ # silences those warnings, as they are not helpful and
+ # clutter legitimate warnings.
+ '-Wno-abi',
+ ],
+ 'conditions': [
+ ['arm_thumb == 1', {
+ 'cflags': [
+ '-mthumb',
+ # TODO(piman): -Wa,-mimplicit-it=thumb is needed for
+ # inline assembly that uses condition codes but it's
+ # suboptimal. Better would be to #ifdef __thumb__ at the
+ # right place and have a separate thumb path.
+ '-Wa,-mimplicit-it=thumb',
+ ]
+ }],
+ ['armv7==1', {
'cflags': [
'-march=armv7-a',
'-mtune=cortex-a8',