code: func newLLVMSymbolizer(cmd, file string, base uint64) (*llvmSymbolizer, error) {
  	if cmd == "" {
  		cmd = defaultLLVMSymbolizer
  	}
  
  	j := &llvmSymbolizerJob{
  		cmd: exec.Command(cmd, "-inlining", "-demangle=false"),
  	}
  
  	var err error
  	if j.in, err = j.cmd.StdinPipe(); err != nil {
  		return nil, err
  	}
  
  	outPipe, err := j.cmd.StdoutPipe()
  	if err != nil {
  		return nil, err
  	}
  
  	j.out = bufio.NewReader(outPipe)
  	if err := j.cmd.Start(); err != nil {
  		return nil, err
  	}
  
  	a := &llvmSymbolizer{
  		filename: file,
  		rw:       j,
  		base:     base,
  	}
  
  	return a, nil
  }
docs: // newLlvmSymbolizer starts the given llvmSymbolizer command reporting
  // information about the given executable file. If file is a shared
  // library, base should be the address at which it was mapped in the
  // program under consideration.