From: Dmitriy Vyukov Date: Sun, 20 Jul 2014 14:52:46 +0000 (+0400) Subject: cmd/gc: do not mark PC as pointer on stack X-Git-Tag: go1.4beta1~1048 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=88b78b41c5c645ab0f19032e6e44c82557b8835e;p=gostls13.git cmd/gc: do not mark PC as pointer on stack GC thinks that it's an invalid pointer on plan9: http://build.golang.org/log/f7da638a20544ef7f45e81f23fdbc4875044c296 LGTM=0intro R=golang-codereviews, 0intro CC=aram, golang-codereviews https://golang.org/cl/113350043 --- diff --git a/src/cmd/gc/select.c b/src/cmd/gc/select.c index 7346cf5814..86313cb2bb 100644 --- a/src/cmd/gc/select.c +++ b/src/cmd/gc/select.c @@ -347,7 +347,7 @@ selecttype(int32 size) scase = nod(OTSTRUCT, N, N); scase->list = list(scase->list, nod(ODCLFIELD, newname(lookup("sg")), sudog)); scase->list = list(scase->list, nod(ODCLFIELD, newname(lookup("chan")), typenod(ptrto(types[TUINT8])))); - scase->list = list(scase->list, nod(ODCLFIELD, newname(lookup("pc")), typenod(ptrto(types[TUINT8])))); + scase->list = list(scase->list, nod(ODCLFIELD, newname(lookup("pc")), typenod(types[TUINTPTR]))); scase->list = list(scase->list, nod(ODCLFIELD, newname(lookup("kind")), typenod(types[TUINT16]))); scase->list = list(scase->list, nod(ODCLFIELD, newname(lookup("so")), typenod(types[TUINT16]))); scase->list = list(scase->list, nod(ODCLFIELD, newname(lookup("receivedp")), typenod(ptrto(types[TUINT8]))));