mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
liblink, runtime: preliminary support for plan9/amd64
A TLS slot is reserved by _rt0_.*_plan9 as an automatic and its address (which is static on Plan 9) is saved in the global _privates symbol. The startup linkage now is exactly like that from Plan 9 libc, and the way we access g is exactly as if we'd have used privalloc(2). Aside from making the code more standard, this change drastically simplifies it, both for 386 and for amd64, and makes the Plan 9 code in liblink common for both 386 and amd64. The amd64 runtime code was cleared of nxm assumptions, and now runs on the standard Plan 9 kernel. Note handling fixes will follow in a separate CL. LGTM=rsc R=golang-codereviews, rsc, bradfitz, dave CC=0intro, ality, golang-codereviews, jas, minux.ma, mischief https://golang.org/cl/101510049
This commit is contained in:
parent
d7b678b2ca
commit
decd810945
15 changed files with 94 additions and 142 deletions
|
|
@ -391,7 +391,7 @@ struct Link
|
|||
LSym* sym_modu;
|
||||
LSym* symmorestack[20];
|
||||
LSym* tlsg;
|
||||
LSym* plan9tos;
|
||||
LSym* plan9privates;
|
||||
Prog* curp;
|
||||
Prog* printp;
|
||||
Prog* blitrl;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue