git: 9e3ff8f0b99e - main - devel/qt5-script: Prevent clang from optimizing the code with undefined behavior
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 22 Mar 2024 21:19:51 UTC
The branch main has been updated by arrowd: URL: https://cgit.FreeBSD.org/ports/commit/?id=9e3ff8f0b99e7b3074f3e83c954a0395185f63f0 commit 9e3ff8f0b99e7b3074f3e83c954a0395185f63f0 Author: Tomas Tevesz <ice@extreme.hu> AuthorDate: 2024-03-22 21:16:49 +0000 Commit: Gleb Popov <arrowd@FreeBSD.org> CommitDate: 2024-03-22 21:18:36 +0000 devel/qt5-script: Prevent clang from optimizing the code with undefined behavior PR: 277236 Obtained from: OpenBSD ports --- devel/qt5-script/Makefile | 2 +- ..._javascriptcore_JavaScriptCore_interpreter_CallFrame.h | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/devel/qt5-script/Makefile b/devel/qt5-script/Makefile index cd8e2cddefbc..5fbf625428c9 100644 --- a/devel/qt5-script/Makefile +++ b/devel/qt5-script/Makefile @@ -1,6 +1,6 @@ PORTNAME= script PORTVERSION= ${QT5_VERSION}${QT5_KDE_PATCH} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= devel PKGNAMEPREFIX= qt5- diff --git a/devel/qt5-script/files/patch-src_3rdparty_javascriptcore_JavaScriptCore_interpreter_CallFrame.h b/devel/qt5-script/files/patch-src_3rdparty_javascriptcore_JavaScriptCore_interpreter_CallFrame.h new file mode 100644 index 000000000000..bce9105b6145 --- /dev/null +++ b/devel/qt5-script/files/patch-src_3rdparty_javascriptcore_JavaScriptCore_interpreter_CallFrame.h @@ -0,0 +1,15 @@ +Index: src/3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h +--- src/3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h.orig ++++ src/3rdparty/javascriptcore/JavaScriptCore/interpreter/CallFrame.h +@@ -135,9 +135,11 @@ namespace JSC { + static CallFrame* noCaller() { return reinterpret_cast<CallFrame*>(HostCallFrameFlag); } + int returnValueRegister() const { return this[RegisterFile::ReturnValueRegister].i(); } + ++#pragma clang optimize off + bool hasHostCallFrameFlag() const { return reinterpret_cast<intptr_t>(this) & HostCallFrameFlag; } + CallFrame* addHostCallFrameFlag() const { return reinterpret_cast<CallFrame*>(reinterpret_cast<intptr_t>(this) | HostCallFrameFlag); } + CallFrame* removeHostCallFrameFlag() { return reinterpret_cast<CallFrame*>(reinterpret_cast<intptr_t>(this) & ~HostCallFrameFlag); } ++#pragma clang optimize on + + private: + void setArgumentCount(int count) { static_cast<Register*>(this)[RegisterFile::ArgumentCount] = Register::withInt(count); }