aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/5l/obj.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/5l/obj.c')
-rw-r--r--src/cmd/5l/obj.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/cmd/5l/obj.c b/src/cmd/5l/obj.c
index c6f60ee7c8..73ff751487 100644
--- a/src/cmd/5l/obj.c
+++ b/src/cmd/5l/obj.c
@@ -33,6 +33,7 @@
#include "l.h"
#include "../ld/lib.h"
#include "../ld/elf.h"
+#include "../ld/macho.h"
#include "../ld/dwarf.h"
#include <ar.h>
@@ -64,6 +65,7 @@ archinit(void)
case Hlinux:
case Hfreebsd:
case Hnacl:
+ case Hdarwin:
break;
}
@@ -104,6 +106,17 @@ archinit(void)
if(INITRND == -1)
INITRND = 0x10000;
break;
+ case Hdarwin: /* apple MACH */
+ debug['w'] = 1; // disable DWARF generataion
+ machoinit();
+ HEADR = INITIAL_MACHO_HEADR;
+ if(INITTEXT == -1)
+ INITTEXT = 4096+HEADR;
+ if(INITDAT == -1)
+ INITDAT = 0;
+ if(INITRND == -1)
+ INITRND = 4096;
+ break;
}
if(INITDAT != 0 && INITRND != 0)
print("warning: -D0x%ux is ignored because of -R0x%ux\n",