From 5c8b167320df4cd3cd91d36705ff9bad4d0e73c4 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Mon, 4 Aug 2025 14:20:59 +0100 Subject: feat: use `kPefMagicFat` instead of `kPefMagic` to check for a FAT binary. Signed-off-by: Amlal El Mahrouss --- dev/kernel/src/PEFCodeMgr.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'dev/kernel/src/PEFCodeMgr.cc') diff --git a/dev/kernel/src/PEFCodeMgr.cc b/dev/kernel/src/PEFCodeMgr.cc index af7ea03f..22ef7ba3 100644 --- a/dev/kernel/src/PEFCodeMgr.cc +++ b/dev/kernel/src/PEFCodeMgr.cc @@ -77,10 +77,11 @@ PEFLoader::PEFLoader(const Char* path) : fCachedBlob(nullptr), fFatBinary(false) container->Magic[3] == kPefMagic[3] && container->Magic[4] == kPefMagic[4] && container->Abi == kPefAbi) { return; - } else if (container->Magic[4] == kPefMagic[0] && container->Magic[3] == kPefMagic[1] && - container->Magic[2] == kPefMagic[2] && container->Magic[1] == kPefMagic[3] && - container->Magic[0] == kPefMagic[4] && container->Abi == kPefAbi) { - /// This is a fat binary. + } else if (container->Cpu == Detail::ldr_get_platform() && container->Magic[0] == kPefMagicFat[0] && + container->Magic[1] == kPefMagicFat[1] && container->Magic[2] == kPefMagicFat[2] && + container->Magic[3] == kPefMagicFat[3] && container->Magic[4] == kPefMagicFat[4] && + container->Abi == kPefAbi) { + /// This is a fat binary, treat it as such. this->fFatBinary = true; return; } @@ -89,7 +90,7 @@ PEFLoader::PEFLoader(const Char* path) : fCachedBlob(nullptr), fFatBinary(false) if (fCachedBlob) mm_free_ptr(fCachedBlob); - kout << "PEFLoader: Warning: Executable format error!\r"; + kout << "PEFLoader: warning: Executable format error!\r"; fCachedBlob = nullptr; } -- cgit v1.2.3