-
Michael Hudson-Doyle authored
This: 1) Defines the ABI hash of a package (as the SHA1 of the __.PKGDEF) 2) Defines the ABI hash of a shared library (sort the packages by import path, concatenate the hashes of the packages and SHA1 that) 3) When building a shared library, compute the above value and define a global symbol that points to a go string that has the hash as its value. 4) When linking against a shared library, read the abi hash from the library and put both the value seen at link time and a reference to the global symbol into the moduledata. 5) During runtime initialization, check that the hash seen at link time still matches the hash the global symbol points to. Change-Id: Iaa54c783790e6dde3057a2feadc35473d49614a5 Reviewed-on: https://go-review.googlesource.com/8773Reviewed-by:
Ian Lance Taylor <iant@golang.org> Run-TryBot: Michael Hudson-Doyle <michael.hudson@canonical.com>
77fc03f4
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
ar.go | ||
arch.go | ||
data.go | ||
decodesym.go | ||
dwarf.go | ||
dwarf_defs.go | ||
elf.go | ||
go.go | ||
ld.go | ||
ldelf.go | ||
ldmacho.go | ||
ldpe.go | ||
lib.go | ||
link.go | ||
macho.go | ||
objfile.go | ||
pcln.go | ||
pe.go | ||
pobj.go | ||
sym.go | ||
symtab.go | ||
textflag.go | ||
util.go |