golang/go · error
internal error: import symbol %q has invalid PLT setting %d
Error message
internal error: import symbol %q has invalid PLT setting %d
What it means
Error "internal error: import symbol %q has invalid PLT setting %d" thrown in golang/go.
Source
Thrown at src/cmd/link/internal/loadpe/ldpe.go:676
}
if isym == 0 {
continue
}
if ldr.SymType(isym) != sym.SDYNIMPORT {
continue
}
// For non-text symbols, forward the reference from __imp_X to
// X immediately.
if !isText {
r.SetSym(isym)
continue
}
// Flag this imp symbol to be processed later in windynrelocsym.
ldr.SetGot(rs, RedirectToDynImportGotToken)
// Consistency check: should be no PLT token here.
splt := ldr.SymPlt(rs)
if splt != -1 {
return fmt.Errorf("internal error: import symbol %q has invalid PLT setting %d", ldr.SymName(rs), splt)
}
// Flag for dummy relocation.
keeprelocneeded[rs] = isym
}
}
for k, v := range keeprelocneeded {
sb := ldr.MakeSymbolUpdater(k)
r, _ := sb.AddRel(objabi.R_KEEP)
r.SetSym(v)
}
importSymsState = nil
return nil
}
func issehsect(arch *sys.Arch, s *pe.Section) bool {
return arch.Family == sys.AMD64 && (s.Name == ".pdata" || s.Name == ".xdata")
}
View on GitHub (pinned to b6b368adc5)
When it happens
Trigger: Thrown at src/cmd/link/internal/loadpe/ldpe.go:676 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of golang/go@b6b368adc5 (2026-08-12).
Data as JSON: /api/errors/e48c8bddd237d892.
Report an issue: GitHub.