[yocto] [warrior] [meta-qt4] 3rdparty: javascriptcore: JITStubs.cpp: allow builds of JavaScriptCore with gcc v8
Mike Looijmans
mike.looijmans at topic.nl
Wed Nov 20 00:00:10 PST 2019
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 <quentin.schulz at streamunlimited.com>
> ---
> .../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"
> @@ -418,7 +418,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x38, JITStackFrame_
> COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x30, JITStackFrame_code_offset_matches_ctiTrampoline);
> COMPILE_ASSERT(offsetof(struct JITStackFrame, savedEBX) == 0x1c, JITStackFrame_stub_argument_space_matches_ctiTrampoline);
>
> -asm volatile (
> +asm (
> ".text\n"
> ".globl " SYMBOL_STRING(ctiTrampoline) "\n"
> HIDE_SYMBOL(ctiTrampoline) "\n"
> @@ -440,7 +440,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
> "ret" "\n"
> );
>
> -asm volatile (
> +asm (
> ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
> HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
> SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
> @@ -456,7 +456,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
> "ret" "\n"
> );
>
> -asm volatile (
> +asm (
> ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
> HIDE_SYMBOL(ctiOpThrowNotCaught) "\n"
> SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
> @@ -480,7 +480,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x58, JITStackFrame_
> COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x48, JITStackFrame_code_offset_matches_ctiTrampoline);
> COMPILE_ASSERT(offsetof(struct JITStackFrame, savedRBX) == 0x78, JITStackFrame_stub_argument_space_matches_ctiTrampoline);
>
> -asm volatile (
> +asm (
> ".text\n"
> ".globl " SYMBOL_STRING(ctiTrampoline) "\n"
> HIDE_SYMBOL(ctiTrampoline) "\n"
> @@ -515,7 +515,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
> "ret" "\n"
> );
>
> -asm volatile (
> +asm (
> ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
> HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
> SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
> @@ -531,7 +531,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
> "ret" "\n"
> );
>
> -asm volatile (
> +asm (
> ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
> HIDE_SYMBOL(ctiOpThrowNotCaught) "\n"
> SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
> @@ -551,7 +551,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"
> @@ -578,7 +578,7 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
> "bx lr" "\n"
> );
>
> -asm volatile (
> +asm (
> ".text" "\n"
> ".align 2" "\n"
> ".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
> @@ -596,7 +596,7 @@ SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
> "bx lr" "\n"
> );
>
> -asm volatile (
> +asm (
> ".text" "\n"
> ".align 2" "\n"
> ".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
> @@ -614,7 +614,7 @@ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
>
> #elif COMPILER(GCC) && CPU(ARM_TRADITIONAL)
>
> -asm volatile (
> +asm (
> ".text\n"
> ".globl " SYMBOL_STRING(ctiTrampoline) "\n"
> HIDE_SYMBOL(ctiTrampoline) "\n"
> @@ -632,7 +632,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"
> @@ -1024,7 +1024,7 @@ static NEVER_INLINE void throwStackOverflowError(CallFrame* callFrame, JSGlobalD
> extern "C" { \
> rtype JITStubThunked_##op(STUB_ARGS_DECLARATION); \
> }; \
> - asm volatile ( \
> + asm ( \
> ".text" "\n" \
> ".align 2" "\n" \
> ".globl " SYMBOL_STRING(cti_##op) "\n" \
> @@ -1053,7 +1053,7 @@ COMPILE_ASSERT(offsetof(struct JITStackFrame, thunkReturnAddress) == THUNK_RETUR
> extern "C" { \
> rtype JITStubThunked_##op(STUB_ARGS_DECLARATION); \
> }; \
> - asm volatile ( \
> + asm ( \
> ".globl " SYMBOL_STRING(cti_##op) "\n" \
> HIDE_SYMBOL(cti_##op) "\n" \
> SYMBOL_STRING(cti_##op) ":" "\n" \
>
More information about the yocto
mailing list