diff options
author | Russ Cox <rsc@golang.org> | 2014-04-03 19:04:15 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2014-04-03 19:04:15 -0400 |
commit | f3fce6e325171c742a7c6ef61e22307e9a9c090d (patch) | |
tree | 86a7ec1e903052350229bbe977f39ee15a9dddf2 | |
parent | a3972371d3f1438751b94e3de442a0ef2ce83fdd (diff) | |
download | go-f3fce6e325171c742a7c6ef61e22307e9a9c090d.tar.gz |
cmd/cc: emit gc bitmaps in read-only memory
Cuts hello world by 70kB, because we don't write
those names into the symbol table.
Update issue 6853
LGTM=khr
R=khr
CC=golang-codereviews
https://codereview.appspot.com/80370045
-rw-r--r-- | src/cmd/cc/pgen.c | 1 | ||||
-rw-r--r-- | src/cmd/ld/symtab.c | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/src/cmd/cc/pgen.c b/src/cmd/cc/pgen.c index d3fc4193e..10bebc196 100644 --- a/src/cmd/cc/pgen.c +++ b/src/cmd/cc/pgen.c @@ -51,6 +51,7 @@ makefuncdatasym(char *namefmt, int64 funcdatakind) nod.sym = sym; nod.class = CSTATIC; gins(AFUNCDATA, nodconst(funcdatakind), &nod); + linksym(sym)->type = SRODATA; return sym; } diff --git a/src/cmd/ld/symtab.c b/src/cmd/ld/symtab.c index 1d5511993..6d321c0bb 100644 --- a/src/cmd/ld/symtab.c +++ b/src/cmd/ld/symtab.c @@ -425,7 +425,7 @@ symtab(void) s->hide = 1; s->outer = symgofunc; } - if(strstr(s->name, ".gcargs·") != nil || strstr(s->name, ".gclocals·") != nil || strncmp(s->name, "gcargs·", 8) == 0 || strncmp(s->name, "gclocals·", 10) == 0) { + if(strncmp(s->name, "gcargs.", 7) == 0 || strncmp(s->name, "gclocals.", 9) == 0 || strncmp(s->name, "gclocals·", 10) == 0) { s->type = SGOFUNC; s->hide = 1; s->outer = symgofunc; |