I ran into this issue yesterday, and this patch solves the compilation on
warrior. However, it's a patch for Qt itself, and not for OE.
Is there already a warrior patch in the making, or should I submit one?
On 19-11-19 13:37, Quentin Schulz wrote:
> At least since gcc v8, source code with asm volatile won't compile
> anymore.
>
> The volatile qualifier anyway is a no-op since asm blocks are implicitly
> volatile as written in the documentation[1].
>
> Let's get rid of this redundant qualifier so we can build with newer
> GCCs.
>
> The resulting error message is the following (note that there is a
> bunch of them):
> ../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:617:5: error:
> expected '(' before 'volatile'
> asm volatile (
> ^~~~
> (
> ../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:618:1: error:
> expected unqualified-id before string constant
> ".text\n"
> ^
> ../3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp:617:15: error:
> expected ')' before string constant
> asm volatile (
> ~^
> )
> ".text\n"
> ~
>
> [1] https://gcc.gnu.org/onlinedocs/gcc/Basic-Asm.html#Basic-Asm
>
> Upstream-Status: Inappropriate
> Signed-off-by: Quentin Schulz
> ---
> .../JavaScriptCore/jit/JITStubs.cpp | 48 +--
> 1 file changed, 24 insertions(+), 24 deletions(-)
>
> diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp
> b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp
> index d8027ff2..dcead6d0 100644
> --- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp
> +++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.cpp
> @@ -116,7 +116,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, savedEBX)
> == 0x3c, JITStackFrame_s
> COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x58,
> JITStackFrame_callFrame_offset_matches_ctiTrampoline);
> COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x50,
> JITStackFrame_code_offset_matches_ctiTrampoline);
>
> -asm volatile (
> +asm (
> ".text\n"
> ".globl " SYMBOL_STRING(ctiTrampoline) "\n"
> HIDE_SYMBOL(ctiTrampoline) "\n"
> @@ -138,7 +138,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
> "ret" "\n"
> );
>
> -asm volatile (
> +asm (
> ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
> HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
> SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
> @@ -154,7 +154,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
> "ret" "\n"
> );
>
> -asm volatile (
> +asm (
> ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
> HIDE_SYMBOL(ctiOpThrowNotCaught) "\n"
> SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
> @@ -179,7 +179,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, savedRBX)
> == 0x48, JITStackFrame_s
> COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x90,
> JITStackFrame_callFrame_offset_matches_ctiTrampoline);
> COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x80,
> JITStackFrame_code_offset_matches_ctiTrampoline);
>
> -asm volatile (
> +asm (
> ".globl " SYMBOL_STRING(ctiTrampoline) "\n"
> HIDE_SYMBOL(ctiTrampoline) "\n"
> SYMBOL_STRING(ctiTrampoline) ":" "\n"
> @@ -206,7 +206,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
> "ret" "\n"
> );
>
> -asm volatile (
> +asm (
> ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
> HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
> SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
> @@ -222,7 +222,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
> "ret" "\n"
> );
>
> -asm volatile (
> +asm (
> ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
> HIDE_SYMBOL(ctiOpThrowNotCaught) "\n"
> SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
> @@ -242,7 +242,7 @@ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
> #error "JIT_STUB_ARGUMENT_VA_LIST not supported on ARMv7."
> #endif
>
> -asm volatile (
> +asm (
> ".text" "\n"
> ".align 2" "\n"
> ".globl " SYMBOL_STRING(ctiTrampoline) "\n"
> @@ -269,7 +269,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
> "bx lr" "\n"
> );
>
> -asm volatile (
> +asm (
> ".text" "\n"
> ".align 2" "\n"
> ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
> @@ -287,7 +287,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
> "bx lr" "\n"
> );
>
> -asm volatile (
> +asm (
> ".text" "\n"
> ".align 2" "\n"
> ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
> @@ -305,7 +305,7 @@ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
>
> #elif COMPILER(GCC) && CPU(ARM_TRADITIONAL)
>
> -asm volatile (
> +asm (
> ".globl " SYMBOL_STRING(ctiTrampoline) "\n"
> HIDE_SYMBOL(ctiTrampoline) "\n"
> SYMBOL_STRING(ctiTrampoline) ":" "\n"
> @@ -323,7 +323,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
> "mov pc, lr" "\n"
> );
>
> -asm volatile (
> +asm (
> ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
> HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
> SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
> @@