You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[build] Rework handling of compressed pointers in configurations.
Currently, the VM assumes that both host and target architecture either
use compressed pointers or use uncompressed pointers. In addition, some
architecture backends fail to build if DART_COMPRESSED_POINTERS is set:
* The RISCV64 assembler doesn't currently handle compressed pointers
appropriately and fails to build due to not overriding pure virtual
methods in AssemblerBase.
* Attempting to build the ARM assembler with DART_COMPRESSED_POINTERS
set fails due to an #ifdef/#error check.
Thus, to appropriately build cross compilers for these architectures
when building an SDK with compressed pointers enabled, only add the
DART_COMPRESSED_POINTERS define if the target architecture supports
compressed pointers (currently, arm64 and x64).
This also ensures that the current cross compilers for Linux ARM64 and
Linux X64 do not use compressed pointers, even when being built as part
of an SDK with compressed pointers enabled.
TEST=ci and manual testing of create_sdk for ARM64C/X64C.
Issue: #28617
Change-Id: I6093d6e39b5e50ca4e8b689dc86181692faf9dc3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/438520
Reviewed-by: Martin Kustermann <[email protected]>
Commit-Queue: Tess Strickland <[email protected]>
0 commit comments