Ying Wang | 1f98283 | 2014-02-06 18:08:44 -0800 | [diff] [blame] | 1 | # Clang flags for arm arch, target or host. |
| 2 | |
Chih-Hung Hsieh | 57c8a15 | 2014-10-22 09:21:53 -0700 | [diff] [blame] | 3 | CLANG_CONFIG_arm_EXTRA_ASFLAGS := |
Ying Wang | 1f98283 | 2014-02-06 18:08:44 -0800 | [diff] [blame] | 4 | |
Chih-Hung Hsieh | 57c8a15 | 2014-10-22 09:21:53 -0700 | [diff] [blame] | 5 | CLANG_CONFIG_arm_EXTRA_CFLAGS := |
Ying Wang | 1f98283 | 2014-02-06 18:08:44 -0800 | [diff] [blame] | 6 | |
Ian Rogers | e270873 | 2014-10-28 15:50:02 -0700 | [diff] [blame^] | 7 | ifneq (,$(filter krait,$(TARGET_$(combo_2nd_arch_prefix)CPU_VARIANT))) |
| 8 | # Android's clang support's krait as a CPU whereas GCC doesn't. Specify |
| 9 | # -mcpu here rather than the more normal core/combo/arch/arm/armv7-a-neon.mk. |
| 10 | CLANG_CONFIG_arm_EXTRA_CFLAGS += -mcpu=krait |
| 11 | endif |
| 12 | |
Chih-Hung Hsieh | 57c8a15 | 2014-10-22 09:21:53 -0700 | [diff] [blame] | 13 | CLANG_CONFIG_arm_EXTRA_CPPFLAGS := |
Tim Murray | 43d5e1b | 2014-04-03 16:06:59 -0700 | [diff] [blame] | 14 | |
Chih-Hung Hsieh | 57c8a15 | 2014-10-22 09:21:53 -0700 | [diff] [blame] | 15 | CLANG_CONFIG_arm_EXTRA_LDFLAGS := |
Ying Wang | 1f98283 | 2014-02-06 18:08:44 -0800 | [diff] [blame] | 16 | |
| 17 | # Include common unknown flags |
| 18 | CLANG_CONFIG_arm_UNKNOWN_CFLAGS := \ |
| 19 | $(CLANG_CONFIG_UNKNOWN_CFLAGS) \ |
| 20 | -mthumb-interwork \ |
| 21 | -fgcse-after-reload \ |
| 22 | -frerun-cse-after-loop \ |
| 23 | -frename-registers \ |
Ying Wang | 1f98283 | 2014-02-06 18:08:44 -0800 | [diff] [blame] | 24 | -fno-align-jumps \ |
Chih-Hung Hsieh | 0278174 | 2014-08-25 13:57:57 -0700 | [diff] [blame] | 25 | -fno-builtin-sin \ |
| 26 | -fno-caller-saves \ |
| 27 | -fno-early-inlining \ |
| 28 | -fno-move-loop-invariants \ |
| 29 | -fno-partial-inlining \ |
| 30 | -fno-strict-volatile-bitfields \ |
| 31 | -fno-tree-copy-prop \ |
| 32 | -fno-tree-loop-optimize \ |
Ying Wang | 1f98283 | 2014-02-06 18:08:44 -0800 | [diff] [blame] | 33 | -Wa,--noexecstack |
| 34 | |
| 35 | define subst-clang-incompatible-arm-flags |
| 36 | $(subst -march=armv5te,-march=armv5t,\ |
| 37 | $(subst -march=armv5e,-march=armv5,\ |
| 38 | $(subst -mcpu=cortex-a15,-march=armv7-a,\ |
| 39 | $(1)))) |
| 40 | endef |