code: func setDefaults(o *plugin.Options) *plugin.Options {
  	d := &plugin.Options{}
  	if o != nil {
  		*d = *o
  	}
  	if d.Writer == nil {
  		d.Writer = oswriter{}
  	}
  	if d.Flagset == nil {
  		d.Flagset = &GoFlags{}
  	}
  	if d.Obj == nil {
  		d.Obj = &binutils.Binutils{}
  	}
  	if d.UI == nil {
  		d.UI = &stdUI{r: bufio.NewReader(os.Stdin)}
  	}
  	if d.HTTPTransport == nil {
  		d.HTTPTransport = transport.New(d.Flagset)
  	}
  	if d.Sym == nil {
  		d.Sym = &symbolizer.Symbolizer{Obj: d.Obj, UI: d.UI, Transport: d.HTTPTransport}
  	}
  	return d
  }
docs: // setDefaults returns a new plugin.Options with zero fields sets to
  // sensible defaults.