diff options
author | Ondřej Surý <ondrej@sury.org> | 2012-01-30 15:38:19 +0100 |
---|---|---|
committer | Ondřej Surý <ondrej@sury.org> | 2012-01-30 15:38:19 +0100 |
commit | 4cecda6c347bd6902b960c6a35a967add7070b0d (patch) | |
tree | a462e224ff41ec9f3eb1a0b6e815806f9e8804ad /src/pkg/debug/dwarf | |
parent | 6c7ca6e4d4e26e4c8cbe0d183966011b3b088a0a (diff) | |
download | golang-4cecda6c347bd6902b960c6a35a967add7070b0d.tar.gz |
Imported Upstream version 2012.01.27upstream-weekly/2012.01.27
Diffstat (limited to 'src/pkg/debug/dwarf')
-rw-r--r-- | src/pkg/debug/dwarf/buf.go | 9 | ||||
-rw-r--r-- | src/pkg/debug/dwarf/const.go | 4 | ||||
-rw-r--r-- | src/pkg/debug/dwarf/entry.go | 10 | ||||
-rw-r--r-- | src/pkg/debug/dwarf/open.go | 7 | ||||
-rw-r--r-- | src/pkg/debug/dwarf/type.go | 19 | ||||
-rw-r--r-- | src/pkg/debug/dwarf/unit.go | 7 |
6 files changed, 23 insertions, 33 deletions
diff --git a/src/pkg/debug/dwarf/buf.go b/src/pkg/debug/dwarf/buf.go index 2d29cebdd..6dc28d256 100644 --- a/src/pkg/debug/dwarf/buf.go +++ b/src/pkg/debug/dwarf/buf.go @@ -8,7 +8,6 @@ package dwarf import ( "encoding/binary" - "os" "strconv" ) @@ -20,7 +19,7 @@ type buf struct { off Offset data []byte addrsize int - err os.Error + err error } func makeBuf(d *Data, name string, off Offset, data []byte, addrsize int) buf { @@ -146,9 +145,9 @@ func (b *buf) error(s string) { type DecodeError struct { Name string Offset Offset - Error string + Err string } -func (e DecodeError) String() string { - return "decoding dwarf section " + e.Name + " at offset 0x" + strconv.Itob64(int64(e.Offset), 16) + ": " + e.Error +func (e DecodeError) Error() string { + return "decoding dwarf section " + e.Name + " at offset 0x" + strconv.FormatInt(int64(e.Offset), 16) + ": " + e.Err } diff --git a/src/pkg/debug/dwarf/const.go b/src/pkg/debug/dwarf/const.go index 1a3fec155..918b153d0 100644 --- a/src/pkg/debug/dwarf/const.go +++ b/src/pkg/debug/dwarf/const.go @@ -178,7 +178,7 @@ func (a Attr) GoString() string { return "dwarf.Attr" + s } } - return "dwarf.Attr(" + strconv.Itoa64(int64(a)) + ")" + return "dwarf.Attr(" + strconv.FormatInt(int64(a), 10) + ")" } // A format is a DWARF data encoding format. @@ -347,7 +347,7 @@ func (t Tag) GoString() string { return "dwarf.Tag" + s } } - return "dwarf.Tag(" + strconv.Itoa64(int64(t)) + ")" + return "dwarf.Tag(" + strconv.FormatInt(int64(t), 10) + ")" } // Location expression operators. diff --git a/src/pkg/debug/dwarf/entry.go b/src/pkg/debug/dwarf/entry.go index 549e5c2cc..2885d8fa2 100644 --- a/src/pkg/debug/dwarf/entry.go +++ b/src/pkg/debug/dwarf/entry.go @@ -10,7 +10,7 @@ package dwarf -import "os" +import "errors" // a single entry's description: a sequence of attributes type abbrev struct { @@ -29,7 +29,7 @@ type abbrevTable map[uint32]abbrev // ParseAbbrev returns the abbreviation table that starts at byte off // in the .debug_abbrev section. -func (d *Data) parseAbbrev(off uint32) (abbrevTable, os.Error) { +func (d *Data) parseAbbrev(off uint32) (abbrevTable, error) { if m, ok := d.abbrevCache[off]; ok { return m, nil } @@ -232,7 +232,7 @@ func (b *buf) entry(atab abbrevTable, ubase Offset) *Entry { type Reader struct { b buf d *Data - err os.Error + err error unit int lastChildren bool // .Children of last entry returned by Next lastSibling Offset // .Val(AttrSibling) of last entry returned by Next @@ -273,7 +273,7 @@ func (r *Reader) Seek(off Offset) { return } } - r.err = os.NewError("offset out of range") + r.err = errors.New("offset out of range") } // maybeNextUnit advances to the next unit if this one is finished. @@ -289,7 +289,7 @@ func (r *Reader) maybeNextUnit() { // It returns nil, nil when it reaches the end of the section. // It returns an error if the current offset is invalid or the data at the // offset cannot be decoded as a valid Entry. -func (r *Reader) Next() (*Entry, os.Error) { +func (r *Reader) Next() (*Entry, error) { if r.err != nil { return nil, r.err } diff --git a/src/pkg/debug/dwarf/open.go b/src/pkg/debug/dwarf/open.go index d9525f788..9543297e1 100644 --- a/src/pkg/debug/dwarf/open.go +++ b/src/pkg/debug/dwarf/open.go @@ -7,10 +7,7 @@ // http://dwarfstd.org/doc/dwarf-2.0.0.pdf package dwarf -import ( - "encoding/binary" - "os" -) +import "encoding/binary" // Data represents the DWARF debugging information // loaded from an executable file (for example, an ELF or Mach-O executable). @@ -40,7 +37,7 @@ type Data struct { // The []byte arguments are the data from the corresponding debug section // in the object file; for example, for an ELF object, abbrev is the contents of // the ".debug_abbrev" section. -func New(abbrev, aranges, frame, info, line, pubnames, ranges, str []byte) (*Data, os.Error) { +func New(abbrev, aranges, frame, info, line, pubnames, ranges, str []byte) (*Data, error) { d := &Data{ abbrev: abbrev, aranges: aranges, diff --git a/src/pkg/debug/dwarf/type.go b/src/pkg/debug/dwarf/type.go index f35365ebe..9be66658f 100644 --- a/src/pkg/debug/dwarf/type.go +++ b/src/pkg/debug/dwarf/type.go @@ -8,10 +8,7 @@ package dwarf -import ( - "os" - "strconv" -) +import "strconv" // A Type conventionally represents a pointer to any of the // specific Type structures (CharType, StructType, etc.). @@ -113,7 +110,7 @@ type ArrayType struct { } func (t *ArrayType) String() string { - return "[" + strconv.Itoa64(t.Count) + "]" + t.Type.String() + return "[" + strconv.FormatInt(t.Count, 10) + "]" + t.Type.String() } func (t *ArrayType) Size() int64 { return t.Count * t.Type.Size() } @@ -174,10 +171,10 @@ func (t *StructType) Defn() string { s += "; " } s += f.Name + " " + f.Type.String() - s += "@" + strconv.Itoa64(f.ByteOffset) + s += "@" + strconv.FormatInt(f.ByteOffset, 10) if f.BitSize > 0 { - s += " : " + strconv.Itoa64(f.BitSize) - s += "@" + strconv.Itoa64(f.BitOffset) + s += " : " + strconv.FormatInt(f.BitSize, 10) + s += "@" + strconv.FormatInt(f.BitOffset, 10) } } s += "}" @@ -209,7 +206,7 @@ func (t *EnumType) String() string { if i > 0 { s += "; " } - s += v.Name + "=" + strconv.Itoa64(v.Val) + s += v.Name + "=" + strconv.FormatInt(v.Val, 10) } s += "}" return s @@ -254,7 +251,7 @@ func (t *TypedefType) String() string { return t.Name } func (t *TypedefType) Size() int64 { return t.Type.Size() } -func (d *Data) Type(off Offset) (Type, os.Error) { +func (d *Data) Type(off Offset) (Type, error) { if t, ok := d.typeCache[off]; ok { return t, nil } @@ -579,6 +576,6 @@ Error: // If the parse fails, take the type out of the cache // so that the next call with this offset doesn't hit // the cache and return success. - d.typeCache[off] = nil, false + delete(d.typeCache, off) return nil, err } diff --git a/src/pkg/debug/dwarf/unit.go b/src/pkg/debug/dwarf/unit.go index 02cb363b4..c10d75dbd 100644 --- a/src/pkg/debug/dwarf/unit.go +++ b/src/pkg/debug/dwarf/unit.go @@ -4,10 +4,7 @@ package dwarf -import ( - "os" - "strconv" -) +import "strconv" // DWARF debug info is split into a sequence of compilation units. // Each unit has its own abbreviation table and address size. @@ -20,7 +17,7 @@ type unit struct { addrsize int } -func (d *Data) parseUnits() ([]unit, os.Error) { +func (d *Data) parseUnits() ([]unit, error) { // Count units. nunit := 0 b := makeBuf(d, "info", 0, d.info, 0) |