Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package webkit2gtk3 for openSUSE:Factory 
checked in at 2021-08-16 10:08:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/webkit2gtk3 (Old)
 and      /work/SRC/openSUSE:Factory/.webkit2gtk3.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "webkit2gtk3"

Mon Aug 16 10:08:38 2021 rev:123 rq:912017 version:2.32.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/webkit2gtk3/webkit2gtk3.changes  2021-08-10 
10:28:31.853713816 +0200
+++ /work/SRC/openSUSE:Factory/.webkit2gtk3.new.1899/webkit2gtk3.changes        
2021-08-16 10:13:10.398986757 +0200
@@ -1,0 +2,5 @@
+Tue Aug 10 12:10:02 UTC 2021 - Martin Li??ka <mli...@suse.cz>
+
+- Enable LTO by using upstream patch fix-lto.patch.
+
+-------------------------------------------------------------------

New:
----
  fix-lto.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ webkit2gtk3.spec ++++++
--- /var/tmp/diff_new_pack.pMcaEb/_old  2021-08-16 10:13:10.974986081 +0200
+++ /var/tmp/diff_new_pack.pMcaEb/_new  2021-08-16 10:13:10.978986076 +0200
@@ -44,6 +44,7 @@
 
 # PATCH-FIX-OPENSUSE no-forced-sse.patch jeng...@iani.de -- cure execution of 
illegal instruction in i586 firefox.
 Patch0:         no-forced-sse.patch
+Patch1:         fix-lto.patch
 
 BuildRequires:  Mesa-libEGL-devel
 BuildRequires:  Mesa-libGL-devel
@@ -263,7 +264,6 @@
 %autosetup -p1 -n webkitgtk-%{version}
 
 %build
-%define _lto_cflags %{nil}
 # Here we must muzzle our dog so it doesn't eat all the memory
 max_link_jobs="%{?jobs:%{jobs}}"
 max_compile_jobs="%{?jobs:%{jobs}}"

++++++ fix-lto.patch ++++++
>From 2a6731b62bf3043d095cbb7dc5731d7764933bed Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <mcatanz...@gnome.org>
Date: Mon, 9 Aug 2021 10:53:05 +0000
Subject: [PATCH] Adding missing REFERENCED_FROM_ASM annotations to facilitate
 LTO https://bugs.webkit.org/show_bug.cgi?id=228865

Patch by Michael Catanzaro <mcatanz...@gnome.org> on 2021-08-09
Reviewed by Yusuke Suzuki.

When investigating why WebKitGTK fails to build with LTO (link-time 
optimization) enabled,
one of the GCC developers noticed that we are missing __attribute__ (("used")) 
on several
C++ functions declared in LLIntSlowPaths.h and WasmSlowPaths.h that are called 
only from
asm. Without this attribute, GCC assumes the functions are unused and drops 
them, then
linking fails because they really are used.

* llint/LLIntSlowPaths.h:
* wasm/WasmSlowPaths.h:

Canonical link: https://commits.webkit.org/240354@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280770 
268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
 Source/JavaScriptCore/ChangeLog              | 16 ++++++++++++++++
 Source/JavaScriptCore/llint/LLIntSlowPaths.h | 20 ++++++++++----------
 Source/JavaScriptCore/wasm/WasmSlowPaths.h   |  8 ++++----
 3 files changed, 30 insertions(+), 14 deletions(-)

diff --git a/Source/JavaScriptCore/llint/LLIntSlowPaths.h 
b/Source/JavaScriptCore/llint/LLIntSlowPaths.h
index fbfd53cc551f..e20a0dfc6b87 100644
--- a/Source/JavaScriptCore/llint/LLIntSlowPaths.h
+++ b/Source/JavaScriptCore/llint/LLIntSlowPaths.h
@@ -36,15 +36,15 @@ struct ProtoCallFrame;
 
 namespace LLInt {
 
-extern "C" SlowPathReturnType llint_trace_operand(CallFrame*, const 
Instruction*, int fromWhere, int operand);
-extern "C" SlowPathReturnType llint_trace_value(CallFrame*, const 
Instruction*, int fromWhere, VirtualRegister operand);
-extern "C" void llint_write_barrier_slow(CallFrame*, JSCell*) WTF_INTERNAL;
+extern "C" SlowPathReturnType llint_trace_operand(CallFrame*, const 
Instruction*, int fromWhere, int operand) REFERENCED_FROM_ASM;
+extern "C" SlowPathReturnType llint_trace_value(CallFrame*, const 
Instruction*, int fromWhere, VirtualRegister operand) REFERENCED_FROM_ASM;
+extern "C" void llint_write_barrier_slow(CallFrame*, JSCell*) 
REFERENCED_FROM_ASM WTF_INTERNAL;
 
 #define LLINT_SLOW_PATH_DECL(name) \
     extern "C" SlowPathReturnType llint_##name(CallFrame* callFrame, const 
Instruction* pc)
 
 #define LLINT_SLOW_PATH_HIDDEN_DECL(name) \
-    LLINT_SLOW_PATH_DECL(name) WTF_INTERNAL
+    LLINT_SLOW_PATH_DECL(name) REFERENCED_FROM_ASM WTF_INTERNAL
 
 LLINT_SLOW_PATH_HIDDEN_DECL(trace_prologue);
 LLINT_SLOW_PATH_HIDDEN_DECL(trace_prologue_function_for_call);
@@ -149,13 +149,13 @@ 
LLINT_SLOW_PATH_HIDDEN_DECL(slow_path_log_shadow_chicken_tail);
 LLINT_SLOW_PATH_HIDDEN_DECL(slow_path_super_sampler_begin);
 LLINT_SLOW_PATH_HIDDEN_DECL(slow_path_super_sampler_end);
 LLINT_SLOW_PATH_HIDDEN_DECL(slow_path_out_of_line_jump_target);
-extern "C" SlowPathReturnType llint_throw_stack_overflow_error(VM*, 
ProtoCallFrame*) WTF_INTERNAL;
-extern "C" SlowPathReturnType llint_slow_path_checkpoint_osr_exit(CallFrame* 
callFrame, EncodedJSValue unused) WTF_INTERNAL;
-extern "C" SlowPathReturnType 
llint_slow_path_checkpoint_osr_exit_from_inlined_call(CallFrame* callFrame, 
EncodedJSValue callResult) WTF_INTERNAL;
+extern "C" SlowPathReturnType llint_throw_stack_overflow_error(VM*, 
ProtoCallFrame*) REFERENCED_FROM_ASM WTF_INTERNAL;
+extern "C" SlowPathReturnType llint_slow_path_checkpoint_osr_exit(CallFrame* 
callFrame, EncodedJSValue unused) REFERENCED_FROM_ASM WTF_INTERNAL;
+extern "C" SlowPathReturnType 
llint_slow_path_checkpoint_osr_exit_from_inlined_call(CallFrame* callFrame, 
EncodedJSValue callResult) REFERENCED_FROM_ASM WTF_INTERNAL;
 #if ENABLE(C_LOOP)
-extern "C" SlowPathReturnType llint_stack_check_at_vm_entry(VM*, Register*) 
WTF_INTERNAL;
+extern "C" SlowPathReturnType llint_stack_check_at_vm_entry(VM*, Register*) 
REFERENCED_FROM_ASM WTF_INTERNAL;
 #endif
-extern "C" SlowPathReturnType llint_check_vm_entry_permission(VM*, 
ProtoCallFrame*) WTF_INTERNAL;
-extern "C" NO_RETURN_DUE_TO_CRASH void llint_crash() WTF_INTERNAL;
+extern "C" SlowPathReturnType llint_check_vm_entry_permission(VM*, 
ProtoCallFrame*) REFERENCED_FROM_ASM WTF_INTERNAL;
+extern "C" NO_RETURN_DUE_TO_CRASH void llint_crash() REFERENCED_FROM_ASM 
WTF_INTERNAL;
 
 } } // namespace JSC::LLInt
diff --git a/Source/JavaScriptCore/wasm/WasmSlowPaths.h 
b/Source/JavaScriptCore/wasm/WasmSlowPaths.h
index 5b2b8f2895a1..7762118338a7 100644
--- a/Source/JavaScriptCore/wasm/WasmSlowPaths.h
+++ b/Source/JavaScriptCore/wasm/WasmSlowPaths.h
@@ -47,7 +47,7 @@ namespace LLInt {
     extern "C" SlowPathReturnType slow_path_wasm_##name(CallFrame* callFrame, 
const Instruction* pc, Wasm::Instance* instance)
 
 #define WASM_SLOW_PATH_HIDDEN_DECL(name) \
-    WASM_SLOW_PATH_DECL(name) WTF_INTERNAL
+    WASM_SLOW_PATH_DECL(name) REFERENCED_FROM_ASM WTF_INTERNAL
 
 #if ENABLE(WEBASSEMBLY_B3JIT)
 WASM_SLOW_PATH_HIDDEN_DECL(prologue_osr);
@@ -84,9 +84,9 @@ WASM_SLOW_PATH_HIDDEN_DECL(memory_atomic_wait32);
 WASM_SLOW_PATH_HIDDEN_DECL(memory_atomic_wait64);
 WASM_SLOW_PATH_HIDDEN_DECL(memory_atomic_notify);
 
-extern "C" SlowPathReturnType slow_path_wasm_throw_exception(CallFrame*, const 
Instruction*, Wasm::Instance* instance, Wasm::ExceptionType) WTF_INTERNAL;
-extern "C" SlowPathReturnType slow_path_wasm_popcount(const Instruction* pc, 
uint32_t) WTF_INTERNAL;
-extern "C" SlowPathReturnType slow_path_wasm_popcountll(const Instruction* pc, 
uint64_t) WTF_INTERNAL;
+extern "C" SlowPathReturnType slow_path_wasm_throw_exception(CallFrame*, const 
Instruction*, Wasm::Instance* instance, Wasm::ExceptionType) 
REFERENCED_FROM_ASM WTF_INTERNAL;
+extern "C" SlowPathReturnType slow_path_wasm_popcount(const Instruction* pc, 
uint32_t) REFERENCED_FROM_ASM WTF_INTERNAL;
+extern "C" SlowPathReturnType slow_path_wasm_popcountll(const Instruction* pc, 
uint64_t) REFERENCED_FROM_ASM WTF_INTERNAL;
 
 } } // namespace JSC::LLInt
 

Reply via email to