summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2008-09-08 15:22:55 -0700
committerRuss Cox <rsc@golang.org>2008-09-08 15:22:55 -0700
commite6aeb062a19fbfd1ff3de3dc1f141d8b008d4d5f (patch)
tree9f16759de21f16447baa7854fec87081411775ef /src
parent4474659ff3af6bb6cd07edd95d0f609765277b33 (diff)
downloadgolang-e6aeb062a19fbfd1ff3de3dc1f141d8b008d4d5f.tar.gz
go linux x86-64 kernel fixes:
* change .gosymtab and .gopclntab to section 7 (note) * start INITTEXT at 4MB, not 4KB R=r OCL=14953 CL=14959
Diffstat (limited to 'src')
-rw-r--r--src/cmd/6l/asm.c6
-rw-r--r--src/cmd/6l/obj.c2
2 files changed, 4 insertions, 4 deletions
diff --git a/src/cmd/6l/asm.c b/src/cmd/6l/asm.c
index 53e39ac40..868322864 100644
--- a/src/cmd/6l/asm.c
+++ b/src/cmd/6l/asm.c
@@ -426,7 +426,7 @@ asmb(void)
wputl(4); /* Shdr with strings */
fo = 0;
- va = INITRND;
+ va = INITTEXT & ~((vlong)INITRND - 1);
w = HEADR+textsize;
linuxphdr(1, /* text - type = PT_LOAD */
@@ -537,7 +537,7 @@ asmb(void)
w = symsize;
linuxshdr(".gosymtab", /* name */
- 2, /* type */
+ 7, /* type */
0, /* flags */
0, /* addr */
fo, /* off */
@@ -551,7 +551,7 @@ asmb(void)
w = lcsize;
linuxshdr(".gopclntab", /* name */
- 2, /* type */
+ 7, /* type */
0, /* flags */
0, /* addr */
fo, /* off */
diff --git a/src/cmd/6l/obj.c b/src/cmd/6l/obj.c
index 47c0280de..1b57687ea 100644
--- a/src/cmd/6l/obj.c
+++ b/src/cmd/6l/obj.c
@@ -198,7 +198,7 @@ main(int argc, char *argv[])
case 7: /* elf64 executable */
HEADR = linuxheadr();
if(INITTEXT == -1)
- INITTEXT = 4096+HEADR;
+ INITTEXT = (1<<22)+HEADR;
if(INITDAT == -1)
INITDAT = 0;
if(INITRND == -1)