go.tools/go/gccgoimporter: backported some changes from godex implementation
LGTM=adonovan R=adonovan CC=golang-codereviews https://golang.org/cl/82000043
This commit is contained in:
parent
700390eaed
commit
250eb11b9b
|
|
@ -48,12 +48,16 @@ func openExportFile(fpath string) (reader io.ReadSeeker, closer io.Closer, err e
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
defer func() {
|
||||||
|
if err != nil {
|
||||||
|
f.Close()
|
||||||
|
}
|
||||||
|
}()
|
||||||
closer = f
|
closer = f
|
||||||
|
|
||||||
var magic [4]byte
|
var magic [4]byte
|
||||||
_, err = f.ReadAt(magic[:], 0)
|
_, err = f.ReadAt(magic[:], 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
f.Close()
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -65,14 +69,12 @@ func openExportFile(fpath string) (reader io.ReadSeeker, closer io.Closer, err e
|
||||||
|
|
||||||
ef, err := elf.NewFile(f)
|
ef, err := elf.NewFile(f)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
f.Close()
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
sec := ef.Section(".go_export")
|
sec := ef.Section(".go_export")
|
||||||
if sec == nil {
|
if sec == nil {
|
||||||
err = fmt.Errorf("%s: .go_export section not found", fpath)
|
err = fmt.Errorf("%s: .go_export section not found", fpath)
|
||||||
f.Close()
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue