From: Russ Cox Date: Mon, 8 Sep 2008 22:22:55 +0000 (-0700) Subject: go linux x86-64 kernel fixes: X-Git-Tag: weekly.2009-11-06~3263 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=c3ca056143e9b6126ceb03140eb4592d93117fb9;p=gostls13.git 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 --- diff --git a/src/cmd/6l/asm.c b/src/cmd/6l/asm.c index 53e39ac40a..8683228645 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 47c0280de5..1b57687ea7 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)