1
0
mirror of https://github.com/golang/go synced 2024-11-22 06:04:39 -07:00
go/src
Shenghou Ma 551d8b9ff5 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
2012-08-17 03:42:34 +08:00
..
cmd cmd/go: new cgo build procedure 2012-08-17 03:42:34 +08:00
lib9 lib9: fix memory leak in p9getwd() 2012-06-05 01:31:23 +08:00
libbio build: delete make paraphernalia 2012-02-06 13:34:25 -05:00
libmach cmd/5a, cmd/5l: add MULW{T,B} and MULAW{T,B} support for ARM 2012-06-08 02:42:28 +08:00
pkg exp/html: simplify testing code 2012-08-16 09:31:22 +10:00
all.bash build: restore PATH before "dist banner" 2012-06-06 20:19:16 +08:00
all.bat build: restore PATH before "dist banner" 2012-06-06 20:19:16 +08:00
all.rc build: dist-based build for Plan 9 2012-05-01 22:32:46 -07:00
clean.bash build: fix clean.bash 2012-02-15 23:52:07 +09:00
clean.bat build: implement clean.bat 2012-02-20 12:17:27 +11:00
clean.rc build: dist-based build for Plan 9 2012-05-01 22:32:46 -07:00
make.bash build: do more during windows build 2012-03-20 14:04:20 +11:00
make.bat build: do more during windows build 2012-03-20 14:04:20 +11:00
Make.dist cmd/dist: make 'make' quieter for developers 2012-02-08 15:26:47 -05:00
make.rc build: dist-based build for Plan 9 2012-05-01 22:32:46 -07:00
run.bash misc/cgo/{life,stdio}, test/run.go: use test/run.go to do the cgo tests 2012-08-07 09:38:35 +08:00
run.bat cmd/go: new cgo build procedure 2012-08-17 03:42:34 +08:00
run.rc build: dist-based build for Plan 9 2012-05-01 22:32:46 -07:00
sudo.bash cmd/dist, sudo.bash: don't mention sudo.bash if cov or prof is not present 2012-04-02 22:33:38 +08:00