]> Cypherpunks repositories - gostls13.git/commitdiff
ld: Permit an ELF symbol to be exported in the dynamic symbol table.
authorIan Lance Taylor <iant@golang.org>
Fri, 7 Jan 2011 00:37:05 +0000 (16:37 -0800)
committerIan Lance Taylor <iant@golang.org>
Fri, 7 Jan 2011 00:37:05 +0000 (16:37 -0800)
This permits exporting crosscall2 from the runtime/cgo
package.

R=rsc
CC=golang-dev
https://golang.org/cl/3885041

src/cmd/ld/ldelf.c

index ccf6a412f7b5948c86444c31c87a41963a273b88..44bbe68ee07e915c10a38de29200c1a775f40189 100644 (file)
@@ -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;