mirror of
https://github.com/dart-lang/sdk
synced 2024-09-15 22:31:50 +00:00
[vm] Fix Mac Arm64 AOT
The magic number has the opposite endianness on the arm64 macs. TEST=locally verified + SDK build Closes: https://github.com/dart-lang/sdk/issues/54796 Change-Id: I4a66f44e0a32fbc3530bda6ffca177ba14d9dca7 Cq-Include-Trybots: luci.dart.try:vm-aot-mac-release-arm64-try,vm-mac-debug-arm64-try,dart-sdk-mac-arm64-try,pkg-mac-release-arm64-try Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/349661 Reviewed-by: Martin Kustermann <kustermann@google.com>
This commit is contained in:
parent
fe39068928
commit
24eb977761
|
@ -40,6 +40,7 @@ MagicNumberData appjit_magic_number = {8, {0xdc, 0xdc, 0xf6, 0xf6, 0, 0, 0, 0}};
|
||||||
MagicNumberData aotelf_magic_number = {4, {0x7F, 0x45, 0x4C, 0x46, 0x0}};
|
MagicNumberData aotelf_magic_number = {4, {0x7F, 0x45, 0x4C, 0x46, 0x0}};
|
||||||
MagicNumberData aotmacho32_magic_number = {4, {0xFE, 0xED, 0xFA, 0xCE}};
|
MagicNumberData aotmacho32_magic_number = {4, {0xFE, 0xED, 0xFA, 0xCE}};
|
||||||
MagicNumberData aotmacho64_magic_number = {4, {0xFE, 0xED, 0xFA, 0xCF}};
|
MagicNumberData aotmacho64_magic_number = {4, {0xFE, 0xED, 0xFA, 0xCF}};
|
||||||
|
MagicNumberData aotmacho64_arm64_magic_number = {4, {0xCF, 0xFA, 0xED, 0xFE}};
|
||||||
MagicNumberData aotcoff_arm32_magic_number = {2, {0x01, 0xC0}};
|
MagicNumberData aotcoff_arm32_magic_number = {2, {0x01, 0xC0}};
|
||||||
MagicNumberData aotcoff_arm64_magic_number = {2, {0xAA, 0x64}};
|
MagicNumberData aotcoff_arm64_magic_number = {2, {0xAA, 0x64}};
|
||||||
MagicNumberData aotcoff_riscv32_magic_number = {2, {0x50, 0x32}};
|
MagicNumberData aotcoff_riscv32_magic_number = {2, {0x50, 0x32}};
|
||||||
|
@ -409,6 +410,7 @@ DartUtils::MagicNumber DartUtils::SniffForMagicNumber(const char* filename) {
|
||||||
ASSERT(aotelf_magic_number.length <= appjit_magic_number.length);
|
ASSERT(aotelf_magic_number.length <= appjit_magic_number.length);
|
||||||
ASSERT(aotmacho32_magic_number.length <= appjit_magic_number.length);
|
ASSERT(aotmacho32_magic_number.length <= appjit_magic_number.length);
|
||||||
ASSERT(aotmacho64_magic_number.length <= appjit_magic_number.length);
|
ASSERT(aotmacho64_magic_number.length <= appjit_magic_number.length);
|
||||||
|
ASSERT(aotmacho64_arm64_magic_number.length <= appjit_magic_number.length);
|
||||||
ASSERT(aotcoff_arm32_magic_number.length <= appjit_magic_number.length);
|
ASSERT(aotcoff_arm32_magic_number.length <= appjit_magic_number.length);
|
||||||
ASSERT(aotcoff_arm64_magic_number.length <= appjit_magic_number.length);
|
ASSERT(aotcoff_arm64_magic_number.length <= appjit_magic_number.length);
|
||||||
ASSERT(aotcoff_riscv32_magic_number.length <= appjit_magic_number.length);
|
ASSERT(aotcoff_riscv32_magic_number.length <= appjit_magic_number.length);
|
||||||
|
@ -463,6 +465,10 @@ DartUtils::MagicNumber DartUtils::SniffForMagicNumber(const uint8_t* buffer,
|
||||||
return kAotMachO64MagicNumber;
|
return kAotMachO64MagicNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (CheckMagicNumber(buffer, buffer_length, aotmacho64_arm64_magic_number)) {
|
||||||
|
return kAotMachO64Arm64MagicNumber;
|
||||||
|
}
|
||||||
|
|
||||||
if (CheckMagicNumber(buffer, buffer_length, aotcoff_arm32_magic_number)) {
|
if (CheckMagicNumber(buffer, buffer_length, aotcoff_arm32_magic_number)) {
|
||||||
return kAotCoffARM32MagicNumber;
|
return kAotCoffARM32MagicNumber;
|
||||||
}
|
}
|
||||||
|
|
|
@ -248,6 +248,7 @@ class DartUtils {
|
||||||
kAotELFMagicNumber,
|
kAotELFMagicNumber,
|
||||||
kAotMachO32MagicNumber,
|
kAotMachO32MagicNumber,
|
||||||
kAotMachO64MagicNumber,
|
kAotMachO64MagicNumber,
|
||||||
|
kAotMachO64Arm64MagicNumber,
|
||||||
kAotCoffARM32MagicNumber,
|
kAotCoffARM32MagicNumber,
|
||||||
kAotCoffARM64MagicNumber,
|
kAotCoffARM64MagicNumber,
|
||||||
kAotCoffRISCV32MagicNumber,
|
kAotCoffRISCV32MagicNumber,
|
||||||
|
|
Loading…
Reference in a new issue