diff --git a/src/cmd/link/internal/loader/loader.go b/src/cmd/link/internal/loader/loader.go index 28d8c397e0..6ffc67327e 100644 --- a/src/cmd/link/internal/loader/loader.go +++ b/src/cmd/link/internal/loader/loader.go @@ -1339,6 +1339,14 @@ func (l *Loader) relocs(r *oReader, li int) Relocs { } } +// RelocByOff implements sort.Interface for sorting relocations by offset. + +type RelocByOff []Reloc + +func (x RelocByOff) Len() int { return len(x) } +func (x RelocByOff) Swap(i, j int) { x[i], x[j] = x[j], x[i] } +func (x RelocByOff) Less(i, j int) bool { return x[i].Off < x[j].Off } + // Preload a package: add autolibs, add symbols to the symbol table. // Does not read symbol data yet. func (l *Loader) Preload(arch *sys.Arch, syms *sym.Symbols, f *bio.Reader, lib *sym.Library, unit *sym.CompilationUnit, length int64, pn string, flags int) {