diff options
| author | Amlal <amlal@nekernel.org> | 2025-08-15 23:59:49 +0200 |
|---|---|---|
| committer | Amlal <amlal@nekernel.org> | 2025-08-15 23:59:49 +0200 |
| commit | b71c7caf229abc4b24f79646fcd37af52f4bc918 (patch) | |
| tree | baab2d955ba569ca3c69230fd95b3b794af7fb59 /dev/CompilerKit/AE.h | |
| parent | 5b4ec3bd557014b61c1e0b0b3279086c7d9e6653 (diff) | |
feat! breaking ABI changes (AE object format) now has a version field.
Signed-off-by: Amlal <amlal@nekernel.org>
Diffstat (limited to 'dev/CompilerKit/AE.h')
| -rw-r--r-- | dev/CompilerKit/AE.h | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/dev/CompilerKit/AE.h b/dev/CompilerKit/AE.h index 6561baf..1c334ad 100644 --- a/dev/CompilerKit/AE.h +++ b/dev/CompilerKit/AE.h @@ -11,8 +11,10 @@ #include <CompilerKit/Defines.h> -#define kAEMag0 'A' -#define kAEMag1 'E' +#define kAEVer (0x0120) + +#define kAEMag0 'O' +#define kAEMag1 'B' #define kAESymbolLen (255) #define kAEPad (8) @@ -31,14 +33,15 @@ namespace CompilerKit { // One thing to keep in mind. // This object format, is reloctable. typedef struct AEHeader final { - Char fMagic[kAEMagLen]; - Char fArch; - Char fSubArch; - SizeType fCount; - Char fSize; - SizeType fStartCode; - SizeType fCodeSize; - Char fPad[kAEPad]; + Char fMagic[kAEMagLen] = {}; + UInt16 fVersion{kAEVer}; + Char fArch{}; + Char fSubArch{}; + SizeType fCount{}; + Char fSize{}; + SizeType fStartCode{}; + SizeType fCodeSize{}; + Char fPad[kAEPad] = {}; } PACKED AEHeader, *AEHeaderPtr; // @brief Advanced Executable Record. |
