From patchwork Tue Sep 3 04:40:17 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 48588 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 18E88CA101E for ; Tue, 3 Sep 2024 04:40:37 +0000 (UTC) Received: from mail-oa1-f49.google.com (mail-oa1-f49.google.com [209.85.160.49]) by mx.groups.io with SMTP id smtpd.web11.16047.1725338424936390703 for ; Mon, 02 Sep 2024 21:40:25 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=R9SKoO2d; spf=pass (domain: gmail.com, ip: 209.85.160.49, mailfrom: raj.khem@gmail.com) Received: by mail-oa1-f49.google.com with SMTP id 586e51a60fabf-26fda13f898so2846143fac.1 for ; Mon, 02 Sep 2024 21:40:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1725338424; x=1725943224; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=Cdnj9Zz3hw6z4FvXFHwiMTxGt0Sxrpw5JUwKvvnheYQ=; b=R9SKoO2dEXkulocckeDBXBzJXWFjHAY6v4DxAQFiNdr7IVZN0a1gGFhij7Iv4d8MFY 9RpIPEjbNfGtctfuaN0LPmM2Anv+4qUzACpAw8RQ2H5w6m5YL8pc/JIf+DWzxIifZvq2 apdCvceVX4dudDE+vCtMGoke9APzS+4g2EvkqjuvnzV7Gsrqtv0PFhhGB/esG5lvkcP3 zTYsM13nvZWjnVvCa1/3+tz/GlMYXKMBbNt+4h1ValR5X9eoEsrz1IP0KqViUT3Krq0i +v+NV2Mq7dUUbcUFPSPXBa7A6m1/YdOU3+NSF4ANSuEpF5pclvEN8pIIkZomxk0qqTv6 C+WQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725338424; x=1725943224; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Cdnj9Zz3hw6z4FvXFHwiMTxGt0Sxrpw5JUwKvvnheYQ=; b=EN36YtKc59u3FKdIVLIXipcDDXLQTRZFylpUcpJ7+aRy6zIFMUaCGrBPjNlrsmfx7K kJsQ/7suCUIZGj9lSFDvfc1F0gLER4qDSmS9MlklFIGMuait1H7+cqDgrHZtTfKsrHvR cA4VsSlo0ypxj0/l+ZncVX/h+xsei5bTNjXPJwFvn+Z81/mnAY/15g60RoYgh3D0GodC ivRZ7R5xXsJXUktduQK4z+syDe4HG8hnlZCw7Tc8MT/NJLxPVM33y1UkDfW82xxWnxrY 49kFPOB1KqEneT4OAuAR5lnzpdtXnfxxXJ9ooncBver6LGcGm6M0fNO7T2jXRVonlc2A rOyQ== X-Gm-Message-State: AOJu0Yxpd/e0W17WAu4lCSt4c+RiNVr/eImOHaNwYZM+7cWMhDd+XzT9 Wh/QMiHeqJlXRKhhk+gzzf+ISAjAsI53FHNkCxgMm31+vMI5uXjbI+UiZWZu X-Google-Smtp-Source: AGHT+IHgH7AEDA36dZ4SDClpqO4931yxUHGKSUISoEt+GB/dh+cpl1SE4twTN0dKjRZSl524olvIwA== X-Received: by 2002:a05:6870:e40a:b0:277:d995:423b with SMTP id 586e51a60fabf-27810c11186mr2660331fac.24.1725338423770; Mon, 02 Sep 2024 21:40:23 -0700 (PDT) Received: from apollo.localdomain ([2601:646:9d80:4380::496c]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-7d22e743245sm6989103a12.10.2024.09.02.21.40.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Sep 2024 21:40:23 -0700 (PDT) From: Khem Raj To: openembedded-core@lists.openembedded.org Cc: Khem Raj Subject: [PATCH 1/2] kea: Replace Name::NameString with vector of uint8_t Date: Mon, 2 Sep 2024 21:40:17 -0700 Message-ID: <20240903044018.3470887-1-raj.khem@gmail.com> X-Mailer: git-send-email 2.46.0 MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 03 Sep 2024 04:40:37 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/204117 This will fix build with libc++ from llvm 19.x Signed-off-by: Khem Raj --- ...me-NameString-with-vector-of-uint8_t.patch | 90 +++++++++++++++++++ ...po-in-Name-Name-append-to-ndata_-not.patch | 36 ++++++++ meta/recipes-connectivity/kea/kea_2.6.1.bb | 2 + 3 files changed, 128 insertions(+) create mode 100644 meta/recipes-connectivity/kea/files/0001-Replace-Name-NameString-with-vector-of-uint8_t.patch create mode 100644 meta/recipes-connectivity/kea/files/0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch diff --git a/meta/recipes-connectivity/kea/files/0001-Replace-Name-NameString-with-vector-of-uint8_t.patch b/meta/recipes-connectivity/kea/files/0001-Replace-Name-NameString-with-vector-of-uint8_t.patch new file mode 100644 index 00000000000..a7deeca2432 --- /dev/null +++ b/meta/recipes-connectivity/kea/files/0001-Replace-Name-NameString-with-vector-of-uint8_t.patch @@ -0,0 +1,90 @@ +From 6b9fb56e3573aa65923df9a08201dd5321a1b1f1 Mon Sep 17 00:00:00 2001 +From: Dimitry Andric +Date: Sat, 3 Aug 2024 14:37:52 +0200 +Subject: [PATCH 1/2] Replace Name::NameString with vector of uint8_t + +As noted in the libc++ 19 release notes, it now only provides +std::char_traits<> for types char, char8_t, char16_t, char32_t and +wchar_t, and any instantiation for other types will fail. + +Name::NameString is defined as a std::basic_string, so that +will no longer work. Redefine it as a std::vector instead. + +Upstream-Status: Submitted [https://gitlab.isc.org/isc-projects/kea/-/merge_requests/2410] +Signed-off-by: Khem Raj +--- + src/lib/dns/name.cc | 12 ++++++------ + src/lib/dns/name.h | 2 +- + 2 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/src/lib/dns/name.cc b/src/lib/dns/name.cc +index ac48205..085229b 100644 +--- a/src/lib/dns/name.cc ++++ b/src/lib/dns/name.cc +@@ -303,7 +303,7 @@ Name::Name(const std::string &namestring, bool downcase) { + // And get the output + labelcount_ = offsets.size(); + isc_throw_assert(labelcount_ > 0 && labelcount_ <= Name::MAX_LABELS); +- ndata_.assign(ndata.data(), ndata.size()); ++ ndata_.assign(ndata.data(), ndata.data() + ndata.size()); + length_ = ndata_.size(); + offsets_.assign(offsets.begin(), offsets.end()); + } +@@ -336,7 +336,7 @@ Name::Name(const char* namedata, size_t data_len, const Name* origin, + // Get the output + labelcount_ = offsets.size(); + isc_throw_assert(labelcount_ > 0 && labelcount_ <= Name::MAX_LABELS); +- ndata_.assign(ndata.data(), ndata.size()); ++ ndata_.assign(ndata.data(), ndata.data() + ndata.size()); + length_ = ndata_.size(); + offsets_.assign(offsets.begin(), offsets.end()); + +@@ -347,7 +347,7 @@ Name::Name(const char* namedata, size_t data_len, const Name* origin, + // Drop the last character of the data (the \0) and append a copy of + // the origin's data + ndata_.erase(ndata_.end() - 1); +- ndata_.append(origin->ndata_); ++ ndata_.insert(ndata.end(), origin->ndata_.begin(), origin->ndata_.end()); + + // Do a similar thing with offsets. However, we need to move them + // so they point after the prefix we parsed before. +@@ -582,7 +582,7 @@ Name::concatenate(const Name& suffix) const { + + Name retname; + retname.ndata_.reserve(length); +- retname.ndata_.assign(ndata_, 0, length_ - 1); ++ retname.ndata_.assign(ndata_.data(), ndata_.data() + length_ - 1); + retname.ndata_.insert(retname.ndata_.end(), + suffix.ndata_.begin(), suffix.ndata_.end()); + isc_throw_assert(retname.ndata_.size() == length); +@@ -622,7 +622,7 @@ Name::reverse() const { + NameString::const_iterator n0 = ndata_.begin(); + retname.offsets_.push_back(0); + while (rit1 != offsets_.rend()) { +- retname.ndata_.append(n0 + *rit1, n0 + *rit0); ++ retname.ndata_.insert(retname.ndata_.end(), n0 + *rit1, n0 + *rit0); + retname.offsets_.push_back(retname.ndata_.size()); + ++rit0; + ++rit1; +@@ -662,7 +662,7 @@ Name::split(const unsigned int first, const unsigned int n) const { + // original name, and append the trailing dot explicitly. + // + retname.ndata_.reserve(retname.offsets_.back() + 1); +- retname.ndata_.assign(ndata_, offsets_[first], retname.offsets_.back()); ++ retname.ndata_.assign(ndata_.data() + offsets_[first], ndata_.data() + retname.offsets_.back()); + retname.ndata_.push_back(0); + + retname.length_ = retname.ndata_.size(); +diff --git a/src/lib/dns/name.h b/src/lib/dns/name.h +index 37723e8..fac0036 100644 +--- a/src/lib/dns/name.h ++++ b/src/lib/dns/name.h +@@ -228,7 +228,7 @@ class Name { + //@{ + private: + /// \brief Name data string +- typedef std::basic_string NameString; ++ typedef std::vector NameString; + /// \brief Name offsets type + typedef std::vector NameOffsets; + diff --git a/meta/recipes-connectivity/kea/files/0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch b/meta/recipes-connectivity/kea/files/0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch new file mode 100644 index 00000000000..a24a25f1c9c --- /dev/null +++ b/meta/recipes-connectivity/kea/files/0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch @@ -0,0 +1,36 @@ +From b5f6cc6b3a2b2c35c9b9bb856861c502771079cc Mon Sep 17 00:00:00 2001 +From: Dimitry Andric +Date: Wed, 28 Aug 2024 22:32:44 +0200 +Subject: [PATCH 2/2] Fix unittests: * Typo in `Name::Name`: append to + `ndata_`, not `ndata` * In `Name::split`, use the correct iterators for + assigning + +Upstream-Status: Submitted [https://gitlab.isc.org/isc-projects/kea/-/merge_requests/2410] +Signed-off-by: Khem Raj +--- + src/lib/dns/name.cc | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/lib/dns/name.cc b/src/lib/dns/name.cc +index 085229b..47d9b8f 100644 +--- a/src/lib/dns/name.cc ++++ b/src/lib/dns/name.cc +@@ -347,7 +347,7 @@ Name::Name(const char* namedata, size_t data_len, const Name* origin, + // Drop the last character of the data (the \0) and append a copy of + // the origin's data + ndata_.erase(ndata_.end() - 1); +- ndata_.insert(ndata.end(), origin->ndata_.begin(), origin->ndata_.end()); ++ ndata_.insert(ndata_.end(), origin->ndata_.begin(), origin->ndata_.end()); + + // Do a similar thing with offsets. However, we need to move them + // so they point after the prefix we parsed before. +@@ -662,7 +662,8 @@ Name::split(const unsigned int first, const unsigned int n) const { + // original name, and append the trailing dot explicitly. + // + retname.ndata_.reserve(retname.offsets_.back() + 1); +- retname.ndata_.assign(ndata_.data() + offsets_[first], ndata_.data() + retname.offsets_.back()); ++ auto it = ndata_.data() + offsets_[first]; ++ retname.ndata_.assign(it, it + retname.offsets_.back()); + retname.ndata_.push_back(0); + + retname.length_ = retname.ndata_.size(); diff --git a/meta/recipes-connectivity/kea/kea_2.6.1.bb b/meta/recipes-connectivity/kea/kea_2.6.1.bb index bd9e63ceed2..4f8c4124cb4 100644 --- a/meta/recipes-connectivity/kea/kea_2.6.1.bb +++ b/meta/recipes-connectivity/kea/kea_2.6.1.bb @@ -17,6 +17,8 @@ SRC_URI = "http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \ file://fix-multilib-conflict.patch \ file://fix_pid_keactrl.patch \ file://0001-src-lib-log-logger_unittest_support.cc-do-not-write-.patch \ + file://0001-Replace-Name-NameString-with-vector-of-uint8_t.patch \ + file://0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch \ " SRC_URI[sha256sum] = "d2ce14a91c2e248ad2876e29152d647bcc5e433bc68dafad0ee96ec166fcfad1" From patchwork Tue Sep 3 04:40:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Khem Raj X-Patchwork-Id: 48589 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1AFC9CD3430 for ; Tue, 3 Sep 2024 04:40:37 +0000 (UTC) Received: from mail-yb1-f171.google.com (mail-yb1-f171.google.com [209.85.219.171]) by mx.groups.io with SMTP id smtpd.web10.15841.1725338426507566336 for ; Mon, 02 Sep 2024 21:40:26 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=BqMJD26B; spf=pass (domain: gmail.com, ip: 209.85.219.171, mailfrom: raj.khem@gmail.com) Received: by mail-yb1-f171.google.com with SMTP id 3f1490d57ef6-e04196b7603so5258003276.0 for ; Mon, 02 Sep 2024 21:40:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1725338425; x=1725943225; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=mpZIZm2ZjKOQ1JmH9hd4GOHLZ4yij+9h6X3VyS6ItwY=; b=BqMJD26BhlqqziZ9pqOfk5uBLwVR8xeaMlhFKLyg7+tMfzMwV/OBqJSgnCQfjxTlhY x3KLDh3ychwpn70RyTCvdK9E89+jmwk2kE59cvJjDWbD/Wkx/EIGWOWc7TCrPBWuM8m0 1nl06lzl5aoEGXKZZQuHqaylHYtFZWQ/IUZwRkGZZEV2ZxvwOutILi0G+f3rhtoYJA5R 0fgjlW/zZx44xGlFtl0kB446QPuCX3q96VHP7iBRn6JQ8jwqhzno13G6ItyXLPbSnded 0+MthwiuyIKgzxjzp8M90SRWu+q/h1bnNHHmyJMIVXcL9+rc6iIk0AD6plUe7SLjVLXE 9PKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725338425; x=1725943225; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mpZIZm2ZjKOQ1JmH9hd4GOHLZ4yij+9h6X3VyS6ItwY=; b=WD8QyQIrRioQUUOWFM1CNmitTOc3bcdtUdJUIW2zJPyaSVizlIdxWuLrEWW8q+m1Db JdloCElWm7ZD8GOOlUhLgaH/oztpkqeBa7+F0ioARB/wKMK8e2ABlAo+n8H7KQ6A0oK8 hm71MMBq4t7UA31VHIhR/m4kPVRi67+n1pI0MSxFSx0/V8lg6ODNwjz7008I4aZCwkSU GCwRlHQCnO4uboY5f4c5UsQKYQB5uvS7iLrstl8Or5G2HxgNxW5tRQPvXbmxVs+1kVo6 bvHbZaG1lKUoJ62UhWPIlYnBo4Of/ofiACTf0vwQ6XQBL505q7AtVgkUJzEZ1PoKKTtA 0rIg== X-Gm-Message-State: AOJu0Yy94h0n12niiXptGHehz4mbCISPlbHInRcitor9XWLwax3BFSoQ hWsyXISpzw0yfdNfg1dsBamQzCdC0L+oJN1yMv76eEcDAoyZdsWTIYPqsfcD X-Google-Smtp-Source: AGHT+IHhQztlHE38LTWCiJkDjaE2LZvZfJ6dba9P7PgdsUFtq1POIdUq9zvX4YN0xb5x7Pk0qJOvSw== X-Received: by 2002:a05:6902:e09:b0:e1c:eb3c:2c19 with SMTP id 3f1490d57ef6-e1ceb3c2cfamr2860276276.28.1725338425102; Mon, 02 Sep 2024 21:40:25 -0700 (PDT) Received: from apollo.localdomain ([2601:646:9d80:4380::496c]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-7d22e743245sm6989103a12.10.2024.09.02.21.40.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Sep 2024 21:40:24 -0700 (PDT) From: Khem Raj To: openembedded-core@lists.openembedded.org Cc: Khem Raj Subject: [PATCH 2/2] webkitgtk: Fix build issues with clang-19 Date: Mon, 2 Sep 2024 21:40:18 -0700 Message-ID: <20240903044018.3470887-2-raj.khem@gmail.com> X-Mailer: git-send-email 2.46.0 In-Reply-To: <20240903044018.3470887-1-raj.khem@gmail.com> References: <20240903044018.3470887-1-raj.khem@gmail.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 03 Sep 2024 04:40:37 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/204118 Signed-off-by: Khem Raj --- ...1-Fix-build-issues-with-latest-Clang.patch | 251 ++++++++++++++++++ meta/recipes-sato/webkit/webkitgtk_2.44.3.bb | 1 + 2 files changed, 252 insertions(+) create mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-issues-with-latest-Clang.patch diff --git a/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-issues-with-latest-Clang.patch b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-issues-with-latest-Clang.patch new file mode 100644 index 00000000000..2be899fea84 --- /dev/null +++ b/meta/recipes-sato/webkit/webkitgtk/0001-Fix-build-issues-with-latest-Clang.patch @@ -0,0 +1,251 @@ +From 257ed304fb3e71d412568dcbed7129c145812fdf Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 2 Sep 2024 21:38:12 -0700 +Subject: [PATCH] Fix build issues with latest Clang + https://bugs.webkit.org/show_bug.cgi?id=276198 rdar://130933637 + +Reviewed by Yusuke Suzuki. + +The use of the template keyword to reference template members without a template argument list was deprecated in the C++ standard. +e.g. `foo.template bar()` nows needs to be `foo.template bar<>()`. I ran into a different issue with `std::reference_wrapper` that +blocked me from going any further, which AFAICT is a bug on the Clang side. + +This also fixes a few other warnings that popped up while building with the new Clang denoted inline + +* Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp: +(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): Clang didn't like the implicit static_cast(UINT32_MAX) so make it explicit with a static_assert no data was lost. +* Source/JavaScriptCore/jit/AssemblyHelpers.cpp: +(JSC::AssemblyHelpers::emitNonNullDecodeZeroExtendedStructureID): Clang didn't like the implicit static_cast(UINT32_MAX) so make it explicit with a static_assert no data was lost. +* Source/JavaScriptCore/llint/InPlaceInterpreter.cpp: +* Source/JavaScriptCore/llint/LLIntData.h: +(JSC::LLInt::getCodeFunctionPtr): +(JSC::LLInt::getWide16CodeFunctionPtr): +(JSC::LLInt::getWide32CodeFunctionPtr): +* Source/JavaScriptCore/parser/Nodes.h: Missing definition of ModuleScopeData added include. +* Source/JavaScriptCore/runtime/JSCast.h: +(JSC::JSCastingHelpers::inherits): +(JSC::jsDynamicCast): +* Source/ThirdParty/libwebrtc/Source/third_party/boringssl/src/crypto/bio/connect.c: +(conn_callback_ctrl): Had a warning about an incompatible function type. Seems like this is intentional suppressed the warning. +* Source/WTF/wtf/cf/TypeCastsCF.h: Had a warning about extra namespace qualification. I just moved it out of the namespace. That said, it feels like this warning shouldn't apply to macro expansions... +* Source/WebCore/PAL/ThirdParty/libavif/ThirdParty/dav1d/src/decode.c: +(decode_b): Had a warning about different types on the middle/right of a ternary expression. I just pushed the comparison inside the ternary. + +Canonical link: https://commits.webkit.org/280700@main + +Upstream-Status: Backport [https://github.com/WebKit/WebKit/commit/62b6e2db547e#diff-136d848d7c1b400da9b486916b67592b54e5abf7c66ac247697a93ae2fb743a9] +Signed-off-by: Khem Raj +--- + Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp | 6 ++++-- + Source/JavaScriptCore/jit/AssemblyHelpers.cpp | 6 ++++-- + .../JavaScriptCore/llint/InPlaceInterpreter.cpp | 16 ++++++++-------- + Source/JavaScriptCore/llint/LLIntData.h | 12 ++++++------ + Source/JavaScriptCore/llint/LLIntThunks.cpp | 2 +- + Source/JavaScriptCore/parser/Nodes.h | 4 ++-- + Source/JavaScriptCore/runtime/JSCast.h | 4 ++-- + 7 files changed, 27 insertions(+), 23 deletions(-) + +diff --git a/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp b/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp +index 42a4eae7..dd987726 100644 +--- a/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp ++++ b/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp +@@ -22930,8 +22930,10 @@ IGNORE_CLANG_WARNINGS_END + return m_out.shl(m_out.zeroExtPtr(structureID), m_out.constIntPtr(StructureID::encodeShiftAmount)); + #else + LValue maskedStructureID = structureID; +- if constexpr (structureHeapAddressSize < 4 * GB) +- maskedStructureID = m_out.bitAnd(structureID, m_out.constInt32(StructureID::structureIDMask)); ++ if constexpr (structureHeapAddressSize < 4 * GB) { ++ static_assert(static_cast(StructureID::structureIDMask) == StructureID::structureIDMask); ++ maskedStructureID = m_out.bitAnd(structureID, m_out.constInt32(static_cast(StructureID::structureIDMask))); ++ } + return m_out.bitOr(m_out.constIntPtr(startOfStructureHeap()), m_out.zeroExtPtr(maskedStructureID)); + #endif + } +diff --git a/Source/JavaScriptCore/jit/AssemblyHelpers.cpp b/Source/JavaScriptCore/jit/AssemblyHelpers.cpp +index c939d27a..982dc46f 100644 +--- a/Source/JavaScriptCore/jit/AssemblyHelpers.cpp ++++ b/Source/JavaScriptCore/jit/AssemblyHelpers.cpp +@@ -677,8 +677,10 @@ void AssemblyHelpers::emitNonNullDecodeZeroExtendedStructureID(RegisterID source + if constexpr (structureHeapAddressSize >= 4 * GB) { + ASSERT(structureHeapAddressSize == 4 * GB); + move(source, dest); +- } else +- and32(TrustedImm32(StructureID::structureIDMask), source, dest); ++ } else { ++ static_assert(static_cast(StructureID::structureIDMask) == StructureID::structureIDMask); ++ and32(TrustedImm32(static_cast(StructureID::structureIDMask)), source, dest); ++ } + or64(TrustedImm64(startOfStructureHeap()), dest); + #else // not CPU(ADDRESS64) + move(source, dest); +diff --git a/Source/JavaScriptCore/llint/InPlaceInterpreter.cpp b/Source/JavaScriptCore/llint/InPlaceInterpreter.cpp +index b9442b4f..a1d5a6c4 100644 +--- a/Source/JavaScriptCore/llint/InPlaceInterpreter.cpp ++++ b/Source/JavaScriptCore/llint/InPlaceInterpreter.cpp +@@ -43,8 +43,8 @@ namespace JSC { namespace IPInt { + do { \ + void* base = reinterpret_cast(ipint_unreachable_validate); \ + void* ptr = reinterpret_cast(ipint_ ## name ## _validate); \ +- void* untaggedBase = CodePtr::fromTaggedPtr(base).template untaggedPtr(); \ +- void* untaggedPtr = CodePtr::fromTaggedPtr(ptr).template untaggedPtr(); \ ++ void* untaggedBase = CodePtr::fromTaggedPtr(base).template untaggedPtr<>(); \ ++ void* untaggedPtr = CodePtr::fromTaggedPtr(ptr).template untaggedPtr<>(); \ + RELEASE_ASSERT_WITH_MESSAGE((char*)(untaggedPtr) - (char*)(untaggedBase) == opcode * 256, #name); \ + } while (false); + +@@ -52,8 +52,8 @@ do { \ + do { \ + void* base = reinterpret_cast(ipint_i32_trunc_sat_f32_s_validate); \ + void* ptr = reinterpret_cast(ipint_ ## name ## _validate); \ +- void* untaggedBase = CodePtr::fromTaggedPtr(base).template untaggedPtr(); \ +- void* untaggedPtr = CodePtr::fromTaggedPtr(ptr).template untaggedPtr(); \ ++ void* untaggedBase = CodePtr::fromTaggedPtr(base).template untaggedPtr<>(); \ ++ void* untaggedPtr = CodePtr::fromTaggedPtr(ptr).template untaggedPtr<>(); \ + RELEASE_ASSERT_WITH_MESSAGE((char*)(untaggedPtr) - (char*)(untaggedBase) == opcode * 256, #name); \ + } while (false); + +@@ -61,8 +61,8 @@ do { \ + do { \ + void* base = reinterpret_cast(ipint_simd_v128_load_mem_validate); \ + void* ptr = reinterpret_cast(ipint_ ## name ## _validate); \ +- void* untaggedBase = CodePtr::fromTaggedPtr(base).template untaggedPtr(); \ +- void* untaggedPtr = CodePtr::fromTaggedPtr(ptr).template untaggedPtr(); \ ++ void* untaggedBase = CodePtr::fromTaggedPtr(base).template untaggedPtr<>(); \ ++ void* untaggedPtr = CodePtr::fromTaggedPtr(ptr).template untaggedPtr<>(); \ + RELEASE_ASSERT_WITH_MESSAGE((char*)(untaggedPtr) - (char*)(untaggedBase) == opcode * 256, #name); \ + } while (false); + +@@ -70,8 +70,8 @@ do { \ + do { \ + void* base = reinterpret_cast(ipint_memory_atomic_notify_validate); \ + void* ptr = reinterpret_cast(ipint_ ## name ## _validate); \ +- void* untaggedBase = CodePtr::fromTaggedPtr(base).template untaggedPtr(); \ +- void* untaggedPtr = CodePtr::fromTaggedPtr(ptr).template untaggedPtr(); \ ++ void* untaggedBase = CodePtr::fromTaggedPtr(base).template untaggedPtr<>(); \ ++ void* untaggedPtr = CodePtr::fromTaggedPtr(ptr).template untaggedPtr<>(); \ + RELEASE_ASSERT_WITH_MESSAGE((char*)(untaggedPtr) - (char*)(untaggedBase) == opcode * 256, #name); \ + } while (false); + +diff --git a/Source/JavaScriptCore/llint/LLIntData.h b/Source/JavaScriptCore/llint/LLIntData.h +index 97de867e..87a2971d 100644 +--- a/Source/JavaScriptCore/llint/LLIntData.h ++++ b/Source/JavaScriptCore/llint/LLIntData.h +@@ -217,7 +217,7 @@ ALWAYS_INLINE LLIntCode getCodeFunctionPtr(OpcodeID opcodeID) + #if COMPILER(MSVC) + return reinterpret_cast(getCodePtr(opcodeID).taggedPtr()); + #else +- return reinterpret_cast(getCodePtr(opcodeID).template taggedPtr()); ++ return reinterpret_cast(getCodePtr(opcodeID).template taggedPtr<>()); + #endif + } + +@@ -227,7 +227,7 @@ ALWAYS_INLINE LLIntCode getWide16CodeFunctionPtr(OpcodeID opcodeID) + #if COMPILER(MSVC) + return reinterpret_cast(getWide16CodePtr(opcodeID).taggedPtr()); + #else +- return reinterpret_cast(getWide16CodePtr(opcodeID).template taggedPtr()); ++ return reinterpret_cast(getWide16CodePtr(opcodeID).template taggedPtr<>()); + #endif + } + +@@ -237,7 +237,7 @@ ALWAYS_INLINE LLIntCode getWide32CodeFunctionPtr(OpcodeID opcodeID) + #if COMPILER(MSVC) + return reinterpret_cast(getWide32CodePtr(opcodeID).taggedPtr()); + #else +- return reinterpret_cast(getWide32CodePtr(opcodeID).template taggedPtr()); ++ return reinterpret_cast(getWide32CodePtr(opcodeID).template taggedPtr<>()); + #endif + } + #else // not ENABLE(JIT) +@@ -361,7 +361,7 @@ ALWAYS_INLINE LLIntCode getCodeFunctionPtr(WasmOpcodeID opcodeID) + #if COMPILER(MSVC) + return reinterpret_cast(getCodePtr(opcodeID).taggedPtr()); + #else +- return reinterpret_cast(getCodePtr(opcodeID).template taggedPtr()); ++ return reinterpret_cast(getCodePtr(opcodeID).template taggedPtr<>()); + #endif + } + +@@ -371,7 +371,7 @@ ALWAYS_INLINE LLIntCode getWide16CodeFunctionPtr(WasmOpcodeID opcodeID) + #if COMPILER(MSVC) + return reinterpret_cast(getWide16CodePtr(opcodeID).taggedPtr()); + #else +- return reinterpret_cast(getWide16CodePtr(opcodeID).template taggedPtr()); ++ return reinterpret_cast(getWide16CodePtr(opcodeID).template taggedPtr<>()); + #endif + } + +@@ -381,7 +381,7 @@ ALWAYS_INLINE LLIntCode getWide32CodeFunctionPtr(WasmOpcodeID opcodeID) + #if COMPILER(MSVC) + return reinterpret_cast(getWide32CodePtr(opcodeID).taggedPtr()); + #else +- return reinterpret_cast(getWide32CodePtr(opcodeID).template taggedPtr()); ++ return reinterpret_cast(getWide32CodePtr(opcodeID).template taggedPtr<>()); + #endif + } + #else // not ENABLE(JIT) +diff --git a/Source/JavaScriptCore/llint/LLIntThunks.cpp b/Source/JavaScriptCore/llint/LLIntThunks.cpp +index 13269469..e41fa5b8 100644 +--- a/Source/JavaScriptCore/llint/LLIntThunks.cpp ++++ b/Source/JavaScriptCore/llint/LLIntThunks.cpp +@@ -227,7 +227,7 @@ ALWAYS_INLINE void* untaggedPtr(void* ptr) + #if COMPILER(MSVC) + return CodePtr::fromTaggedPtr(ptr).untaggedPtr(); + #else +- return CodePtr::fromTaggedPtr(ptr).template untaggedPtr(); ++ return CodePtr::fromTaggedPtr(ptr).template untaggedPtr<>(); + #endif + } + +diff --git a/Source/JavaScriptCore/parser/Nodes.h b/Source/JavaScriptCore/parser/Nodes.h +index 01af81b7..70b87088 100644 +--- a/Source/JavaScriptCore/parser/Nodes.h ++++ b/Source/JavaScriptCore/parser/Nodes.h +@@ -1,7 +1,7 @@ + /* + * Copyright (C) 1999-2000 Harri Porten (porten@kde.org) + * Copyright (C) 2001 Peter Kelly (pmk@post.com) +- * Copyright (C) 2003-2019 Apple Inc. All rights reserved. ++ * Copyright (C) 2003-2024 Apple Inc. All rights reserved. + * Copyright (C) 2007 Cameron Zwarich (cwzwarich@uwaterloo.ca) + * Copyright (C) 2007 Maks Orlovich + * Copyright (C) 2007 Eric Seidel +@@ -29,6 +29,7 @@ + #include "ImplementationVisibility.h" + #include "JITCode.h" + #include "Label.h" ++#include "ModuleScopeData.h" + #include "ParserArena.h" + #include "ParserModes.h" + #include "ParserTokens.h" +@@ -49,7 +50,6 @@ namespace JSC { + class FunctionMetadataNode; + class FunctionParameters; + class ModuleAnalyzer; +- class ModuleScopeData; + class PropertyListNode; + class ReadModifyResolveNode; + class RegisterID; +diff --git a/Source/JavaScriptCore/runtime/JSCast.h b/Source/JavaScriptCore/runtime/JSCast.h +index a44b6e38..e5664a8b 100644 +--- a/Source/JavaScriptCore/runtime/JSCast.h ++++ b/Source/JavaScriptCore/runtime/JSCast.h +@@ -236,7 +236,7 @@ template + bool inherits(From* from) + { + using Dispatcher = InheritsTraits; +- return Dispatcher::template inherits(from); ++ return Dispatcher::template inherits<>(from); + } + + } // namespace JSCastingHelpers +@@ -245,7 +245,7 @@ template + To jsDynamicCast(From* from) + { + using Dispatcher = JSCastingHelpers::InheritsTraits::type>::type>; +- if (LIKELY(Dispatcher::template inherits(from))) ++ if (LIKELY(Dispatcher::template inherits<>(from))) + return static_cast(from); + return nullptr; + } diff --git a/meta/recipes-sato/webkit/webkitgtk_2.44.3.bb b/meta/recipes-sato/webkit/webkitgtk_2.44.3.bb index 90fb7a1d42e..00431407fa3 100644 --- a/meta/recipes-sato/webkit/webkitgtk_2.44.3.bb +++ b/meta/recipes-sato/webkit/webkitgtk_2.44.3.bb @@ -16,6 +16,7 @@ SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ file://no-musttail-arm.patch \ file://t6-not-declared.patch \ file://30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch \ + file://0001-Fix-build-issues-with-latest-Clang.patch \ " SRC_URI[sha256sum] = "dc82d042ecaca981a4852357c06e5235743319cf10a94cd36ad41b97883a0b54"