cmd/internal/ld, cmd/internal/obj: delete Ctxt.Endian

Replaced by Ctxt.ByteOrder, which uses the standard binary.ByteOrder type.

Change-Id: I06cec0674c153a9ad75ff937f7eb934891effd0b
Reviewed-on: https://go-review.googlesource.com/6450
Reviewed-by: Dave Cheney <dave@cheney.net>
Reviewed-by: Rob Pike <r@golang.org>
diff --git a/src/cmd/9l/asm.go b/src/cmd/9l/asm.go
index 1b633ac..176de6f 100644
--- a/src/cmd/9l/asm.go
+++ b/src/cmd/9l/asm.go
@@ -32,6 +32,7 @@
 
 import (
 	"cmd/internal/obj"
+	"encoding/binary"
 	"fmt"
 	"log"
 )
@@ -185,7 +186,7 @@
 	r.Sym = plt
 	r.Add = int64(targ.Plt)
 	r.Siz = 2
-	if ld.Ctxt.Arch.Endian == ld.BigEndian {
+	if ld.Ctxt.Arch.ByteOrder == binary.BigEndian {
 		r.Off += int32(r.Siz)
 	}
 	r.Type = ld.R_POWER_TOC
@@ -196,7 +197,7 @@
 	r.Sym = plt
 	r.Add = int64(targ.Plt)
 	r.Siz = 2
-	if ld.Ctxt.Arch.Endian == ld.BigEndian {
+	if ld.Ctxt.Arch.ByteOrder == binary.BigEndian {
 		r.Off += int32(r.Siz)
 	}
 	r.Type = ld.R_POWER_TOC
@@ -400,7 +401,7 @@
 		o2 = o2&0xffff0000 | uint32(t)&0xffff
 
 		// when laid out, the instruction order must always be o1, o2.
-		if ld.Ctxt.Arch.Endian == ld.BigEndian {
+		if ld.Ctxt.Arch.ByteOrder == binary.BigEndian {
 			*val = int64(o1)<<32 | int64(o2)
 		} else {
 			*val = int64(o2)<<32 | int64(o1)
@@ -409,7 +410,7 @@
 
 	case ld.R_CALLPOWER:
 		// Bits 6 through 29 = (S + A - P) >> 2
-		if ld.Ctxt.Arch.Endian == ld.BigEndian {
+		if ld.Ctxt.Arch.ByteOrder == binary.BigEndian {
 			o1 = ld.Be32(s.P[r.Off:])
 		} else {
 			o1 = ld.Le32(s.P[r.Off:])
@@ -451,7 +452,7 @@
 		if r.Variant&ld.RV_CHECK_OVERFLOW != 0 {
 			// Whether to check for signed or unsigned
 			// overflow depends on the instruction
-			if ld.Ctxt.Arch.Endian == ld.BigEndian {
+			if ld.Ctxt.Arch.ByteOrder == binary.BigEndian {
 				o1 = ld.Be32(s.P[r.Off-2:])
 			} else {
 				o1 = ld.Le32(s.P[r.Off:])
@@ -484,7 +485,7 @@
 		if r.Variant&ld.RV_CHECK_OVERFLOW != 0 {
 			// Whether to check for signed or unsigned
 			// overflow depends on the instruction
-			if ld.Ctxt.Arch.Endian == ld.BigEndian {
+			if ld.Ctxt.Arch.ByteOrder == binary.BigEndian {
 				o1 = ld.Be32(s.P[r.Off-2:])
 			} else {
 				o1 = ld.Le32(s.P[r.Off:])
@@ -507,7 +508,7 @@
 		return int64(int16(t))
 
 	case ld.RV_POWER_DS:
-		if ld.Ctxt.Arch.Endian == ld.BigEndian {
+		if ld.Ctxt.Arch.ByteOrder == binary.BigEndian {
 			o1 = uint32(ld.Be16(s.P[r.Off:]))
 		} else {
 			o1 = uint32(ld.Le16(s.P[r.Off:]))
diff --git a/src/cmd/internal/ld/arch.go b/src/cmd/internal/ld/arch.go
index 3dd6a5f..aa84a95 100644
--- a/src/cmd/internal/ld/arch.go
+++ b/src/cmd/internal/ld/arch.go
@@ -10,7 +10,6 @@
 	ByteOrder: binary.LittleEndian,
 	Name:      "arm",
 	Thechar:   '5',
-	Endian:    LittleEndian,
 	Minlc:     4,
 	Ptrsize:   4,
 	Regsize:   4,
@@ -20,7 +19,6 @@
 	ByteOrder: binary.LittleEndian,
 	Name:      "amd64",
 	Thechar:   '6',
-	Endian:    LittleEndian,
 	Minlc:     1,
 	Ptrsize:   8,
 	Regsize:   8,
@@ -30,7 +28,6 @@
 	ByteOrder: binary.LittleEndian,
 	Name:      "amd64p32",
 	Thechar:   '6',
-	Endian:    LittleEndian,
 	Minlc:     1,
 	Ptrsize:   4,
 	Regsize:   8,
@@ -40,7 +37,6 @@
 	ByteOrder: binary.LittleEndian,
 	Name:      "386",
 	Thechar:   '8',
-	Endian:    LittleEndian,
 	Minlc:     1,
 	Ptrsize:   4,
 	Regsize:   4,
@@ -50,7 +46,6 @@
 	ByteOrder: binary.BigEndian,
 	Name:      "ppc64",
 	Thechar:   '9',
-	Endian:    BigEndian,
 	Minlc:     4,
 	Ptrsize:   8,
 	Regsize:   8,
@@ -60,7 +55,6 @@
 	ByteOrder: binary.LittleEndian,
 	Name:      "ppc64le",
 	Thechar:   '9',
-	Endian:    LittleEndian,
 	Minlc:     4,
 	Ptrsize:   8,
 	Regsize:   8,
diff --git a/src/cmd/internal/ld/elf.go b/src/cmd/internal/ld/elf.go
index ca95fe0..f6d1043 100644
--- a/src/cmd/internal/ld/elf.go
+++ b/src/cmd/internal/ld/elf.go
@@ -5,6 +5,7 @@
 package ld
 
 import (
+	"encoding/binary"
 	"fmt"
 	"os"
 )
@@ -755,7 +756,7 @@
 	switch Thearch.Thechar {
 	// 64-bit architectures
 	case '9':
-		if Ctxt.Arch.Endian == BigEndian {
+		if Ctxt.Arch.ByteOrder == binary.BigEndian {
 			ehdr.flags = 1 /* Version 1 ABI */
 		} else {
 			ehdr.flags = 2 /* Version 2 ABI */
@@ -2342,7 +2343,7 @@
 	} else {
 		eh.ident[EI_CLASS] = ELFCLASS32
 	}
-	if Ctxt.Arch.Endian == BigEndian {
+	if Ctxt.Arch.ByteOrder == binary.BigEndian {
 		eh.ident[EI_DATA] = ELFDATA2MSB
 	} else {
 		eh.ident[EI_DATA] = ELFDATA2LSB
diff --git a/src/cmd/internal/ld/link.go b/src/cmd/internal/ld/link.go
index 69702fb..9047e70 100644
--- a/src/cmd/internal/ld/link.go
+++ b/src/cmd/internal/ld/link.go
@@ -269,11 +269,6 @@
 // Link holds the context for writing object code from a compiler
 // to be linker input or for reading that input into the linker.
 
-const (
-	LittleEndian = 0x04030201
-	BigEndian    = 0x01020304
-)
-
 // LinkArch is the definition of a single architecture.
 
 /* executable header types */
diff --git a/src/cmd/internal/obj/arm/obj5.go b/src/cmd/internal/obj/arm/obj5.go
index 67042c0..9c1baca 100644
--- a/src/cmd/internal/obj/arm/obj5.go
+++ b/src/cmd/internal/obj/arm/obj5.go
@@ -1066,7 +1066,6 @@
 	Pconv:      Pconv,
 	Name:       "arm",
 	Thechar:    '5',
-	Endian:     obj.LittleEndian,
 	Preprocess: preprocess,
 	Assemble:   span5,
 	Follow:     follow,
diff --git a/src/cmd/internal/obj/i386/obj8.go b/src/cmd/internal/obj/i386/obj8.go
index 44d27c2..88adba0 100644
--- a/src/cmd/internal/obj/i386/obj8.go
+++ b/src/cmd/internal/obj/i386/obj8.go
@@ -914,7 +914,6 @@
 	Pconv:      Pconv,
 	Name:       "386",
 	Thechar:    '8',
-	Endian:     obj.LittleEndian,
 	Preprocess: preprocess,
 	Assemble:   span8,
 	Follow:     follow,
diff --git a/src/cmd/internal/obj/link.go b/src/cmd/internal/obj/link.go
index 9900729..397c9c9 100644
--- a/src/cmd/internal/obj/link.go
+++ b/src/cmd/internal/obj/link.go
@@ -246,7 +246,6 @@
 	ByteOrder  binary.ByteOrder
 	Name       string
 	Thechar    int
-	Endian     int32
 	Preprocess func(*Link, *LSym)
 	Assemble   func(*Link, *LSym)
 	Follow     func(*Link, *LSym)
@@ -547,11 +546,6 @@
 // Link holds the context for writing object code from a compiler
 // to be linker input or for reading that input into the linker.
 
-const (
-	LittleEndian = 0x04030201
-	BigEndian    = 0x01020304
-)
-
 // LinkArch is the definition of a single architecture.
 
 /* executable header types */
diff --git a/src/cmd/internal/obj/ppc64/asm9.go b/src/cmd/internal/obj/ppc64/asm9.go
index 42969d0..e665229 100644
--- a/src/cmd/internal/obj/ppc64/asm9.go
+++ b/src/cmd/internal/obj/ppc64/asm9.go
@@ -31,6 +31,7 @@
 
 import (
 	"cmd/internal/obj"
+	"encoding/binary"
 	"fmt"
 	"log"
 	"sort"
@@ -2038,7 +2039,7 @@
 	case 31: /* dword */
 		d = vregoff(ctxt, &p.From)
 
-		if ctxt.Arch.Endian == obj.BigEndian {
+		if ctxt.Arch.ByteOrder == binary.BigEndian {
 			o1 = uint32(d >> 32)
 			o2 = uint32(d)
 		} else {
diff --git a/src/cmd/internal/obj/ppc64/obj9.go b/src/cmd/internal/obj/ppc64/obj9.go
index 0c3298a..a507449 100644
--- a/src/cmd/internal/obj/ppc64/obj9.go
+++ b/src/cmd/internal/obj/ppc64/obj9.go
@@ -970,7 +970,6 @@
 	Pconv:      Pconv,
 	Name:       "ppc64",
 	Thechar:    '9',
-	Endian:     obj.BigEndian,
 	Preprocess: preprocess,
 	Assemble:   span9,
 	Follow:     follow,
@@ -986,7 +985,6 @@
 	Pconv:      Pconv,
 	Name:       "ppc64le",
 	Thechar:    '9',
-	Endian:     obj.LittleEndian,
 	Preprocess: preprocess,
 	Assemble:   span9,
 	Follow:     follow,
diff --git a/src/cmd/internal/obj/x86/obj6.go b/src/cmd/internal/obj/x86/obj6.go
index 63a82b0..4cb2f45 100644
--- a/src/cmd/internal/obj/x86/obj6.go
+++ b/src/cmd/internal/obj/x86/obj6.go
@@ -1116,7 +1116,6 @@
 	Pconv:      Pconv,
 	Name:       "amd64",
 	Thechar:    '6',
-	Endian:     obj.LittleEndian,
 	Preprocess: preprocess,
 	Assemble:   span6,
 	Follow:     follow,
@@ -1132,7 +1131,6 @@
 	Pconv:      Pconv,
 	Name:       "amd64p32",
 	Thechar:    '6',
-	Endian:     obj.LittleEndian,
 	Preprocess: preprocess,
 	Assemble:   span6,
 	Follow:     follow,