• Aram Hăvărneanu's avatar
    runtime, syscall: link Solaris binaries directly instead of using dlopen/dlsym · fe5ef5c9
    Aram Hăvărneanu authored
    Before CL 8214 (use .plt instead of .got on Solaris) Solaris used a
    dynamic linking scheme that didn't permit lazy binding. To speed program
    startup, Go binaries only used it for a small number of symbols required
    by the runtime. Other symbols were resolved on demand on first use, and
    were cached for subsequent use. This required some moderately complex
    code in the syscall package.
    
    CL 8214 changed the way dynamic linking is implemented, and now lazy
    binding is supported. As now all symbols are resolved lazily by the
    dynamic loader, there is no need for the complex code in the syscall
    package that did the same. This CL makes Go programs link directly
    with the necessary shared libraries and deletes the lazy-loading code
    implemented in Go.
    
    Change-Id: Ifd7275db72de61b70647242e7056dd303b1aee9e
    Reviewed-on: https://go-review.googlesource.com/9184Reviewed-by: 's avatarMinux Ma <minux@golang.org>
    Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
    fe5ef5c9
syscall_solaris.go 7.36 KB