added upstream patch to fix build error: static assertion failed due to requirement...

epel9
Than Ngo 9 months ago
parent 429d7d2944
commit aaa8532a46

@ -0,0 +1,46 @@
commit 4bdca157e7edfeb5b9c0ac77e3afbfe288f7f9cf
Author: Stefan Zager <szager@chromium.org>
Date: Mon Feb 26 02:36:37 2024 +0000
Make SameSizeAsShapeResult robust against uncommon gn args
When using uncommon build configurations, it's currently possible
to fail this assert due to details of struct field packing:
ASSERT_SIZE(ShapeResult, SameSizeAsShapeResult);
In particular, `cppgc_enable_pointer_compression = false` in args.gn
will trigger it.
This changes makes the struct layout of SameSizeAsShapeResult more
closely match that of ShapeResult, which should make it harder to
fail the assert.
Change-Id: I7406b0ac333303b6808807fa1eaf5cbecb85d858
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5323558
Auto-Submit: Stefan Zager <szager@chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick@chromium.org>
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1265024}
diff --git a/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc b/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc
index 28aabc7d66cd8..a2bfdec2775e4 100644
--- a/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc
+++ b/third_party/blink/renderer/platform/fonts/shaping/shape_result.cc
@@ -78,10 +78,13 @@ struct SameSizeAsRunInfo {
ASSERT_SIZE(ShapeResult::RunInfo, SameSizeAsRunInfo);
struct SameSizeAsShapeResult {
- Vector<int> vectors[2];
- UntracedMember<void*> members[2];
float width;
- unsigned integers[2];
+ UntracedMember<void*> deprecated_ink_bounds_;
+ Vector<int> runs_;
+ Vector<int> character_position_;
+ UntracedMember<void*> primary_font_;
+ unsigned start_index_;
+ unsigned num_characters_;
unsigned bitfields : 32;
};

@ -557,7 +557,10 @@ Patch413: fix-unknown-warning-option-messages.diff
Patch414: 0002-Highway-disable-128-bit-vsx.patch Patch414: 0002-Highway-disable-128-bit-vsx.patch
# upstream patches # upstream patches
# 64kpage support on el8
Patch500: chromium-122-el8-support-64kpage.patch Patch500: chromium-122-el8-support-64kpage.patch
# error: static assertion failed due to requirement '::WTF::internal::SizesEqual<72, 64>::value': ShapeResult should stay small
Patch501: chromium-123-shape_result-assert.patch
# Use chromium-latest.py to generate clean tarball from released build tarballs, found here: # Use chromium-latest.py to generate clean tarball from released build tarballs, found here:
# http://build.chromium.org/buildbot/official/ # http://build.chromium.org/buildbot/official/
@ -1314,6 +1317,8 @@ udev.
%endif %endif
%endif %endif
%patch -P501 -p1 -b .shape_result-assert
# Change shebang in all relevant files in this directory and all subdirectories # Change shebang in all relevant files in this directory and all subdirectories
# See `man find` for how the `-exec command {} +` syntax works # See `man find` for how the `-exec command {} +` syntax works
find -type f \( -iname "*.py" \) -exec sed -i '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{__python3}=' {} + find -type f \( -iname "*.py" \) -exec sed -i '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!%{__python3}=' {} +

Loading…
Cancel
Save