]> Cypherpunks.ru repositories - gostls13.git/commitdiff
[dev.link] all: merge branch 'master' into dev.link
authorCherry Zhang <cherryyz@google.com>
Fri, 5 Jun 2020 20:55:43 +0000 (16:55 -0400)
committerCherry Zhang <cherryyz@google.com>
Fri, 5 Jun 2020 20:55:43 +0000 (16:55 -0400)
Merge conflicts are mostly recently changed nm/objdump output
format and its tests. Resolved easily (mostly just using the
format on master branch).

Change-Id: I99d8410a9a02947ecf027d9cae5762861562baf5

33 files changed:
1  2 
src/cmd/internal/goobj/readnew.go
src/cmd/internal/goobj2/objfile.go
src/cmd/internal/obj/link.go
src/cmd/internal/obj/objfile2.go
src/cmd/internal/obj/sym.go
src/cmd/internal/objabi/symkind.go
src/cmd/link/internal/amd64/asm.go
src/cmd/link/internal/amd64/obj.go
src/cmd/link/internal/arm/asm.go
src/cmd/link/internal/arm/obj.go
src/cmd/link/internal/arm64/asm.go
src/cmd/link/internal/arm64/obj.go
src/cmd/link/internal/ld/data.go
src/cmd/link/internal/ld/dwarf.go
src/cmd/link/internal/ld/ld.go
src/cmd/link/internal/ld/lib.go
src/cmd/link/internal/ld/link.go
src/cmd/link/internal/ld/main.go
src/cmd/link/internal/ld/sym.go
src/cmd/link/internal/ld/symtab.go
src/cmd/link/internal/loader/loader.go
src/cmd/link/internal/mips/asm.go
src/cmd/link/internal/mips/obj.go
src/cmd/link/internal/mips64/asm.go
src/cmd/link/internal/mips64/obj.go
src/cmd/link/internal/ppc64/asm.go
src/cmd/link/internal/ppc64/obj.go
src/cmd/link/internal/s390x/asm.go
src/cmd/link/internal/s390x/obj.go
src/cmd/link/internal/sym/segment.go
src/cmd/link/internal/sym/symkind.go
src/cmd/link/internal/x86/asm.go
src/cmd/link/internal/x86/obj.go

index 43f0fdabedd2ef1ea553124c5176a25983037b36,7a84b91d3a53353f6f03d40c9a9e9e3f46a0e5a8..cd1a9049d07fd7bdaeee3b260bb7b79b6ac06238
@@@ -56,12 -61,9 +61,9 @@@ func (r *objReader) readNew() 
                        name, abi := goobj2.BuiltinName(int(s.SymIdx))
                        return SymID{name, int64(abi)}
                case goobj2.PkgIdxSelf:
 -                      i = int(s.SymIdx)
 +                      i = s.SymIdx
                default:
-                       // Symbol from other package, referenced by index.
-                       // We don't know the name. Use index.
-                       pkg := pkglist[p]
-                       return SymID{fmt.Sprintf("%s.#%d", pkg, s.SymIdx), 0}
+                       return SymID{refNames[s], 0}
                }
                sym := rr.Sym(i)
                return SymID{sym.Name(rr), abiToVer(sym.ABI())}
  
        // Symbols
        pcdataBase := start + rr.PcdataBase()
 -      n := rr.NSym() + rr.NNonpkgdef() + rr.NNonpkgref()
 -      ndef := rr.NSym() + rr.NNonpkgdef()
 -      for i := 0; i < n; i++ {
 +      n := uint32(rr.NSym() + rr.NNonpkgdef() + rr.NNonpkgref())
-       npkgdef := uint32(rr.NSym())
 +      ndef := uint32(rr.NSym() + rr.NNonpkgdef())
 +      for i := uint32(0); i < n; i++ {
                osym := rr.Sym(i)
                if osym.Name(rr) == "" {
                        continue // not a real symbol
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 191787675a6891caf89aad226f5ed4713a537169,ab38bc3f5c134d45c474660242828e822682e8ef..9b4214bdca6404909809a9eb30f27a46dbd20378
@@@ -1911,8 -1913,8 +1911,8 @@@ func (l *Loader) FuncInfo(i Sym) FuncIn
  // Does not add non-package symbols yet, which will be done in LoadNonpkgSyms.
  // Does not read symbol data.
  // Returns the fingerprint of the object.
 -func (l *Loader) Preload(syms *sym.Symbols, f *bio.Reader, lib *sym.Library, unit *sym.CompilationUnit, length int64) goobj2.FingerprintType {
 +func (l *Loader) Preload(localSymVersion int, f *bio.Reader, lib *sym.Library, unit *sym.CompilationUnit, length int64) goobj2.FingerprintType {
-       roObject, readonly, err := f.Slice(uint64(length))
+       roObject, readonly, err := f.Slice(uint64(length)) // TODO: no need to map blocks that are for tools only (e.g. RefName)
        if err != nil {
                log.Fatal("cannot read object file:", err)
        }
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge