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:
Robert Griesemer 2014-03-28 14:24:35 -07:00
parent 700390eaed
commit 250eb11b9b
1 changed files with 5 additions and 3 deletions

View File

@ -48,12 +48,16 @@ func openExportFile(fpath string) (reader io.ReadSeeker, closer io.Closer, err e
if err != nil {
return
}
defer func() {
if err != nil {
f.Close()
}
}()
closer = f
var magic [4]byte
_, err = f.ReadAt(magic[:], 0)
if err != nil {
f.Close()
return
}
@ -65,14 +69,12 @@ func openExportFile(fpath string) (reader io.ReadSeeker, closer io.Closer, err e
ef, err := elf.NewFile(f)
if err != nil {
f.Close()
return
}
sec := ef.Section(".go_export")
if sec == nil {
err = fmt.Errorf("%s: .go_export section not found", fpath)
f.Close()
return
}