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
diff --git a/src/cmd/ld/ldelf.c b/src/cmd/ld/ldelf.c
index ccf6a41..44bbe68 100644
--- a/src/cmd/ld/ldelf.c
+++ b/src/cmd/ld/ldelf.c
@@ -641,8 +641,10 @@
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;