diff options
Diffstat (limited to 'src/cmd/link/internal/ld/elf.go')
-rw-r--r-- | src/cmd/link/internal/ld/elf.go | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/cmd/link/internal/ld/elf.go b/src/cmd/link/internal/ld/elf.go index 0fc947fec2..78f8d6e70e 100644 --- a/src/cmd/link/internal/ld/elf.go +++ b/src/cmd/link/internal/ld/elf.go @@ -1808,7 +1808,7 @@ func elfrelocsect(ctxt *Link, sect *Section, syms []*Symbol) { continue } if r.Xsym == nil { - Errorf(sym, "missing xsym in relocation") + Errorf(sym, "missing xsym in relocation %#v %#v", r.Sym.Name, sym) continue } if r.Xsym.ElfsymForReloc() == 0 { @@ -2596,12 +2596,9 @@ elfobj: elfshreloc(sect) } for _, s := range dwarfp { - if len(s.R) > 0 || s.Type == SDWARFINFO { + if len(s.R) > 0 || s.Type == SDWARFINFO || s.Type == SDWARFLOC { elfshreloc(s.Sect) } - if s.Type == SDWARFINFO { - break - } } // add a .note.GNU-stack section to mark the stack as non-executable sh := elfshname(".note.GNU-stack") |