summaryrefslogtreecommitdiff
path: root/src/cmd/gc/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/gc/init.c')
-rw-r--r--src/cmd/gc/init.c27
1 files changed, 11 insertions, 16 deletions
diff --git a/src/cmd/gc/init.c b/src/cmd/gc/init.c
index dc073443e..af4eb0336 100644
--- a/src/cmd/gc/init.c
+++ b/src/cmd/gc/init.c
@@ -30,19 +30,19 @@ renameinit(Node *n)
/*
* hand-craft the following initialization code
- * var initdone·<file> uint8 (1)
- * func Init·<file>() (2)
- * if initdone·<file> != 0 { (3)
- * if initdone·<file> == 2 (4)
+ * var initdone· uint8 (1)
+ * func init() (2)
+ * if initdone· != 0 { (3)
+ * if initdone· == 2 (4)
* return
* throw(); (5)
* }
- * initdone.<file> = 1; (6)
+ * initdone· = 1; (6)
* // over all matching imported symbols
- * <pkg>.init·<file>() (7)
+ * <pkg>.init() (7)
* { <init stmts> } (8)
- * init·<file>() // if any (9)
- * initdone.<file> = 2; (10)
+ * init·<n>() // if any (9)
+ * initdone· = 2; (10)
* return (11)
* }
*/
@@ -79,7 +79,7 @@ anyinit(NodeList *n)
// are there any imported init functions
for(h=0; h<NHASH; h++)
for(s = hash[h]; s != S; s = s->link) {
- if(s->name[0] != 'I' || strncmp(s->name, "Init·", 6) != 0)
+ if(s->name[0] != 'i' || strcmp(s->name, "init") != 0)
continue;
if(s->def == N)
continue;
@@ -118,12 +118,7 @@ fninit(NodeList *n)
// (2)
maxarg = 0;
- snprint(namebuf, sizeof(namebuf), "Init·");
-
- // this is a botch since we need a known name to
- // call the top level init function out of rt0
- if(strcmp(localpkg->name, "main") == 0)
- snprint(namebuf, sizeof(namebuf), "init");
+ snprint(namebuf, sizeof(namebuf), "init");
fn = nod(ODCLFUNC, N, N);
initsym = lookup(namebuf);
@@ -154,7 +149,7 @@ fninit(NodeList *n)
// (7)
for(h=0; h<NHASH; h++)
for(s = hash[h]; s != S; s = s->link) {
- if(s->name[0] != 'I' || strncmp(s->name, "Init·", 6) != 0)
+ if(s->name[0] != 'i' || strcmp(s->name, "init") != 0)
continue;
if(s->def == N)
continue;