aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/internal/obj/sym.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/internal/obj/sym.go')
-rw-r--r--src/cmd/internal/obj/sym.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/cmd/internal/obj/sym.go b/src/cmd/internal/obj/sym.go
index 03ce8ddc5a..4a8b0ebb6f 100644
--- a/src/cmd/internal/obj/sym.go
+++ b/src/cmd/internal/obj/sym.go
@@ -34,6 +34,7 @@ package obj
import (
"cmd/internal/goobj2"
"cmd/internal/objabi"
+ "crypto/md5"
"fmt"
"log"
"math"
@@ -241,6 +242,15 @@ func (ctxt *Link) NumberSyms(asm bool) {
ctxt.pkgIdx[pkg] = ipkg
ipkg++
})
+
+ // Compute a fingerprint of the indices, for exporting.
+ if !asm {
+ h := md5.New()
+ for _, s := range ctxt.defs {
+ h.Write([]byte(s.Name))
+ }
+ copy(ctxt.Fingerprint[:], h.Sum(nil)[:])
+ }
}
// Returns whether s is a non-package symbol, which needs to be referenced