1
0
mirror of https://github.com/golang/go synced 2024-09-29 14:14:29 -06:00
go/misc/cgo/test
Ian Lance Taylor 754f707f5f cmd/link, cmd/go, cmd/dist: use copy of libgcc.a for internal linking
Change the linker to use a copy of the C compiler support library,
libgcc.a, when doing internal linking.  This will be used to satisfy any
undefined symbols referenced by host objects.

Change the dist tool to copy the support library into a new directory
tree under GOROOT/pkg/libgcc.  This ensures that libgcc is available
even when building Go programs on a system that has no C compiler.  The
C compiler is required when building the Go installation in the first
place, but is not required thereafter.

Change the go tool to not link libgcc into cgo objects.

Correct the linker handling of a weak symbol in an ELF input object to
not always create a new symbol, but to use an existing symbol if there
is one; this is necessary on freebsd-amd64, where libgcc contains a weak
definition of compilerrt_abort_impl.

Fixes #9510.

Change-Id: I1ab28182263238d9bcaf6a42804e5da2a87d8778
Reviewed-on: https://go-review.googlesource.com/16741
Reviewed-by: Russ Cox <rsc@golang.org>
2015-11-14 18:56:17 +00:00
..
gcc68255 cmd/go: always use --whole-archive for gccgo packages 2015-11-10 20:22:13 +00:00
issue8828 cmd/go: add '_go_' suffix to go files compiled by gccgo to avoid naming conflicts 2014-10-15 13:13:37 -07:00
issue9026 misc/cgo/test: fix freebsd test failure by moving test to its own package. 2014-11-03 13:41:03 -05:00
issue9400 cmd/internal/obj, runtime: add NOFRAME flag to suppress stack frame set up on ppc64x 2015-10-18 22:13:30 +00:00
issue9510a cmd/link, cmd/go, cmd/dist: use copy of libgcc.a for internal linking 2015-11-14 18:56:17 +00:00
issue9510b cmd/link, cmd/go, cmd/dist: use copy of libgcc.a for internal linking 2015-11-14 18:56:17 +00:00
align.go
api.go misc/cgo/test: check API compatibility for cgo pseudo-functions 2013-05-30 02:59:57 +08:00
backdoor.go misc/cgo/test: get rid of the backdoor package 2014-12-24 00:18:21 +00:00
basic.go cmd/cgo: add missing ast.SliceExpr.Max case to AST traversal. 2014-09-30 16:08:04 -04:00
buildid_linux.go misc/cgo/test: fix go vet warnings 2015-10-13 17:53:20 +00:00
callback_c_gc.c runtime: delete cgo_allocate 2015-04-17 01:30:47 +00:00
callback_c_gccgo.c runtime: delete cgo_allocate 2015-04-17 01:30:47 +00:00
callback_c.c cgo: adjust return value location to account for stack copies. 2014-09-25 07:59:01 -07:00
callback.go cmd/cgo, runtime: add checks for passing pointers from Go to C 2015-11-10 22:22:10 +00:00
cflags.go all: link to https instead of http 2015-07-11 14:36:33 +00:00
cgo_linux_test.go runtime: don't always unblock all signals 2015-05-22 20:24:08 +00:00
cgo_test.go cmd/link, cmd/go, cmd/dist: use copy of libgcc.a for internal linking 2015-11-14 18:56:17 +00:00
cthread_unix.c misc/cgo: add various solaris build lines 2015-05-06 11:38:08 +00:00
cthread_windows.c
cthread.go runtime: fix stack pointer corruption in runtime.cgocallback_gofunc() 2013-04-30 04:13:32 +08:00
duplicate_symbol.go
env.go misc/cgo/test: fix go vet warnings 2015-10-13 17:53:20 +00:00
exports.go runtime: remove untyped allocation of ParFor 2014-09-16 11:03:11 -04:00
fpvar.go cmd/cgo: Add support for C function pointers 2013-08-13 12:42:21 -04:00
gcc68255.go cmd/go: always use --whole-archive for gccgo packages 2015-11-10 20:22:13 +00:00
helpers.go
issue1222.go
issue1328.go
issue1560.go misc/cgo/test: deflake TestParallelSleep once more 2013-05-18 02:55:44 +08:00
issue1635.go
issue2462.go
issue3250.go misc/cgo/test: skip test for issue 3250, the runtime isn't ready yet. 2013-07-15 14:37:36 +08:00
issue3250w.go runtime: correctly handle signals received on foreign threads 2013-07-12 04:39:39 +08:00
issue3261.go misc/cgo/test: skip issue3261 test on darwin/arm64 2015-04-16 13:00:47 +00:00
issue3729.go
issue3729w.go
issue3741.go
issue3775.go misc/cgo/test: test recursive internal OS thread lock 2013-07-23 14:43:55 -04:00
issue3945.go all: link to https instead of http 2015-07-11 14:36:33 +00:00
issue4029.go
issue4029w.go
issue4054a.go
issue4054b.go
issue4273.c
issue4273b.c
issue4339.c misc/cgo/test: test of issue 4339 2013-09-11 09:56:38 -04:00
issue4339.go misc/cgo/test: test of issue 4339 2013-09-11 09:56:38 -04:00
issue4339.h misc/cgo/test: test of issue 4339 2013-09-11 09:56:38 -04:00
issue4417.go
issue4857.go cmd/cgo: using __typeof__(a->r) instead of putting invalid TYPE in "a->r = (const TYPE)" 2013-06-02 22:46:53 +08:00
issue5227.go misc/cgo/test: fix a gcc warning 2013-04-18 02:33:55 +08:00
issue5242.go cmd/cgo: fix default alignment for empty structs 2014-08-11 22:10:17 -07:00
issue5337.go misc/cgo/test: make test work with -linkmode=internal 2013-07-11 23:24:35 -04:00
issue5337w.go misc/cgo/test: add missing import 2013-05-15 15:34:47 +10:00
issue5548_c.c cmd/cgo: use intgo, not int, for string and slice structures 2013-05-23 22:51:07 -07:00
issue5548.go misc/cgo/test: make issue5548 test pickier 2014-09-05 14:59:09 -04:00
issue5603.go cmd/cgo: use gcc_struct attribute for packed structs to work around GCC PR52991. 2013-06-09 22:06:29 +08:00
issue5740.go cmd/ld: handle duplicate static symbols in COFF and Mach-O files. 2013-09-18 22:27:25 -04:00
issue5740a.c cmd/ld: handle duplicate static symbols in COFF and Mach-O files. 2013-09-18 22:27:25 -04:00
issue5740b.c cmd/ld: handle duplicate static symbols in COFF and Mach-O files. 2013-09-18 22:27:25 -04:00
issue5986.go cmd/go: fix missing __mingw_fprintf symbol for cgo on windows 2013-09-19 01:20:02 -04:00
issue6128.go cmd/cgo: fix Xcode 5 incompatibility for #defined expressions 2013-10-15 14:34:46 -04:00
issue6390.go cmd/cgo: fix build (missing file from earlier CL) 2013-09-16 14:21:54 -04:00
issue6472.go debug/dwarf: handle surprising clang encoding 2013-10-09 11:08:22 -04:00
issue6506.go misc/cgo/test: cut out non-standard functions 2013-10-15 14:25:29 -04:00
issue6612.go cmd/cgo: stop using compiler error message text to analyze C names 2013-10-18 15:56:25 -04:00
issue6833_c.c cmd/cgo: use __gcc_struct__ for go exported functions 2013-12-10 11:30:12 +11:00
issue6833.go cmd/cgo: use __gcc_struct__ for go exported functions 2013-12-10 11:30:12 +11:00
issue6997_linux.c runtime: co-exist with NPTL's pthread_cancel. 2014-01-09 09:34:04 -08:00
issue6997_linux.go all: use one 'l' when cancelling everywhere except Solaris 2015-09-11 18:31:51 +00:00
issue7234_test.go all: link to https instead of http 2015-07-11 14:36:33 +00:00
issue7560.go cmd/cgo: omit misaligned struct fields, like we omit bitfields 2014-05-12 23:48:20 -04:00
issue7665.go misc/cgo/test: fix go vet warnings 2015-10-13 17:53:20 +00:00
issue7786.go cmd/cgo: given typedef struct S T, make C.T and C.struct_S interchangeable 2014-05-28 14:04:31 -04:00
issue7978.go runtime: rename cgocall_errno and asmcgocall_errno into cgocall and asmcgocall 2015-06-19 01:47:11 +00:00
issue8092.go cmd/{ld,link,objdump}, runtime, debug/gosym: move linker-defined symbols into runtime package 2014-08-27 20:15:05 -04:00
issue8148.go cmd/cgo: for typedef of untagged struct, use typedef name in C code 2014-06-05 10:42:03 -07:00
issue8331.h cmd/cgo: use same Go type for typedef to anonymous struct 2014-06-02 12:55:43 -07:00
issue8331a.go cmd/cgo: use same Go type for typedef to anonymous struct 2014-06-02 12:55:43 -07:00
issue8331b.go cmd/cgo: use same Go type for typedef to anonymous struct 2014-06-02 12:55:43 -07:00
issue8428.go cmd/cgo: discard trailing zero-sized fields in a non-empty C struct 2015-07-30 15:55:25 +00:00
issue8441.go cmd/cgo: fix recursive type mapping 2014-08-05 18:16:56 -07:00
issue8517_windows.c misc/cgo/test: add Test8517 2014-10-09 16:10:51 +11:00
issue8517_windows.go misc/cgo/test: add Test8517 2014-10-09 16:10:51 +11:00
issue8517.go misc/cgo/test: add Test8517 2014-10-09 16:10:51 +11:00
issue8694.go misc/cgo/test: skip test8694 on ARM. 2014-12-11 17:34:10 +11:00
issue8811.c cmd/ld: do not assume that only pe section names start with '.' 2014-10-11 22:01:04 +11:00
issue8811.go cmd/ld: do not assume that only pe section names start with '.' 2014-10-11 22:01:04 +11:00
issue8828.go cmd/go: add '_go_' suffix to go files compiled by gccgo to avoid naming conflicts 2014-10-15 13:13:37 -07:00
issue8945.go cmd/cgo: fix a problem with 'go build -compiler gccgo' 2015-06-29 15:15:59 +00:00
issue9026.go misc/cgo/test: fix freebsd test failure by moving test to its own package. 2014-11-03 13:41:03 -05:00
issue9400_linux.go misc/cgo: fix issue 9400 test on 386 2014-12-23 02:22:50 +00:00
issue9510.go cmd/link, cmd/go, cmd/dist: use copy of libgcc.a for internal linking 2015-11-14 18:56:17 +00:00
issue9557.go cmd/cgo: also rewrite C.var in selector expressions 2015-01-12 21:48:57 +00:00
issue10303.go misc/cgo/test: disable Test10303 for gccgo 2015-11-11 01:02:35 +00:00
issue11925.go cmd/cgo: discard trailing zero-sized fields in a non-empty C struct 2015-07-30 15:55:25 +00:00
issue12030.go runtime/cgo: explicitly link msvcrt on windows 2015-09-12 08:34:52 +00:00
setgid_linux.go runtime: unblock special glibc signals on each thread 2015-09-14 21:59:54 +00:00
sigprocmask_linux.c misc/cgo/test: fix build for CC=clang 2015-05-22 22:54:24 +00:00
sigprocmask_linux.go runtime: don't always unblock all signals 2015-05-22 20:24:08 +00:00
sleep_windows_386.go