summaryrefslogtreecommitdiff
path: root/src/cmd/8l/obj.c
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2010-01-13 19:51:59 -0800
committerRuss Cox <rsc@golang.org>2010-01-13 19:51:59 -0800
commit4991d7bd50cb0c3f30bc65f12d89a211c8e1dd3e (patch)
treed17b05031726a00bfc84b5406541abf36d907803 /src/cmd/8l/obj.c
parent1f668b523424dfbff694a6118b9d02280c8683e6 (diff)
downloadgolang-4991d7bd50cb0c3f30bc65f12d89a211c8e1dd3e.tar.gz
runtime: add demo running Go on raw (emulated) hw
8l: add GOOS=pchw, stop spelling out all the elf numbers. R=r CC=golang-dev http://codereview.appspot.com/186144
Diffstat (limited to 'src/cmd/8l/obj.c')
-rw-r--r--src/cmd/8l/obj.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/cmd/8l/obj.c b/src/cmd/8l/obj.c
index 89ddf0313..5918b0e80 100644
--- a/src/cmd/8l/obj.c
+++ b/src/cmd/8l/obj.c
@@ -165,6 +165,9 @@ main(int argc, char *argv[])
if(strcmp(goos, "mingw") == 0)
HEADTYPE = 10;
else
+ if(strcmp(goos, "pchw") == 0)
+ HEADTYPE = 11;
+ else
print("goos is not known: %s\n", goos);
}
@@ -283,6 +286,17 @@ main(int argc, char *argv[])
if(INITRND == -1)
INITRND = PEALIGN;
break;
+ case 11:
+ tlsoffset = 0;
+ elfinit();
+ HEADR = ELFRESERVE;
+ if(INITTEXT == -1)
+ INITTEXT = 0x100000+HEADR;
+ if(INITDAT == -1)
+ INITDAT = 0;
+ if(INITRND == -1)
+ INITRND = 4096;
+ break;
}
if(INITDAT != 0 && INITRND != 0)
print("warning: -D0x%lux is ignored because of -R0x%lux\n",