1
0
mirror of https://github.com/golang/go synced 2024-11-20 00:04:43 -07:00
go/src
Srdjan Petrovic e8694c8196 runtime: initialize shared library at library-load time
This is Part 2 of the change, see Part 1 here: in https://go-review.googlesource.com/#/c/7692/

Suggested by iant@, we use the library initialization entry point to:
    - create a new OS thread and run the "regular" runtime init stack on
      that thread
    - return immediately from the main (i.e., loader) thread
    - at the first CGO invocation, we wait for the runtime initialization
      to complete.

The above mechanism is implemented only on linux_amd64.  Next step is to
support it on linux_arm.  Other platforms don't yet support shared library
compiling/linking, but we intend to use the same strategy there as well.

Change-Id: Ib2c81b1b83bee837134084b75a3beecfb8de6bf4
Reviewed-on: https://go-review.googlesource.com/8094
Run-TryBot: Srdjan Petrovic <spetrovic@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2015-04-03 01:24:51 +00:00
..
archive
bufio
builtin
bytes runtime: add runtime.cmpstring and bytes.Compare 2015-03-25 22:46:39 +00:00
cmd runtime: initialize shared library at library-load time 2015-04-03 01:24:51 +00:00
compress compress/flate: fix typo in comment 2015-04-01 16:48:04 +00:00
container
crypto crypto/x509: Fix parsing bug in uncommon CSR Attributes. 2015-04-03 00:28:30 +00:00
database/sql database/sql: provide stats on number of open connections to the database. 2015-04-01 15:24:53 +00:00
debug debug/dwarf, encoding/asn1, go/ast: fix old comments 2015-03-24 00:09:30 +00:00
encoding debug/dwarf, encoding/asn1, go/ast: fix old comments 2015-03-24 00:09:30 +00:00
errors
expvar
flag
fmt fmt: improve test coverage of %x and %X format variations for strings 2015-04-01 00:55:30 +00:00
go go/ast: fix ast.Inspect doc string 2015-04-02 03:51:22 +00:00
hash
html html/template: fix crash when escaping incomplete template 2015-03-20 19:57:45 +00:00
image image/draw: fix golden test for YCbCr.RGBA change. 2015-03-27 00:30:14 +00:00
index/suffixarray
internal cmd/gofmt, go/format: refactor common pieces into internal/format 2015-04-01 17:35:26 +00:00
io io: clarify the behavior of PipeWriter.CloseWithError(nil). 2015-03-30 09:43:11 +00:00
log
math math/big: implement missing special cases for binary operations 2015-04-02 17:05:09 +00:00
mime mime/quotedprintable: add binary mode to the writer 2015-03-30 12:49:19 +00:00
net net: deflake TestDialTimeoutFDLeak 2015-04-03 00:48:47 +00:00
os os: give race detector chance to override Exit(0) 2015-03-28 12:42:37 +00:00
path
reflect
regexp regexp: fix link to RE2 syntax 2015-03-23 19:17:52 +00:00
runtime runtime: initialize shared library at library-load time 2015-04-03 01:24:51 +00:00
sort
strconv
strings strings: Add benchmark test for trim function 2015-03-31 00:40:55 +00:00
sync
syscall syscall: apply the errno allocation fix to other operating systems 2015-03-27 16:58:02 +00:00
testing testing/quick: fix comment 2015-03-27 13:00:53 +00:00
text text/scanner: Fix EOF reporting on strange Readers 2015-04-01 03:39:22 +00:00
time time: add a thorough example for time.Format 2015-03-26 18:44:42 +00:00
unicode
unsafe
all.bash
all.bat
all.rc
androidtest.bash
bootstrap.bash
clean.bash
clean.bat
clean.rc
iostest.bash iostest.bash: build script for iOS 2015-03-30 16:54:01 +00:00
make.bash
make.bat
Make.dist
make.rc
nacltest.bash nacltest.bash: reduce test time by using bootstrapping Go to build fstest_nacl.go 2015-03-24 23:58:14 +00:00
race.bash
race.bat
run.bash
run.bat
run.rc