aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/6l/obj.c
diff options
context:
space:
mode:
authorAkshat Kumar <seed@mail.nanosouffle.net>2012-05-29 12:32:42 -0400
committerRuss Cox <rsc@golang.org>2012-05-29 12:32:42 -0400
commit154c84cdacd00a12da7ec44fa34a5c7d01823827 (patch)
treeadadef9ac17c5fbe9fcaa850439f42f432a149c6 /src/cmd/6l/obj.c
parentfefae6eed1df88397b4a53ed932e3cf3b32345ad (diff)
downloadgo-154c84cdacd00a12da7ec44fa34a5c7d01823827.tar.xz
cmd/6l: Fixes for 64-bit Plan 9
Plan 9 versions for amd64 have 2 megabyte pages. This also fixes the logic for 32-bit vs 64-bit Plan 9, making 64-bit the default, and adds logic to generate a symbols table. R=golang-dev, rsc, rminnich, ality, 0intro CC=golang-dev, john https://golang.org/cl/6218046
Diffstat (limited to 'src/cmd/6l/obj.c')
-rw-r--r--src/cmd/6l/obj.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/cmd/6l/obj.c b/src/cmd/6l/obj.c
index 64d1730842..cfce2111b8 100644
--- a/src/cmd/6l/obj.c
+++ b/src/cmd/6l/obj.c
@@ -58,8 +58,8 @@ Header headers[] = {
};
/*
- * -Hplan9x32 -T4136 -R4096 is plan9 64-bit format
- * -Hplan9 -T4128 -R4096 is plan9 32-bit format
+ * -Hplan9x32 -T4128 -R4096 is plan9 32-bit format
+ * -Hplan9 -T0x200028 -R0x200000 is plan9 64-bit format
* -Helf -T0x80110000 -R4096 is ELF32
* -Hdarwin -Tx -Rx is apple MH-exec
* -Hlinux -Tx -Rx is linux elf-exec
@@ -164,7 +164,7 @@ main(int argc, char *argv[])
diag("unknown -H option");
errorexit();
case Hplan9x32: /* plan 9 */
- HEADR = 32L+8L;
+ HEADR = 32L;
if(INITTEXT == -1)
INITTEXT = 4096+HEADR;
if(INITDAT == -1)
@@ -173,13 +173,13 @@ main(int argc, char *argv[])
INITRND = 4096;
break;
case Hplan9x64: /* plan 9 */
- HEADR = 32L;
+ HEADR = 32L + 8L;
if(INITTEXT == -1)
- INITTEXT = 4096+32;
+ INITTEXT = 0x200000+HEADR;
if(INITDAT == -1)
INITDAT = 0;
if(INITRND == -1)
- INITRND = 4096;
+ INITRND = 0x200000;
break;
case Helf: /* elf32 executable */
HEADR = rnd(52L+3*32L, 16);