Skip to content

Commit a6736fa

Browse files
committed
cleanup toward eliminating package global name space
* switch to real dot (.) instead of center dot (·) everywhere in object files. before it was half and half depending on where in the name it appeared. * in 6c/6a/etc identifiers, · can still be used but turns into . immediately. * in export metadata, replace package identifiers with quoted strings (still package names, not paths). R=ken2, r CC=golang-dev https://golang.org/cl/190076
1 parent 0365b98 commit a6736fa

File tree

19 files changed

+228
-192
lines changed

19 files changed

+228
-192
lines changed

src/cmd/5g/gobj.c

+1-8
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,11 @@
3333
void
3434
zname(Biobuf *b, Sym *s, int t)
3535
{
36-
char *n;
37-
3836
Bputc(b, ANAME); /* as */
3937
Bputc(b, t); /* type */
4038
Bputc(b, s->sym); /* sym */
4139

42-
for(n=s->package; *n; n++)
43-
Bputc(b, *n);
44-
Bputdot(b);
45-
for(n=s->name; *n; n++)
46-
Bputc(b, *n);
47-
Bputc(b, 0);
40+
Bputname(b, s);
4841
}
4942

5043
void

src/cmd/5l/noop.c

+5-5
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ noops(void)
128128
Bflush(&bso);
129129

130130
pmorestack = P;
131-
symmorestack = lookup("runtime·morestack", 0);
131+
symmorestack = lookup("runtime.morestack", 0);
132132

133133
if(symmorestack->type == STEXT)
134134
for(p = firstp; p != P; p = p->link) {
@@ -361,7 +361,7 @@ noops(void)
361361
// MOVW.LO $autosize, R1
362362
// MOVW.LO $args, R2
363363
// MOVW.LO R14, R3
364-
// BL.LO runtime·morestack(SB) // modifies LR
364+
// BL.LO runtime.morestack(SB) // modifies LR
365365
// MOVW.W R14,$-autosize(SP)
366366

367367
// TODO(kaib): add more trampolines
@@ -412,7 +412,7 @@ noops(void)
412412
p->to.type = D_REG;
413413
p->to.reg = 3;
414414

415-
// BL.LO runtime·morestack(SB) // modifies LR
415+
// BL.LO runtime.morestack(SB) // modifies LR
416416
p = appendp(p);
417417
p->as = ABL;
418418
p->scond = C_SCOND_LO;
@@ -433,7 +433,7 @@ noops(void)
433433
// MOVW $autosize, R1
434434
// MOVW $args, R2
435435
// MOVW R14, R3
436-
// BL runtime·morestack(SB) // modifies LR
436+
// BL runtime.morestack(SB) // modifies LR
437437
// MOVW.W R14,$-autosize(SP)
438438

439439
// MOVW $autosize, R1
@@ -461,7 +461,7 @@ noops(void)
461461
p->to.type = D_REG;
462462
p->to.reg = 3;
463463

464-
// BL runtime·morestack(SB) // modifies LR
464+
// BL runtime.morestack(SB) // modifies LR
465465
p = appendp(p);
466466
p->as = ABL;
467467
p->to.type = D_BRANCH;

src/cmd/5l/obj.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ isobjfile(char *f)
7474
static char*
7575
linkername[] =
7676
{
77-
"runtime·softfloat",
77+
"runtime.softfloat",
7878
};
7979

8080
void

src/cmd/6g/gobj.c

+1-8
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,12 @@
3333
void
3434
zname(Biobuf *b, Sym *s, int t)
3535
{
36-
char *n;
37-
3836
Bputc(b, ANAME); /* as */
3937
Bputc(b, ANAME>>8); /* as */
4038
Bputc(b, t); /* type */
4139
Bputc(b, s->sym); /* sym */
4240

43-
for(n=s->package; *n; n++)
44-
Bputc(b, *n);
45-
Bputdot(b);
46-
for(n=s->name; *n; n++)
47-
Bputc(b, *n);
48-
Bputc(b, 0);
41+
Bputname(b, s);
4942
}
5043

5144
void

src/cmd/6l/pass.c

+11-11
Original file line numberDiff line numberDiff line change
@@ -513,17 +513,17 @@ brloop(Prog *p)
513513
static char*
514514
morename[] =
515515
{
516-
"runtime·morestack00",
517-
"runtime·morestack10",
518-
"runtime·morestack01",
519-
"runtime·morestack11",
520-
521-
"runtime·morestack8",
522-
"runtime·morestack16",
523-
"runtime·morestack24",
524-
"runtime·morestack32",
525-
"runtime·morestack40",
526-
"runtime·morestack48",
516+
"runtime.morestack00",
517+
"runtime.morestack10",
518+
"runtime.morestack01",
519+
"runtime.morestack11",
520+
521+
"runtime.morestack8",
522+
"runtime.morestack16",
523+
"runtime.morestack24",
524+
"runtime.morestack32",
525+
"runtime.morestack40",
526+
"runtime.morestack48",
527527
};
528528
Prog* pmorestack[nelem(morename)];
529529
Sym* symmorestack[nelem(morename)];

src/cmd/8g/gobj.c

+1-8
Original file line numberDiff line numberDiff line change
@@ -33,19 +33,12 @@
3333
void
3434
zname(Biobuf *b, Sym *s, int t)
3535
{
36-
char *n;
37-
3836
Bputc(b, ANAME); /* as */
3937
Bputc(b, ANAME>>8); /* as */
4038
Bputc(b, t); /* type */
4139
Bputc(b, s->sym); /* sym */
4240

43-
for(n=s->package; *n; n++)
44-
Bputc(b, *n);
45-
Bputdot(b);
46-
for(n=s->name; *n; n++)
47-
Bputc(b, *n);
48-
Bputc(b, 0);
41+
Bputname(b, s);
4942
}
5043

5144
void

src/cmd/8l/pass.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -498,7 +498,7 @@ dostkoff(void)
498498
Sym *symmorestack;
499499

500500
pmorestack = P;
501-
symmorestack = lookup("runtime·morestack", 0);
501+
symmorestack = lookup("runtime.morestack", 0);
502502

503503
if(symmorestack->type == STEXT)
504504
for(p = firstp; p != P; p = p->link) {
@@ -511,7 +511,7 @@ dostkoff(void)
511511
}
512512
}
513513
if(pmorestack == P)
514-
diag("runtime·morestack not defined");
514+
diag("runtime.morestack not defined");
515515

516516
curframe = 0;
517517
curbecome = 0;

src/cmd/cc/lex.c

+11
Original file line numberDiff line numberDiff line change
@@ -403,6 +403,17 @@ lookup(void)
403403
uint32 h;
404404
char *p;
405405
int c, n;
406+
char *r, *w;
407+
408+
// turn · into .
409+
for(r=w=symb; *r; r++) {
410+
if((uchar)*r == 0xc2 && (uchar)*(r+1) == 0xb7) {
411+
*w++ = '.';
412+
r++;
413+
}else
414+
*w++ = *r;
415+
}
416+
*w = '\0';
406417

407418
h = 0;
408419
for(p=symb; *p;) {

src/cmd/cc/lexbody

+11
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,17 @@ lookup(void)
221221
int32 h;
222222
char *p;
223223
int c, l;
224+
char *r, *w;
225+
226+
// turn · into .
227+
for(r=w=symb; *r; r++) {
228+
if((uchar)*r == 0xc2 && (uchar)*(r+1) == 0xb7) {
229+
*w++ = '.';
230+
r++;
231+
}else
232+
*w++ = *r;
233+
}
234+
*w = '\0';
224235

225236
h = 0;
226237
for(p=symb; c = *p; p++)

src/cmd/gc/builtin.c.boot

+84-84
Original file line numberDiff line numberDiff line change
@@ -1,92 +1,92 @@
11
char *runtimeimport =
22
"package runtime\n"
3-
"func runtime.mal (? int32) (? *any)\n"
4-
"func runtime.throwindex ()\n"
5-
"func runtime.throwreturn ()\n"
6-
"func runtime.throwinit ()\n"
7-
"func runtime.panicl ()\n"
8-
"func runtime.printbool (? bool)\n"
9-
"func runtime.printfloat (? float64)\n"
10-
"func runtime.printint (? int64)\n"
11-
"func runtime.printuint (? uint64)\n"
12-
"func runtime.printstring (? string)\n"
13-
"func runtime.printpointer (? any)\n"
14-
"func runtime.printiface (? any)\n"
15-
"func runtime.printeface (? any)\n"
16-
"func runtime.printslice (? any)\n"
17-
"func runtime.printnl ()\n"
18-
"func runtime.printsp ()\n"
19-
"func runtime.catstring (? string, ? string) (? string)\n"
20-
"func runtime.cmpstring (? string, ? string) (? int)\n"
21-
"func runtime.slicestring (? string, ? int, ? int) (? string)\n"
22-
"func runtime.slicestring1 (? string, ? int) (? string)\n"
23-
"func runtime.indexstring (? string, ? int) (? uint8)\n"
24-
"func runtime.intstring (? int64) (? string)\n"
25-
"func runtime.slicebytetostring (? []uint8) (? string)\n"
26-
"func runtime.sliceinttostring (? []int) (? string)\n"
27-
"func runtime.stringiter (? string, ? int) (? int)\n"
28-
"func runtime.stringiter2 (? string, ? int) (retk int, retv int)\n"
29-
"func runtime.slicecopy (to any, fr any, wid uint32) (? int)\n"
30-
"func runtime.ifaceI2E (iface any) (ret any)\n"
31-
"func runtime.ifaceE2I (typ *uint8, iface any) (ret any)\n"
32-
"func runtime.ifaceT2E (typ *uint8, elem any) (ret any)\n"
33-
"func runtime.ifaceE2T (typ *uint8, elem any) (ret any)\n"
34-
"func runtime.ifaceE2I2 (typ *uint8, iface any) (ret any, ok bool)\n"
35-
"func runtime.ifaceE2T2 (typ *uint8, elem any) (ret any, ok bool)\n"
36-
"func runtime.ifaceT2I (typ1 *uint8, typ2 *uint8, elem any) (ret any)\n"
37-
"func runtime.ifaceI2T (typ *uint8, iface any) (ret any)\n"
38-
"func runtime.ifaceI2T2 (typ *uint8, iface any) (ret any, ok bool)\n"
39-
"func runtime.ifaceI2I (typ *uint8, iface any) (ret any)\n"
40-
"func runtime.ifaceI2Ix (typ *uint8, iface any) (ret any)\n"
41-
"func runtime.ifaceI2I2 (typ *uint8, iface any) (ret any, ok bool)\n"
42-
"func runtime.ifaceeq (i1 any, i2 any) (ret bool)\n"
43-
"func runtime.efaceeq (i1 any, i2 any) (ret bool)\n"
44-
"func runtime.ifacethash (i1 any) (ret uint32)\n"
45-
"func runtime.efacethash (i1 any) (ret uint32)\n"
46-
"func runtime.makemap (key *uint8, val *uint8, hint int) (hmap map[any] any)\n"
47-
"func runtime.mapaccess1 (hmap map[any] any, key any) (val any)\n"
48-
"func runtime.mapaccess2 (hmap map[any] any, key any) (val any, pres bool)\n"
49-
"func runtime.mapassign1 (hmap map[any] any, key any, val any)\n"
50-
"func runtime.mapassign2 (hmap map[any] any, key any, val any, pres bool)\n"
51-
"func runtime.mapiterinit (hmap map[any] any, hiter *any)\n"
52-
"func runtime.mapiternext (hiter *any)\n"
53-
"func runtime.mapiter1 (hiter *any) (key any)\n"
54-
"func runtime.mapiter2 (hiter *any) (key any, val any)\n"
55-
"func runtime.makechan (elem *uint8, hint int) (hchan chan any)\n"
56-
"func runtime.chanrecv1 (hchan <-chan any) (elem any)\n"
57-
"func runtime.chanrecv2 (hchan <-chan any) (elem any, pres bool)\n"
58-
"func runtime.chansend1 (hchan chan<- any, elem any)\n"
59-
"func runtime.chansend2 (hchan chan<- any, elem any) (pres bool)\n"
60-
"func runtime.closechan (hchan any)\n"
61-
"func runtime.closedchan (hchan any) (? bool)\n"
62-
"func runtime.newselect (size int) (sel *uint8)\n"
63-
"func runtime.selectsend (sel *uint8, hchan chan<- any, elem any) (selected bool)\n"
64-
"func runtime.selectrecv (sel *uint8, hchan <-chan any, elem *any) (selected bool)\n"
65-
"func runtime.selectdefault (sel *uint8) (selected bool)\n"
66-
"func runtime.selectgo (sel *uint8)\n"
67-
"func runtime.makeslice (typ *uint8, nel int, cap int) (ary []any)\n"
68-
"func runtime.sliceslice1 (old []any, lb int, width int) (ary []any)\n"
69-
"func runtime.sliceslice (old []any, lb int, hb int, width int) (ary []any)\n"
70-
"func runtime.slicearray (old *any, nel int, lb int, hb int, width int) (ary []any)\n"
71-
"func runtime.closure ()\n"
72-
"func runtime.int64div (? int64, ? int64) (? int64)\n"
73-
"func runtime.uint64div (? uint64, ? uint64) (? uint64)\n"
74-
"func runtime.int64mod (? int64, ? int64) (? int64)\n"
75-
"func runtime.uint64mod (? uint64, ? uint64) (? uint64)\n"
76-
"func runtime.float64toint64 (? float64) (? int64)\n"
77-
"func runtime.int64tofloat64 (? int64) (? float64)\n"
3+
"func \"runtime\".mal (? int32) (? *any)\n"
4+
"func \"runtime\".throwindex ()\n"
5+
"func \"runtime\".throwreturn ()\n"
6+
"func \"runtime\".throwinit ()\n"
7+
"func \"runtime\".panicl ()\n"
8+
"func \"runtime\".printbool (? bool)\n"
9+
"func \"runtime\".printfloat (? float64)\n"
10+
"func \"runtime\".printint (? int64)\n"
11+
"func \"runtime\".printuint (? uint64)\n"
12+
"func \"runtime\".printstring (? string)\n"
13+
"func \"runtime\".printpointer (? any)\n"
14+
"func \"runtime\".printiface (? any)\n"
15+
"func \"runtime\".printeface (? any)\n"
16+
"func \"runtime\".printslice (? any)\n"
17+
"func \"runtime\".printnl ()\n"
18+
"func \"runtime\".printsp ()\n"
19+
"func \"runtime\".catstring (? string, ? string) (? string)\n"
20+
"func \"runtime\".cmpstring (? string, ? string) (? int)\n"
21+
"func \"runtime\".slicestring (? string, ? int, ? int) (? string)\n"
22+
"func \"runtime\".slicestring1 (? string, ? int) (? string)\n"
23+
"func \"runtime\".indexstring (? string, ? int) (? uint8)\n"
24+
"func \"runtime\".intstring (? int64) (? string)\n"
25+
"func \"runtime\".slicebytetostring (? []uint8) (? string)\n"
26+
"func \"runtime\".sliceinttostring (? []int) (? string)\n"
27+
"func \"runtime\".stringiter (? string, ? int) (? int)\n"
28+
"func \"runtime\".stringiter2 (? string, ? int) (retk int, retv int)\n"
29+
"func \"runtime\".slicecopy (to any, fr any, wid uint32) (? int)\n"
30+
"func \"runtime\".ifaceI2E (iface any) (ret any)\n"
31+
"func \"runtime\".ifaceE2I (typ *uint8, iface any) (ret any)\n"
32+
"func \"runtime\".ifaceT2E (typ *uint8, elem any) (ret any)\n"
33+
"func \"runtime\".ifaceE2T (typ *uint8, elem any) (ret any)\n"
34+
"func \"runtime\".ifaceE2I2 (typ *uint8, iface any) (ret any, ok bool)\n"
35+
"func \"runtime\".ifaceE2T2 (typ *uint8, elem any) (ret any, ok bool)\n"
36+
"func \"runtime\".ifaceT2I (typ1 *uint8, typ2 *uint8, elem any) (ret any)\n"
37+
"func \"runtime\".ifaceI2T (typ *uint8, iface any) (ret any)\n"
38+
"func \"runtime\".ifaceI2T2 (typ *uint8, iface any) (ret any, ok bool)\n"
39+
"func \"runtime\".ifaceI2I (typ *uint8, iface any) (ret any)\n"
40+
"func \"runtime\".ifaceI2Ix (typ *uint8, iface any) (ret any)\n"
41+
"func \"runtime\".ifaceI2I2 (typ *uint8, iface any) (ret any, ok bool)\n"
42+
"func \"runtime\".ifaceeq (i1 any, i2 any) (ret bool)\n"
43+
"func \"runtime\".efaceeq (i1 any, i2 any) (ret bool)\n"
44+
"func \"runtime\".ifacethash (i1 any) (ret uint32)\n"
45+
"func \"runtime\".efacethash (i1 any) (ret uint32)\n"
46+
"func \"runtime\".makemap (key *uint8, val *uint8, hint int) (hmap map[any] any)\n"
47+
"func \"runtime\".mapaccess1 (hmap map[any] any, key any) (val any)\n"
48+
"func \"runtime\".mapaccess2 (hmap map[any] any, key any) (val any, pres bool)\n"
49+
"func \"runtime\".mapassign1 (hmap map[any] any, key any, val any)\n"
50+
"func \"runtime\".mapassign2 (hmap map[any] any, key any, val any, pres bool)\n"
51+
"func \"runtime\".mapiterinit (hmap map[any] any, hiter *any)\n"
52+
"func \"runtime\".mapiternext (hiter *any)\n"
53+
"func \"runtime\".mapiter1 (hiter *any) (key any)\n"
54+
"func \"runtime\".mapiter2 (hiter *any) (key any, val any)\n"
55+
"func \"runtime\".makechan (elem *uint8, hint int) (hchan chan any)\n"
56+
"func \"runtime\".chanrecv1 (hchan <-chan any) (elem any)\n"
57+
"func \"runtime\".chanrecv2 (hchan <-chan any) (elem any, pres bool)\n"
58+
"func \"runtime\".chansend1 (hchan chan<- any, elem any)\n"
59+
"func \"runtime\".chansend2 (hchan chan<- any, elem any) (pres bool)\n"
60+
"func \"runtime\".closechan (hchan any)\n"
61+
"func \"runtime\".closedchan (hchan any) (? bool)\n"
62+
"func \"runtime\".newselect (size int) (sel *uint8)\n"
63+
"func \"runtime\".selectsend (sel *uint8, hchan chan<- any, elem any) (selected bool)\n"
64+
"func \"runtime\".selectrecv (sel *uint8, hchan <-chan any, elem *any) (selected bool)\n"
65+
"func \"runtime\".selectdefault (sel *uint8) (selected bool)\n"
66+
"func \"runtime\".selectgo (sel *uint8)\n"
67+
"func \"runtime\".makeslice (typ *uint8, nel int, cap int) (ary []any)\n"
68+
"func \"runtime\".sliceslice1 (old []any, lb int, width int) (ary []any)\n"
69+
"func \"runtime\".sliceslice (old []any, lb int, hb int, width int) (ary []any)\n"
70+
"func \"runtime\".slicearray (old *any, nel int, lb int, hb int, width int) (ary []any)\n"
71+
"func \"runtime\".closure ()\n"
72+
"func \"runtime\".int64div (? int64, ? int64) (? int64)\n"
73+
"func \"runtime\".uint64div (? uint64, ? uint64) (? uint64)\n"
74+
"func \"runtime\".int64mod (? int64, ? int64) (? int64)\n"
75+
"func \"runtime\".uint64mod (? uint64, ? uint64) (? uint64)\n"
76+
"func \"runtime\".float64toint64 (? float64) (? int64)\n"
77+
"func \"runtime\".int64tofloat64 (? int64) (? float64)\n"
7878
"\n"
7979
"$$\n";
8080
char *unsafeimport =
8181
"package unsafe\n"
82-
"type unsafe.Pointer *any\n"
83-
"func unsafe.Offsetof (? any) (? int)\n"
84-
"func unsafe.Sizeof (? any) (? int)\n"
85-
"func unsafe.Alignof (? any) (? int)\n"
86-
"func unsafe.Typeof (i interface { }) (typ interface { })\n"
87-
"func unsafe.Reflect (i interface { }) (typ interface { }, addr unsafe.Pointer)\n"
88-
"func unsafe.Unreflect (typ interface { }, addr unsafe.Pointer) (ret interface { })\n"
89-
"func unsafe.New (typ interface { }) (? unsafe.Pointer)\n"
90-
"func unsafe.NewArray (typ interface { }, n int) (? unsafe.Pointer)\n"
82+
"type \"unsafe\".Pointer *any\n"
83+
"func \"unsafe\".Offsetof (? any) (? int)\n"
84+
"func \"unsafe\".Sizeof (? any) (? int)\n"
85+
"func \"unsafe\".Alignof (? any) (? int)\n"
86+
"func \"unsafe\".Typeof (i interface { }) (typ interface { })\n"
87+
"func \"unsafe\".Reflect (i interface { }) (typ interface { }, addr \"unsafe\".Pointer)\n"
88+
"func \"unsafe\".Unreflect (typ interface { }, addr \"unsafe\".Pointer) (ret interface { })\n"
89+
"func \"unsafe\".New (typ interface { }) (? \"unsafe\".Pointer)\n"
90+
"func \"unsafe\".NewArray (typ interface { }, n int) (? \"unsafe\".Pointer)\n"
9191
"\n"
9292
"$$\n";

src/cmd/gc/dcl.c

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ static Sym* dclstack;
2727
void
2828
dcopy(Sym *a, Sym *b)
2929
{
30+
a->packagename = b->packagename;
3031
a->package = b->package;
3132
a->name = b->name;
3233
a->def = b->def;

src/cmd/gc/export.c

+2
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,7 @@ dumpexport(void)
226226

227227
lno = lineno;
228228

229+
packagequotes = 1;
229230
Bprint(bout, " import\n");
230231
Bprint(bout, "\n$$ // exports\n");
231232

@@ -244,6 +245,7 @@ dumpexport(void)
244245
}
245246

246247
Bprint(bout, "\n$$\n");
248+
packagequotes = 0;
247249

248250
lineno = lno;
249251
}

0 commit comments

Comments
 (0)