diff options
Diffstat (limited to 'src/cmd/8l')
-rw-r--r-- | src/cmd/8l/asm.c | 1 | ||||
-rw-r--r-- | src/cmd/8l/l.h | 1 | ||||
-rw-r--r-- | src/cmd/8l/obj.c | 18 |
3 files changed, 20 insertions, 0 deletions
diff --git a/src/cmd/8l/asm.c b/src/cmd/8l/asm.c index 03f9e95c9..cc4ec564b 100644 --- a/src/cmd/8l/asm.c +++ b/src/cmd/8l/asm.c @@ -696,6 +696,7 @@ asmb(void) case Hnetbsd: case Hopenbsd: case Hdragonfly: + case Hnacl: asmbelf(symo); break; case Hwindows: diff --git a/src/cmd/8l/l.h b/src/cmd/8l/l.h index f19c570c8..c9695ade0 100644 --- a/src/cmd/8l/l.h +++ b/src/cmd/8l/l.h @@ -43,6 +43,7 @@ enum thechar = '8', PtrSize = 4, IntSize = 4, + RegSize = 4, MaxAlign = 32, // max data alignment FuncAlign = 16 }; diff --git a/src/cmd/8l/obj.c b/src/cmd/8l/obj.c index 8acb5cab1..ddbd96aa0 100644 --- a/src/cmd/8l/obj.c +++ b/src/cmd/8l/obj.c @@ -42,6 +42,11 @@ char* thestring = "386"; LinkArch* thelinkarch = &link386; void +linkarchinit(void) +{ +} + +void archinit(void) { // getgoextlinkenabled is based on GO_EXTLINK_ENABLED when @@ -104,6 +109,19 @@ archinit(void) if(INITRND == -1) INITRND = 4096; break; + + case Hnacl: + elfinit(); + HEADR = 0x10000; + funcalign = 32; + if(INITTEXT == -1) + INITTEXT = 0x20000; + if(INITDAT == -1) + INITDAT = 0; + if(INITRND == -1) + INITRND = 0x10000; + break; + case Hwindows: /* PE executable */ peinit(); HEADR = PEFILEHEADR; |