Use -target-feature for MTE
Instead of setting -march, use clang's -target-feature functionality
to enable MTE. Some projects set -march which may conflict with MTE's
usage. Using -target-feature to enable MTE removes any clang command
line ordering issues.
History:
* Originally submitted as 3340cf27f76a94b1536e66e5847b11e334c97b85
* reverted in 32721f125b1ed0db3fbd434c2412dcf1f1e146e9 due to
bug 371029823
* Prematurely resubmitted as fe67d8f1f22106bcc6634652ea1a5303e406f639
and then subsequently reverted in
476da833e12179d31f6a301ad65bf45c63a28818 as the fix for bug 371029823
had not yet landed.
Fixes the following compile failures on _fullmte builds:
vendor/google/services/LyricCameraHAL/src/lyric/api/algo/data_types/local_tone_mapping_data_v1.cc
vendor/google/services/LyricCameraHAL/src/lyric/api/algo/data_types/local_tone_mapping_data_v1.cc:209:34: error: always_inline function 'vpaddq_f16' requires target feature 'fullfp16', but would be inlined into function 'GridMeanNeon' that is compiled without support for 'fullfp16'
209 | vmulq_f16(norm, vpaddq_f16(vpaddq_f16(slope_bias[0], slope_bias[1]),
| ^
vendor/google/services/LyricCameraHAL/src/lyric/api/algo/data_types/local_tone_mapping_data_v1.cc:210:34: error: always_inline function 'vpaddq_f16' requires target feature 'fullfp16', but would be inlined into function 'GridMeanNeon' that is compiled without support for 'fullfp16'
210 | vpaddq_f16(slope_bias[2], slope_bias[3])));
Bug: 366222162
Test: compiles and boots
Change-Id: I821b310908dd9ff2aeaa81459762286590337eaf
diff --git a/core/config_sanitizers.mk b/core/config_sanitizers.mk
index ab2d5c1..c0f2c68 100644
--- a/core/config_sanitizers.mk
+++ b/core/config_sanitizers.mk
@@ -284,9 +284,9 @@
ifneq ($(filter memtag_stack,$(my_sanitize)),)
my_cflags += -fsanitize=memtag-stack
my_ldflags += -fsanitize=memtag-stack
- my_cflags += -march=armv8a+memtag
- my_ldflags += -march=armv8a+memtag
- my_asflags += -march=armv8a+memtag
+ my_cflags += -Xclang -target-feature -Xclang +mte
+ my_ldflags += -Xclang -target-feature -Xclang +mte
+ my_asflags += -Xclang -target-feature -Xclang +mte
my_sanitize := $(filter-out memtag_stack,$(my_sanitize))
endif