summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Hudson-Doyle <michael.hudson@canonical.com>2017-04-28 08:07:56 +1200
committerMichael Hudson-Doyle <michael.hudson@canonical.com>2017-04-28 20:02:20 +0000
commit4aca8b00fffe2d228d6dc9d4d061148bb721efd4 (patch)
tree51adf5f4d47922120a107998e664a82c6f79cdc7
parentd2a954517834104dfa55341202efba911b17e03d (diff)
downloadgo-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.go2
-rw-r--r--src/cmd/internal/objabi/symkind.go2
-rw-r--r--src/cmd/internal/objabi/symkind_string.go2
-rw-r--r--src/cmd/link/internal/ld/objfile.go9
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