From 7004c3fe3148b1f081c1575341257dca18e804b2 Mon Sep 17 00:00:00 2001 From: Richard Weickelt Date: Tue, 28 Jul 2020 22:39:01 +0200 Subject: [PATCH] Fix LTO Build of QtScript When building with link-time optimization, the function cti_vm_throw was thrown away because it was only referenced by assembly code. The function needs to be marked as used. Fixes: QTBUG-42989 Change-Id: I9974a5db9105adf9079343b5e1564e58f419df97 --- src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.h b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.h index da801332..adf6d5dc 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/jit/JITStubs.h @@ -123,7 +123,7 @@ namespace JSC { JSValue* exception; Profiler** enabledProfilerReference; JSGlobalData* globalData; - + // When JIT code makes a call, it pushes its return address just below the rest of the stack. ReturnAddressPtr* returnAddressSlot() { return reinterpret_cast(this) - 1; } }; @@ -155,7 +155,7 @@ namespace JSC { // These arguments passed on the stack. Profiler** enabledProfilerReference; JSGlobalData* globalData; - + ReturnAddressPtr* returnAddressSlot() { return &thunkReturnAddress; } }; #elif CPU(ARM_TRADITIONAL) @@ -316,7 +316,7 @@ extern "C" { EncodedJSValue JIT_STUB cti_op_to_primitive(STUB_ARGS_DECLARATION); EncodedJSValue JIT_STUB cti_op_typeof(STUB_ARGS_DECLARATION); EncodedJSValue JIT_STUB cti_op_urshift(STUB_ARGS_DECLARATION); - EncodedJSValue JIT_STUB cti_vm_throw(STUB_ARGS_DECLARATION); + EncodedJSValue JIT_STUB cti_vm_throw(STUB_ARGS_DECLARATION) __attribute__((used)); EncodedJSValue JIT_STUB cti_to_object(STUB_ARGS_DECLARATION); JSObject* JIT_STUB cti_op_construct_JSConstruct(STUB_ARGS_DECLARATION); JSObject* JIT_STUB cti_op_new_array(STUB_ARGS_DECLARATION); -- 2.16.3