]> Cypherpunks repositories - gostls13.git/commitdiff
init filename vs pkgname
authorKen Thompson <ken@golang.org>
Sat, 19 Jul 2008 21:20:46 +0000 (14:20 -0700)
committerKen Thompson <ken@golang.org>
Sat, 19 Jul 2008 21:20:46 +0000 (14:20 -0700)
SVN=128117

src/cmd/gc/dcl.c
src/runtime/rt0_amd64.s

index 601acf5e7eb13e094ba96fc124c4e4fca3a27d7d..1c9f233097baf43df7aebaac94d953fc91637029 100644 (file)
@@ -914,11 +914,13 @@ fninit(Node *n)
        maxarg = 0;
        stksize = 0;
 
-       vargen++;
-       h = vargen;
+       snprint(namebuf, sizeof(namebuf), "init_%s_function", filename);
+
+       // this is a botch since we need a known name to
+       // call the top level init function out of rt0
        if(strcmp(package, "main") == 0)
-               h = 999;
-       snprint(namebuf, sizeof(namebuf), "init_%.3ld_function", h);
+               snprint(namebuf, sizeof(namebuf), "init_function");
+
        b = nod(ODCLFUNC, N, N);
        b->nname = newname(lookup(namebuf));
        b->type = functype(N, N, N);
index 5544833e4b6f45d50fd9f4a7ca1c80eb892e5759..20761464fb73f4ca7e080f4db9789984981571da 100644 (file)
@@ -33,7 +33,7 @@ TEXT  _rt0_amd64(SB),7,$-8
        MOVQ    24(SP), AX              // copy argv
        MOVQ    AX, 8(SP)
        CALL    args(SB)
-       CALL    mainĀ·init_999_function(SB) // initialization
+       CALL    mainĀ·init_function(SB) // initialization
 
        // create a new goroutine to start program