summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/CompilerKit/ck-osx.json1
-rw-r--r--src/CompilerKit/src/Assemblers/Assembler+64x0.cc6
-rw-r--r--src/CompilerKit/src/Assemblers/Assembler+ARM64.cc6
-rw-r--r--src/CompilerKit/src/Assemblers/Assembler+PowerPC.cc8
-rw-r--r--src/CompilerKit/src/Linkers/DynamicLinker64+MachO.cc4
5 files changed, 12 insertions, 13 deletions
diff --git a/src/CompilerKit/ck-osx.json b/src/CompilerKit/ck-osx.json
index 89c53ed..6b84b89 100644
--- a/src/CompilerKit/ck-osx.json
+++ b/src/CompilerKit/ck-osx.json
@@ -20,6 +20,7 @@
"cpp_macros": [
"__NECTAR__=202505",
"CK_USE_STRUCTS=1",
+ "CK_USE_MACHO_LINKER=1",
"kDistReleaseBranch=$(git rev-parse --abbrev-ref HEAD)-$(uuidgen)"
]
}
diff --git a/src/CompilerKit/src/Assemblers/Assembler+64x0.cc b/src/CompilerKit/src/Assemblers/Assembler+64x0.cc
index 3fe4e9a..5fa1344 100644
--- a/src/CompilerKit/src/Assemblers/Assembler+64x0.cc
+++ b/src/CompilerKit/src/Assemblers/Assembler+64x0.cc
@@ -286,13 +286,13 @@ static bool asm_read_attributes(std::string line) {
result += name;
- if (name.find(".code64") != std::string::npos) {
+ if (name.find(kPefCode64) != std::string::npos) {
// data is treated as code.
kCurrentRecord.fKind = CompilerKit::kPefCode;
- } else if (name.find(".data64") != std::string::npos) {
+ } else if (name.find(kPefData64) != std::string::npos) {
// no code will be executed from here.
kCurrentRecord.fKind = CompilerKit::kPefData;
- } else if (name.find(".zero64") != std::string::npos) {
+ } else if (name.find(kPefZero64) != std::string::npos) {
// this is a bss section.
kCurrentRecord.fKind = CompilerKit::kPefZero;
}
diff --git a/src/CompilerKit/src/Assemblers/Assembler+ARM64.cc b/src/CompilerKit/src/Assemblers/Assembler+ARM64.cc
index 9957cac..6428900 100644
--- a/src/CompilerKit/src/Assemblers/Assembler+ARM64.cc
+++ b/src/CompilerKit/src/Assemblers/Assembler+ARM64.cc
@@ -290,13 +290,13 @@ static bool asm_read_attributes(std::string line) {
result += name;
- if (name.find(".code64") != std::string::npos) {
+ if (name.find(kPefCode64) != std::string::npos) {
// data is treated as code.
kCurrentRecord.fKind = CompilerKit::kPefCode;
- } else if (name.find(".data64") != std::string::npos) {
+ } else if (name.find(kPefData64) != std::string::npos) {
// no code will be executed from here.
kCurrentRecord.fKind = CompilerKit::kPefData;
- } else if (name.find(".zero64") != std::string::npos) {
+ } else if (name.find(kPefZero64) != std::string::npos) {
// this is a bss section.
kCurrentRecord.fKind = CompilerKit::kPefZero;
}
diff --git a/src/CompilerKit/src/Assemblers/Assembler+PowerPC.cc b/src/CompilerKit/src/Assemblers/Assembler+PowerPC.cc
index 35d81b8..f9d963a 100644
--- a/src/CompilerKit/src/Assemblers/Assembler+PowerPC.cc
+++ b/src/CompilerKit/src/Assemblers/Assembler+PowerPC.cc
@@ -290,17 +290,15 @@ static bool asm_read_attributes(std::string line) {
result += name;
- kCurrentRecord.fKind = CompilerKit::kKindImportSymbol;
-
if (name.find(kPefCode64) != std::string::npos) {
// data is treated as code.
- kCurrentRecord.fKind |= CompilerKit::kPefCode;
+ kCurrentRecord.fKind = CompilerKit::kPefCode;
} else if (name.find(kPefData64) != std::string::npos) {
// no code will be executed from here.
- kCurrentRecord.fKind |= CompilerKit::kPefData;
+ kCurrentRecord.fKind = CompilerKit::kPefData;
} else if (name.find(kPefZero64) != std::string::npos) {
// this is a bss section.
- kCurrentRecord.fKind |= CompilerKit::kPefZero;
+ kCurrentRecord.fKind = CompilerKit::kPefZero;
}
// this is a special case for the start stub.
diff --git a/src/CompilerKit/src/Linkers/DynamicLinker64+MachO.cc b/src/CompilerKit/src/Linkers/DynamicLinker64+MachO.cc
index a37c74b..4d54ef7 100644
--- a/src/CompilerKit/src/Linkers/DynamicLinker64+MachO.cc
+++ b/src/CompilerKit/src/Linkers/DynamicLinker64+MachO.cc
@@ -8,7 +8,7 @@
/// Last Rev: 2026
/// @note Outputs Mach-O executables with __TEXT and __DATA segments.
-#ifndef __linux__
+#ifdef CK_USE_MACHO_LINKER
#include <CompilerKit/AE.h>
#include <CompilerKit/CodeGenerator.h>
@@ -697,4 +697,4 @@ NECTAR_MODULE(DynamicLinker64MachO) {
// Last rev - 2026
-#endif // ifndef __linux__
+#endif // ifdef CK_USE_MACHO_LINKER