| Index: build/common.gypi
 | 
| diff --git a/build/common.gypi b/build/common.gypi
 | 
| index 03416541de98945ef60e7343a413a55ae7ee5df7..0e88c8b8694bad1e4c754f8a2784d1303c6ffb36 100644
 | 
| --- a/build/common.gypi
 | 
| +++ b/build/common.gypi
 | 
| @@ -6149,6 +6149,11 @@
 | 
|            ['_toolset=="target"', {
 | 
|              'ldflags': [
 | 
|                '-Wl,--plugin-opt,O1',
 | 
| +              # Allows the linker to apply ICF to the LTO object file. Also, when
 | 
| +              # targeting ARM, wWithout this flag, LTO produces a .text section
 | 
| +              # that is larger than the maximum call displacement, preventing the
 | 
| +              # linker from relocating calls (http://llvm.org/PR22999).
 | 
| +              '-Wl,--plugin-opt,-function-sections',
 | 
|              ],
 | 
|            }],
 | 
|            ['_toolset=="target" and _type!="static_library"', {
 | 
| @@ -6168,20 +6173,6 @@
 | 
|          },
 | 
|        },
 | 
|      }],
 | 
| -    ['use_lto==1 and clang==1 and target_arch=="arm"', {
 | 
| -      'target_defaults': {
 | 
| -        'target_conditions': [
 | 
| -          ['_toolset=="target"', {
 | 
| -            # Without this flag, LTO produces a .text section that is larger
 | 
| -            # than the maximum call displacement, preventing the linker from
 | 
| -            # relocating calls (http://llvm.org/PR22999).
 | 
| -            'ldflags': [
 | 
| -              '-Wl,-plugin-opt,-function-sections',
 | 
| -            ],
 | 
| -          }],
 | 
| -        ],
 | 
| -      },
 | 
| -    }],
 | 
|      ['(use_lto==1 or use_lto_o2==1) and clang==0', {
 | 
|        'target_defaults': {
 | 
|          'target_conditions': [
 | 
| @@ -6327,6 +6318,24 @@
 | 
|          ],
 | 
|        },
 | 
|      }],
 | 
| +    # TODO(pcc): Make these flags work correctly with CFI.
 | 
| +    ['use_lto!=0 and cfi_vptr==0', {
 | 
| +      'target_defaults': {
 | 
| +        'target_conditions': [
 | 
| +          ['_toolset=="target"', {
 | 
| +            'cflags': [
 | 
| +              '-fwhole-program-vtables',
 | 
| +              # TODO(pcc): Remove this flag once the upstream interface change
 | 
| +              # (http://reviews.llvm.org/D18635) lands.
 | 
| +              '-fwhole-program-vtables-blacklist=<(cfi_blacklist)',
 | 
| +            ],
 | 
| +            'ldflags': [
 | 
| +              '-fwhole-program-vtables',
 | 
| +            ],
 | 
| +          }],
 | 
| +        ],
 | 
| +      },
 | 
| +    }],
 | 
|    ],
 | 
|    'xcode_settings': {
 | 
|      # DON'T ADD ANYTHING NEW TO THIS BLOCK UNLESS YOU REALLY REALLY NEED IT!
 | 
| 
 |