diff options
author | Michael Hudson-Doyle <michael.hudson@canonical.com> | 2017-04-28 08:07:56 +1200 |
---|---|---|
committer | Michael Hudson-Doyle <michael.hudson@canonical.com> | 2017-04-28 20:02:20 +0000 |
commit | 4aca8b00fffe2d228d6dc9d4d061148bb721efd4 (patch) | |
tree | 51adf5f4d47922120a107998e664a82c6f79cdc7 | |
parent | d2a954517834104dfa55341202efba911b17e03d (diff) | |
download | go-git-4aca8b00fffe2d228d6dc9d4d061148bb721efd4.tar.gz |
cmd/internal/objabi: shrink SymType down to a uint8
Now that it only takes small values.
Change-Id: I08086d392529d8775b470d65afc2475f8d0e7f4a
Reviewed-on: https://go-review.googlesource.com/42030
Run-TryBot: Michael Hudson-Doyle <michael.hudson@canonical.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-rw-r--r-- | src/cmd/internal/obj/objfile.go | 2 | ||||
-rw-r--r-- | src/cmd/internal/objabi/symkind.go | 2 | ||||
-rw-r--r-- | src/cmd/internal/objabi/symkind_string.go | 2 | ||||
-rw-r--r-- | src/cmd/link/internal/ld/objfile.go | 9 |
4 files changed, 10 insertions, 5 deletions
diff --git a/src/cmd/internal/obj/objfile.go b/src/cmd/internal/obj/objfile.go index b81d569348..2528064a82 100644 --- a/src/cmd/internal/obj/objfile.go +++ b/src/cmd/internal/obj/objfile.go @@ -283,7 +283,7 @@ func (w *objWriter) writeSym(s *LSym) { } w.wr.WriteByte(symPrefix) - w.writeInt(int64(s.Type)) + w.wr.WriteByte(byte(s.Type)) w.writeRefIndex(s) flags := int64(0) if s.DuplicateOK() { diff --git a/src/cmd/internal/objabi/symkind.go b/src/cmd/internal/objabi/symkind.go index 6219436fb7..62a7efd964 100644 --- a/src/cmd/internal/objabi/symkind.go +++ b/src/cmd/internal/objabi/symkind.go @@ -31,7 +31,7 @@ package objabi // A SymKind describes the kind of memory represented by a symbol. -type SymKind int16 +type SymKind uint8 // Defined SymKind values. // diff --git a/src/cmd/internal/objabi/symkind_string.go b/src/cmd/internal/objabi/symkind_string.go index b28628b520..aabcfd2d54 100644 --- a/src/cmd/internal/objabi/symkind_string.go +++ b/src/cmd/internal/objabi/symkind_string.go @@ -9,7 +9,7 @@ const _SymKind_name = "SxxxSTEXTSRODATASNOPTRDATASDATASBSSSNOPTRBSSSTLSBSSSDWARF var _SymKind_index = [...]uint8{0, 4, 9, 16, 26, 31, 35, 44, 51, 61} func (i SymKind) String() string { - if i < 0 || i >= SymKind(len(_SymKind_index)-1) { + if i >= SymKind(len(_SymKind_index)-1) { return fmt.Sprintf("SymKind(%d)", i) } return _SymKind_name[_SymKind_index[i]:_SymKind_index[i+1]] diff --git a/src/cmd/link/internal/ld/objfile.go b/src/cmd/link/internal/ld/objfile.go index 2bfa5d3e7c..c91fe28458 100644 --- a/src/cmd/link/internal/ld/objfile.go +++ b/src/cmd/link/internal/ld/objfile.go @@ -155,10 +155,15 @@ func (r *objReader) readSlices() { const symPrefix = 0xfe func (r *objReader) readSym() { - if c, err := r.rd.ReadByte(); c != symPrefix || err != nil { + var c byte + var err error + if c, err = r.rd.ReadByte(); c != symPrefix || err != nil { log.Fatalln("readSym out of sync") } - t := abiSymKindToSymKind[r.readInt()] + if c, err = r.rd.ReadByte(); err != nil { + log.Fatalln("error reading input: ", err) + } + t := abiSymKindToSymKind[c] s := r.readSymIndex() flags := r.readInt() dupok := flags&1 != 0 |