summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-04-16 15:55:20 +0200
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2024-04-16 15:55:37 +0200
commitf93fb4439aaa865d998a790348313a4c7163bb8b (patch)
treeabca8620b5efbb8287938d90457de867f89fa382
parent99167cd3a30cfc03b2080b329c6ec2e7e34898f2 (diff)
unstable: breaking ABI change of PEF executables.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
-rw-r--r--Private/KernelKit/PEF.hpp8
-rw-r--r--Private/Source/PEFCodeManager.cxx3
2 files changed, 6 insertions, 5 deletions
diff --git a/Private/KernelKit/PEF.hpp b/Private/KernelKit/PEF.hpp
index c6883f0a..532382d2 100644
--- a/Private/KernelKit/PEF.hpp
+++ b/Private/KernelKit/PEF.hpp
@@ -18,10 +18,10 @@
#include <KernelKit/LoaderInterface.hpp>
#include <NewKit/Defines.hpp>
-#define kPefMagic "PEF"
-#define kPefMagicFat "FEP"
+#define kPefMagic "Joy!"
+#define kPefMagicFat "yoJ!"
-#define kPefMagicLen 3
+#define kPefMagicLen 5
#define kPefVersion 1
#define kPefNameLen 64
@@ -83,7 +83,7 @@ enum {
};
} // namespace NewOS
-#define kPefExt ".exe"
+#define kPefExt ".exec"
#define kPefDylibExt ".lib"
#define kPefLibExt ".slib"
#define kPefObjectExt ".obj"
diff --git a/Private/Source/PEFCodeManager.cxx b/Private/Source/PEFCodeManager.cxx
index ed247963..ed6b7bbc 100644
--- a/Private/Source/PEFCodeManager.cxx
+++ b/Private/Source/PEFCodeManager.cxx
@@ -65,7 +65,8 @@ PEFLoader::PEFLoader(const char *path) : fCachedBlob(nullptr), fBad(false) {
if (container->Cpu == Detail::rt_get_pef_platform() &&
container->Magic[0] == kPefMagic[0] &&
container->Magic[1] == kPefMagic[1] &&
- container->Magic[2] == kPefMagic[2] && container->Abi == kPefAbi) {
+ container->Magic[2] == kPefMagic[2] &&
+ container->Magic[3] == kPefMagic[3] && container->Abi == kPefAbi) {
if (container->Kind != kPefKindObject &&
container->Kind != kPefKindDebug) {
kcout << "CodeManager: Info: Good executable. can proceed.\n";