Home
last modified time | relevance | path

Searched hist:"864 e8de3dd61e147bee68096aac873eb179fea77" (Results 1 – 1 of 1) sorted by relevance

/optee_os/core/arch/arm/kernel/
H A Dthread_a32.S864e8de3dd61e147bee68096aac873eb179fea77 Mon Mar 25 16:18:38 UTC 2019 Jerome Forissier <jerome.forissier@linaro.org> core: thread_a32.S: use assembler unified syntax (UAL)

The movnes instruction causes a compilation warning with Clang:

core/arch/arm/kernel/thread_a32.S:250:2: error: instruction 'movne' can not set flags, but 's' suffix specified
movnes pc, lr
^

This is because Clang supports only Unified Assembler Language syntax
(UAL). GCC also supports this syntax, and there are two ways to enable
it: either use the -masm-syntax-unified flag, or the ".syntax unified"
directive. Unfortunately, the first option does not work with GCC 8.2
[1]. Therefore, use the second option.

This modification results in identical code being generated with GCC
for the whole thread_a32.o file. And Clang generates the same code as
GCC for the the 'movsne pc, lr' instruction.

Link: [1] https://github.com/gcc-mirror/gcc/commit/2fd2b9b8425f
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>