summaryrefslogtreecommitdiff
path: root/core/tee/sub.mk
diff options
context:
space:
mode:
authorJerome Forissier <jerome.forissier@linaro.org>2014-09-15 12:20:15 -0700
committerJerome Forissier <jerome.forissier@linaro.org>2014-09-16 19:16:14 -0700
commitb8976a602e75d1f1fbdff47f9de2c6cd774c7c12 (patch)
tree8cc3a8680c8cd0093b8a2659c09f002270e70716 /core/tee/sub.mk
parent9c3040ee9d518a35a3b95e2e92a7939c5c98b547 (diff)
plat-vexpress: fix non-debug build
Fixes a number of build errors when 'PLATFORM=vexpress' and 'DEBUG=': - '<var> may be used uninitialized' - 'dereferencing type-punned pointer will break strict-aliasing rules' This one is addressed by adding -fno-strict-aliasing to the cflags for the problematic files, which is a temporary solution. - 'inlining failed' Also, make sure tee_svc_syscall_table is aligned on a 32-bit boundary. Otherwise, an alignment fault might occur: ERR [0x0] TEE-CORE:tee_pager_print_error_abort:101: data-abort at 0x602f16b FSR 0x1 PC 0x6007bd4 TTBR0 0x603804A CONTEXIDR 0x1 CPUID 0x80000001 DBGPCSR 0x0 CPSR 0x80000013 (read from SPSR) ERR [0x0] TEE-CORE:tee_pager_handle_abort:164: [TEE_PAGER] alignement fault! (trap CPU) Note: on Foundation_v8, I measured a ~3x speedup between debug and non-debug builds for asymmetric crypto tests.
Diffstat (limited to 'core/tee/sub.mk')
-rw-r--r--core/tee/sub.mk6
1 files changed, 5 insertions, 1 deletions
diff --git a/core/tee/sub.mk b/core/tee/sub.mk
index 53f7e745..e9ac7639 100644
--- a/core/tee/sub.mk
+++ b/core/tee/sub.mk
@@ -2,21 +2,25 @@ srcs-y += tee_svc.c
cflags-tee_svc.c-y += -Wno-format -Wno-declaration-after-statement
cflags-tee_svc.c-y += -Wno-unused-parameter
cflags-tee_svc.c-y += -Wno-format-nonliteral -Wno-format-security
-
+cflags-tee_svc.c-y += -fno-strict-aliasing
srcs-y += tee_svc_cryp.c
cflags-tee_svc_cryp.c-y += -Wno-declaration-after-statement
cflags-tee_svc_cryp.c-y += -Wno-unused-parameter
cflags-tee_svc_cryp.c-y += -Wno-cast-align
+cflags-tee_svc_cryp.c-y += -fno-strict-aliasing
srcs-y += tee_acipher.c
cflags-tee_acipher.c-y += -Wno-unused-parameter
+cflags-tee_acipher.c-y += -fno-strict-aliasing
srcs-y += tee_authenc.c
cflags-tee_authenc.c-y += -Wno-unused-parameter
+cflags-tee_authenc.c-y += -fno-strict-aliasing
srcs-y += tee_mac.c
cflags-tee_mac.c-y += -Wno-unused-parameter
+cflags-tee_mac.c-y += -fno-strict-aliasing
srcs-y += tee_cipher.c
srcs-y += tee_fs.c