forked from microsoft/vcpkg
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[qt5-webengine] fix nonobvious failure (microsoft#24528)
* [qt5-webengine] Manually add nodejs to the path (microsoft#23574) The build process requires nodejs to be in PATH when webengine is built, and will build only the pdf-plugin if it's not (see microsoft#23574) * [qt5-webengine] Workaround MSVC2022 Internal Compiler Error (microsoft#23574) Add a patch based on https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/407582 which was merged into upstream. We can't take the upstream patch directly, because the patch was committed to the chromium (sub)repository which is a subdirectory in the release zip file, i.e. I had to modify the pathnames for the patch to apply * [qt5-webengine] Update diagnostics (microsoft#23574) I've spotted the linker using 16GB singlehandedly on the release (opposed to "debug") packaging, and emory consumption was almost permanently over 32GB while compiling, though peak memory consumption can be reduced by setting up low values for VCPKG_MAX_CONCURRENY Also, reword the build-prefix-too-long message * [qt5-webengine] Attempt enabling windows ci baselines (microsoft#23574) * [qt5-webengine] Regenerate version registries (microsoft#23574) * Also remove out of date comments from ci.baseline.txt referring to deleted lines. * Revert "Also remove out of date comments from ci.baseline.txt referring to deleted lines." This reverts commit 7a4d846. * [qt5-webengine] Re-add webengine blacklisting to ci.baseline (microsoft#23574) Co-authored-by: Billy Robert O'Neal III <[email protected]>
- Loading branch information
1 parent
f27af04
commit 63f1d5b
Showing
5 changed files
with
118 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
--- a/src/3rdparty/chromium/base/hash/md5_constexpr_internal.h | ||
+++ b/src/3rdparty/chromium/base/hash/md5_constexpr_internal.h | ||
@@ -281,15 +281,63 @@ struct MD5CE { | ||
return IntermediateDataToMD5Digest(ProcessMessage(data, n)); | ||
} | ||
|
||
- static constexpr uint64_t Hash64(const char* data, uint32_t n) { | ||
- IntermediateData intermediate = ProcessMessage(data, n); | ||
- return (static_cast<uint64_t>(SwapEndian(intermediate.a)) << 32) | | ||
- static_cast<uint64_t>(SwapEndian(intermediate.b)); | ||
+ static constexpr uint64_t Hash64(const char* message, uint32_t n) { | ||
+ const uint32_t m = GetPaddedMessageLength(n); | ||
+ IntermediateData intermediate0 = kInitialIntermediateData; | ||
+ for (uint32_t offset = 0; offset < m; offset += 64) { | ||
+ RoundData data = { | ||
+ GetPaddedMessageWord(message, n, m, offset), | ||
+ GetPaddedMessageWord(message, n, m, offset + 4), | ||
+ GetPaddedMessageWord(message, n, m, offset + 8), | ||
+ GetPaddedMessageWord(message, n, m, offset + 12), | ||
+ GetPaddedMessageWord(message, n, m, offset + 16), | ||
+ GetPaddedMessageWord(message, n, m, offset + 20), | ||
+ GetPaddedMessageWord(message, n, m, offset + 24), | ||
+ GetPaddedMessageWord(message, n, m, offset + 28), | ||
+ GetPaddedMessageWord(message, n, m, offset + 32), | ||
+ GetPaddedMessageWord(message, n, m, offset + 36), | ||
+ GetPaddedMessageWord(message, n, m, offset + 40), | ||
+ GetPaddedMessageWord(message, n, m, offset + 44), | ||
+ GetPaddedMessageWord(message, n, m, offset + 48), | ||
+ GetPaddedMessageWord(message, n, m, offset + 52), | ||
+ GetPaddedMessageWord(message, n, m, offset + 56), | ||
+ GetPaddedMessageWord(message, n, m, offset + 60)}; | ||
+ IntermediateData intermediate1 = intermediate0; | ||
+ for (uint32_t i = 0; i < 64; ++i) | ||
+ intermediate1 = ApplyStep(i, data, intermediate1); | ||
+ intermediate0 = Add(intermediate0, intermediate1); | ||
+ } | ||
+ return (static_cast<uint64_t>(SwapEndian(intermediate0.a)) << 32) | | ||
+ static_cast<uint64_t>(SwapEndian(intermediate0.b)); | ||
} | ||
|
||
- static constexpr uint32_t Hash32(const char* data, uint32_t n) { | ||
- IntermediateData intermediate = ProcessMessage(data, n); | ||
- return SwapEndian(intermediate.a); | ||
+ static constexpr uint32_t Hash32(const char* message, uint32_t n) { | ||
+ const uint32_t m = GetPaddedMessageLength(n); | ||
+ IntermediateData intermediate0 = kInitialIntermediateData; | ||
+ for (uint32_t offset = 0; offset < m; offset += 64) { | ||
+ RoundData data = { | ||
+ GetPaddedMessageWord(message, n, m, offset), | ||
+ GetPaddedMessageWord(message, n, m, offset + 4), | ||
+ GetPaddedMessageWord(message, n, m, offset + 8), | ||
+ GetPaddedMessageWord(message, n, m, offset + 12), | ||
+ GetPaddedMessageWord(message, n, m, offset + 16), | ||
+ GetPaddedMessageWord(message, n, m, offset + 20), | ||
+ GetPaddedMessageWord(message, n, m, offset + 24), | ||
+ GetPaddedMessageWord(message, n, m, offset + 28), | ||
+ GetPaddedMessageWord(message, n, m, offset + 32), | ||
+ GetPaddedMessageWord(message, n, m, offset + 36), | ||
+ GetPaddedMessageWord(message, n, m, offset + 40), | ||
+ GetPaddedMessageWord(message, n, m, offset + 44), | ||
+ GetPaddedMessageWord(message, n, m, offset + 48), | ||
+ GetPaddedMessageWord(message, n, m, offset + 52), | ||
+ GetPaddedMessageWord(message, n, m, offset + 56), | ||
+ GetPaddedMessageWord(message, n, m, offset + 60)}; | ||
+ IntermediateData intermediate1 = intermediate0; | ||
+ for (uint32_t i = 0; i < 64; ++i) | ||
+ intermediate1 = ApplyStep(i, data, intermediate1); | ||
+ intermediate0 = Add(intermediate0, intermediate1); | ||
+ } | ||
+ return SwapEndian(intermediate0.a); | ||
} | ||
}; | ||
|
||
--- a/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/quic_versions.h | ||
+++ b/src/3rdparty/chromium/net/third_party/quiche/src/quic/core/quic_versions.h | ||
@@ -26,6 +26,7 @@ | ||
#include <string> | ||
#include <vector> | ||
|
||
+#include "absl/base/macros.h" | ||
#include "net/third_party/quiche/src/quic/core/quic_tag.h" | ||
#include "net/third_party/quiche/src/quic/core/quic_types.h" | ||
#include "net/third_party/quiche/src/quic/platform/api/quic_export.h" | ||
@@ -181,8 +182,14 @@ QUIC_EXPORT_PRIVATE constexpr bool ParsedQuicVersionIsValid( | ||
transport_version == QUIC_VERSION_RESERVED_FOR_NEGOTIATION; | ||
if (!transport_version_is_valid) { | ||
// Iterators are not constexpr in C++14 which Chrome uses. | ||
- constexpr auto supported_transport_versions = SupportedTransportVersions(); | ||
- for (size_t i = 0; i < supported_transport_versions.size(); ++i) { | ||
+ constexpr QuicTransportVersion supported_transport_versions[] = { | ||
+ QUIC_VERSION_IETF_DRAFT_29, | ||
+ QUIC_VERSION_IETF_DRAFT_27, | ||
+ QUIC_VERSION_51, | ||
+ QUIC_VERSION_50, | ||
+ QUIC_VERSION_46, | ||
+ QUIC_VERSION_43}; | ||
+ for (size_t i = 0; i < ABSL_ARRAYSIZE(supported_transport_versions); ++i) { | ||
const QuicTransportVersion& trans_vers = supported_transport_versions[i]; | ||
if (trans_vers == transport_version) { | ||
transport_version_is_valid = true; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters