]> Cypherpunks.ru repositories - gostls13.git/commitdiff
[dev.link] all: merge branch 'master' into dev.link
authorCherry Zhang <cherryyz@google.com>
Fri, 31 Jan 2020 19:45:52 +0000 (14:45 -0500)
committerCherry Zhang <cherryyz@google.com>
Fri, 31 Jan 2020 19:45:52 +0000 (14:45 -0500)
It has been a while we have not done this.

Merge conflict resolution:
- deleted/rewritten code modified on master
  - CL 214286, ported in CL 217317
    (cmd/internal/obj/objfile.go)
  - CL 210678, it already includes a fix to new code
    (cmd/link/internal/ld/deadcode.go)
  - CL 209317, applied in this CL
    (cmd/link/internal/loadelf/ldelf.go)

Change-Id: Ie927ea6a1d69ce49e8d03e56148cb2725e377876

1  2 
src/cmd/compile/internal/gc/main.go
src/cmd/dist/buildtool.go
src/cmd/link/internal/ld/deadcode2.go
src/cmd/link/internal/loadelf/ldelf.go

Simple merge
Simple merge
Simple merge
index 7d613c7a6d983b4bec579c43b71ddbe83f919162,1962d76338f8c08321b785f342e9993c7d6e24a7..b1e420cc30cfe662ffec3e6f3314ae86de1cfd14
@@@ -934,23 -950,23 +947,23 @@@ func Load(l *loader.Loader, arch *sys.A
                                continue
                        }
  
-                       if info>>32 == 0 { // absolute relocation, don't bother reading the null symbol
+                       if symIdx == 0 { // absolute relocation, don't bother reading the null symbol
 -                              rp.Sym = nil
 +                              rp.Sym = 0
                        } else {
                                var elfsym ElfSym
-                               if err := readelfsym(newSym, lookup, l, arch, elfobj, int(info>>32), &elfsym, 0, 0); err != nil {
 -                              if err := readelfsym(newSym, lookup, arch, elfobj, symIdx, &elfsym, 0, 0); err != nil {
++                              if err := readelfsym(newSym, lookup, l, arch, elfobj, int(symIdx), &elfsym, 0, 0); err != nil {
                                        return errorf("malformed elf file: %v", err)
                                }
-                               elfsym.sym = symbols[info>>32]
+                               elfsym.sym = symbols[symIdx]
 -                              if elfsym.sym == nil {
 -                                      return errorf("malformed elf file: %s#%d: reloc of invalid sym #%d %s shndx=%d type=%d", sect.sym.Name, j, symIdx, elfsym.name, elfsym.shndx, elfsym.type_)
 +                              if elfsym.sym == 0 {
-                                       return errorf("malformed elf file: %s#%d: reloc of invalid sym #%d %s shndx=%d type=%d", l.SymName(sect.sym), j, int(info>>32), elfsym.name, elfsym.shndx, elfsym.type_)
++                                      return errorf("malformed elf file: %s#%d: reloc of invalid sym #%d %s shndx=%d type=%d", l.SymName(sect.sym), j, int(symIdx), elfsym.name, elfsym.shndx, elfsym.type_)
                                }
  
                                rp.Sym = elfsym.sym
                        }
  
-                       rp.Type = objabi.ElfRelocOffset + objabi.RelocType(info)
-                       rp.Size, err = relSize(arch, pn, uint32(info))
+                       rp.Type = objabi.ElfRelocOffset + objabi.RelocType(relocType)
 -                      rp.Siz, err = relSize(arch, pn, uint32(relocType))
++                      rp.Size, err = relSize(arch, pn, uint32(relocType))
                        if err != nil {
                                return nil, 0, err
                        }