diff options
author | Ian Lance Taylor <iant@golang.org> | 2011-01-06 16:37:05 -0800 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2011-01-06 16:37:05 -0800 |
commit | 1b2d5b4c9389aecc56a4547a9770d0c73925b248 (patch) | |
tree | 441f61277c6b9d33c3e181142f039c09d74e7318 | |
parent | 4cd31e8a28b84a467bbcbe74e3f2044872472fbc (diff) | |
download | go-1b2d5b4c9389aecc56a4547a9770d0c73925b248.tar.gz go-1b2d5b4c9389aecc56a4547a9770d0c73925b248.zip |
ld: Permit an ELF symbol to be exported in the dynamic symbol table.
This permits exporting crosscall2 from the runtime/cgo
package.
R=rsc
CC=golang-dev
https://golang.org/cl/3885041
-rw-r--r-- | src/cmd/ld/ldelf.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/cmd/ld/ldelf.c b/src/cmd/ld/ldelf.c index ccf6a412f7..44bbe68ee0 100644 --- a/src/cmd/ld/ldelf.c +++ b/src/cmd/ld/ldelf.c @@ -641,8 +641,10 @@ ldelf(Biobuf *f, char *pkg, int64 len, char *pn) s->sub = sect->sym->sub; sect->sym->sub = s; s->type = sect->sym->type | SSUB; - s->dynimplib = nil; // satisfy dynimport - s->dynimpname = nil; // satisfy dynimport + if(!s->dynexport) { + s->dynimplib = nil; // satisfy dynimport + s->dynimpname = nil; // satisfy dynimport + } s->value = sym.value; s->size = sym.size; s->outer = sect->sym; |