Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 80c1e5f70b782e8dbd5c190e9b90e91fc81e4579
https://github.com/WebKit/WebKit/commit/80c1e5f70b782e8dbd5c190e9b90e91fc81e4579
Author: David Kilzer <[email protected]>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M Tools/lldb/dump_class_layout_unittest.py
M Tools/lldb/lldbWebKitTester/DumpClassLayoutTesting.cpp
Log Message:
-----------
REGRESSION(310262@main): [lldb]
dump_class_layout_unittest.serial_test_InheritsFromClassWithPaddedBitfields
fails constantly across all platforms.
<https://bugs.webkit.org/show_bug.cgi?id=315215>
<rdar://177546068>
Reviewed by Simon Fraser.
`ClassWithPaddedBitfields` has a different exposed tail-padding profile
between architectures: x86_64 reports `dsize=10` and lets
`derivedBitfield` reuse six bytes of the base's tail padding at +10
(16-byte derived class), while arm64/arm64e report `dsize=16` and place
`derivedBitfield` at +16 (24-byte derived class). The previous expected
output assumed the arm64 layout, but `setUpClass` pinned `'x86_64'`, so
EWS bots loaded the x86_64 slice of the universal `lldbWebKitTester`
binary and saw the 16-byte layout. Local engineering builds using
`ONLY_ACTIVE_ARCH=YES` produced an arm64-only binary, which let lldb
fall back to arm64 and report the 24-byte layout that matched the
hardcoded expected output.
Detect the host architecture via `/usr/bin/lipo -archs` and prefer
`arm64e` on Apple silicon, falling back to whatever slice is present.
Branch the expected output for
`serial_test_InheritsFromClassWithPaddedBitfields` on the selected
architecture. The other padded-bitfield tests need no change because
their layouts are identical across architectures.
* Tools/lldb/dump_class_layout_unittest.py:
(_select_architecture): Add.
(TestDumpClassLayout.setUpClass):
- Pick the architecture to use for the tests.
(TestDumpClassLayout.serial_test_InheritsFromClassWithPaddedBitfields):
- Check the expected results based on the architecture.
* Tools/lldb/lldbWebKitTester/DumpClassLayoutTesting.cpp:
(InheritsFromClassWithPaddedBitfields):
- Add comment about layouts on different architectures.
Canonical link: https://commits.webkit.org/313939@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications