From 432449161918cc8ee936643a62ab5c18e7ac1bfa Mon Sep 17 00:00:00 2001 From: Ivan Inozemtsev Date: Mon, 1 Aug 2022 16:32:44 +0000 Subject: [PATCH] Revert "[vm] Require exact operating system match for snapshots with code." This reverts commit 5b144f2ecbfad4c92ceb4118fd7a2617759783aa. Reason for revert: b/240912656 Original change's description: > [vm] Require exact operating system match for snapshots with code. > > TEST=ci > Change-Id: Ifb9e673f4aef0d42c2ef058174051ed6ed20b17b > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/252844 > Reviewed-by: Siva Annamalai > Reviewed-by: Brian Quinlan > Commit-Queue: Ryan Macnak > Reviewed-by: Alexander Markov # Not skipping CQ checks because original CL landed > 1 day ago. Change-Id: Id03a1d741d6dde6a570a91721771da842f2496a6 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/253282 Commit-Queue: Ryan Macnak Reviewed-by: Ivan Inozemtsev Reviewed-by: Ryan Macnak --- runtime/vm/dart.cc | 50 ++++++++++++++++++++-------------------------- 1 file changed, 22 insertions(+), 28 deletions(-) diff --git a/runtime/vm/dart.cc b/runtime/vm/dart.cc index 44f2547c71a..a12f853e18c 100644 --- a/runtime/vm/dart.cc +++ b/runtime/vm/dart.cc @@ -1133,17 +1133,30 @@ char* Dart::FeaturesString(IsolateGroup* isolate_group, FLAG_branch_coverage); } - // Generated code must match the host architecture and ABI. We check the - // strong condition of matching on operating system so that - // Platform.isAndroid etc can be compile-time constants. -#if defined(TARGET_ARCH_IA32) +// Generated code must match the host architecture and ABI. +#if defined(TARGET_ARCH_ARM) +#if defined(DART_TARGET_OS_MACOS) || defined(DART_TARGET_OS_MACOS_IOS) + buffer.AddString(" arm-ios"); +#else + buffer.AddString(" arm-eabi"); +#endif + buffer.AddString(TargetCPUFeatures::hardfp_supported() ? " hardfp" + : " softfp"); +#elif defined(TARGET_ARCH_ARM64) +#if defined(DART_TARGET_OS_FUCHSIA) + // See signal handler cheat in Assembler::EnterFrame. + buffer.AddString(" arm64-fuchsia"); +#else + buffer.AddString(" arm64-sysv"); +#endif +#elif defined(TARGET_ARCH_IA32) buffer.AddString(" ia32"); #elif defined(TARGET_ARCH_X64) - buffer.AddString(" x64"); -#elif defined(TARGET_ARCH_ARM) - buffer.AddString(" arm"); -#elif defined(TARGET_ARCH_ARM64) - buffer.AddString(" arm64"); +#if defined(DART_TARGET_OS_WINDOWS) + buffer.AddString(" x64-win"); +#else + buffer.AddString(" x64-sysv"); +#endif #elif defined(TARGET_ARCH_RISCV32) buffer.AddString(" riscv32"); #elif defined(TARGET_ARCH_RISCV64) @@ -1151,25 +1164,6 @@ char* Dart::FeaturesString(IsolateGroup* isolate_group, #else #error What architecture? #endif - -#if defined(DART_TARGET_OS_ANDROID) - buffer.AddString(" android"); -#elif defined(DART_TARGET_OS_FUCHSIA) - buffer.AddString(" fuchsia"); -#elif defined(DART_TARGET_OS_MACOS) -#if defined(DART_TARGET_OS_MACOS_IOS) - buffer.AddString(" ios"); -#else - buffer.AddString(" macos"); -#endif -#elif defined(DART_TARGET_OS_LINUX) - buffer.AddString(" linux"); -#elif defined(DART_TARGET_OS_WINDOWS) - buffer.AddString(" windows"); -#else -#error What operating system? -#endif - #if defined(DART_COMPRESSED_POINTERS) buffer.AddString(" compressed-pointers"); #else