• Aram Hăvărneanu's avatar
    liblink, runtime: preliminary support for plan9/amd64 · decd8109
    Aram Hăvărneanu authored
    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
    decd8109
rt0_plan9_386.s 572 Bytes