]> Cypherpunks.ru repositories - gostls13.git/commit
cmd/go: new cgo build procedure
authorShenghou Ma <minux.ma@gmail.com>
Thu, 16 Aug 2012 19:42:34 +0000 (03:42 +0800)
committerShenghou Ma <minux.ma@gmail.com>
Thu, 16 Aug 2012 19:42:34 +0000 (03:42 +0800)
commit551d8b9ff5b64bded6a7dd284fb1790a2f78ead0
treed6266e34f294302313860f949255ce74bbfe50f4
parent1ac397f4b93e37f75f8c747a0167b5b2018b2d40
cmd/go: new cgo build procedure
   This CL adds a step to the build procedure for cgo programs. It uses 'ld -r'
to combine all gcc compiled object file and generate a relocatable object file
for our ld. Additionally, this linking step will combine some static linking
gcc library into the relocatable object file, so that we can use libgcc,
libmingwex and libmingw32 without problem.

   Fixes #3261.
   Fixes #1741.
   Added a testcase for linking in libgcc.

TODO:
1. still need to fix the INDIRECT_SYMBOL_LOCAL problem on Darwin/386.
2. still need to enable the libgcc test on Linux/ARM, because 5l can't deal
with thumb libgcc.

Tested on Darwin/amd64, Darwin/386, FreeBSD/amd64, FreeBSD/386, Linux/amd64,
Linux/386, Linux/ARM, Windows/amd64, Windows/386

R=iant, rsc, bradfitz, coldredlemur
CC=golang-dev
https://golang.org/cl/5822049
misc/cgo/test/cgo_test.go
misc/cgo/test/issue3261.go [new file with mode: 0644]
misc/cgo/test/sleep_windows_386.go [moved from misc/cgo/test/sleep_windows.go with 61% similarity]
src/cmd/go/build.go
src/run.bat