summaryrefslogtreecommitdiffhomepage
path: root/dev/LibCompiler
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-03-01 19:35:15 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-03-01 19:35:15 +0100
commit8b36c248f0ac53fa1d90dfe8b79e234ad3ab0f46 (patch)
tree402b148d66a196582cc56a74f15e10523bfb7c7c /dev/LibCompiler
parentfa2690c716fcce6fc5045e87ed81f55c602062e7 (diff)
META: Tweak linkers.
Diffstat (limited to 'dev/LibCompiler')
-rw-r--r--dev/LibCompiler/src/DynamicLinkerELF.cc15
-rw-r--r--dev/LibCompiler/src/DynamicLinkerPEF.cc14
2 files changed, 13 insertions, 16 deletions
diff --git a/dev/LibCompiler/src/DynamicLinkerELF.cc b/dev/LibCompiler/src/DynamicLinkerELF.cc
index 7a1e66f..dca7efb 100644
--- a/dev/LibCompiler/src/DynamicLinkerELF.cc
+++ b/dev/LibCompiler/src/DynamicLinkerELF.cc
@@ -34,6 +34,9 @@
#define kLinkerVersionStr "NeOS 64-Bit Linker (ELF) %s, (c) Amlal EL Mahrouss 2024, all rights reserved.\n"
+#define kPrintF printf
+#define kLinkerSplash() kPrintF(kWhite kLinkerVersionStr, kDistVersion)
+
#define MemoryCopy(DST, SRC, SZ) memcpy(DST, SRC, SZ)
#define StringCompare(DST, SRC) strcmp(DST, SRC)
@@ -42,21 +45,18 @@
#define kWhite "\e[0;97m"
-#define kStdOut (std::cout << kWhite << "ld64: ")
+#define kStdOut (std::cout << kWhite << "ld64 (ELF): ")
#define kLinkerDefaultOrigin kPefBaseOrigin
#define kLinkerId (0x5046FF)
#define kLinkerAbiContainer "Container:ABI:"
-/// @brief PEF stack size symbol.
-#define kLinkerStackSizeSymbol "SizeOfReserveStack"
-
namespace Detail
{
struct DynamicLinkerBlob final
{
- std::vector<CharType> mBlob{}; // PEF code/bss/data blob.
- UIntPtr mObjOffset{0UL}; // the offset of the PEF container header..
+ std::vector<CharType> mBlob{}; // ELF code/bss/data blob.
+ UIntPtr mOffset{0UL}; // the offset of the ELF container header...
};
} // namespace Detail
@@ -72,9 +72,6 @@ static std::vector<Detail::DynamicLinkerBlob> kObjectBytes;
static uintptr_t kMIBCount = 8;
static uintptr_t kByteCount = 1024;
-#define kPrintF printf
-#define kLinkerSplash() kPrintF(kWhite kLinkerVersionStr, kDistVersion)
-
/// @brief NE 64-bit Linker.
/// @note This linker is made for XCOFF executable, thus NE based OSes.
LIBCOMPILER_MODULE(DynamicLinker64XCOFF)
diff --git a/dev/LibCompiler/src/DynamicLinkerPEF.cc b/dev/LibCompiler/src/DynamicLinkerPEF.cc
index 2deb3a1..084e94f 100644
--- a/dev/LibCompiler/src/DynamicLinkerPEF.cc
+++ b/dev/LibCompiler/src/DynamicLinkerPEF.cc
@@ -42,12 +42,15 @@
#define kWhite "\e[0;97m"
-#define kStdOut (std::cout << kWhite << "ld64: ")
+#define kStdOut (std::cout << kWhite << "ld64 (PEF): ")
#define kLinkerDefaultOrigin kPefBaseOrigin
#define kLinkerId (0x5046FF)
#define kLinkerAbiContainer "Container:ABI:"
+#define kPrintF printf
+#define kLinkerSplash() kPrintF(kWhite kLinkerVersionStr, kDistVersion)
+
/// @brief PEF stack size symbol.
#define kLinkerStackSizeSymbol "__PEFSizeOfReserveStack"
@@ -56,14 +59,14 @@ namespace Detail
struct DynamicLinkerBlob final
{
std::vector<CharType> mBlob{}; // PEF code/bss/data blob.
- UIntPtr mObjOffset{0UL}; // the offset of the PEF container header..
+ UIntPtr mOffset{0UL}; // the offset of the PEF container header...
};
} // namespace Detail
enum
{
kABITypeStart = 0x1010, /* Invalid ABI start of ABI list. */
- kABITypeNE = 0x5046, /* PF (NE PEF ABI) */
+ kABITypeNE = 0x5046, /* PF (NeOS's PEF ABI) */
kABITypeInvalid = 0xFFFF,
};
@@ -87,9 +90,6 @@ static std::vector<Detail::DynamicLinkerBlob> kObjectBytes;
static uintptr_t kMIBCount = 8;
static uintptr_t kByteCount = 1024;
-#define kPrintF printf
-#define kLinkerSplash() kPrintF(kWhite kLinkerVersionStr, kDistVersion)
-
/// @brief NE 64-bit Linker.
/// @note This linker is made for PEF executable, thus NE based OSes.
LIBCOMPILER_MODULE(DynamicLinker64PEF)
@@ -415,7 +415,7 @@ LIBCOMPILER_MODULE(DynamicLinker64PEF)
for (auto& byte : bytes)
{
- kObjectBytes.push_back({.mBlob = bytes, .mObjOffset = ae_header.fStartCode});
+ kObjectBytes.push_back({.mBlob = bytes, .mOffset = ae_header.fStartCode});
}
reader_protocol.FP.close();