aboutsummaryrefslogtreecommitdiff
path: root/src/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd')
-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