]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/internal/ld, cmd/internal/obj: delete Ctxt.Endian
authorRuss Cox <rsc@golang.org>
Mon, 2 Mar 2015 03:02:13 +0000 (22:02 -0500)
committerRuss Cox <rsc@golang.org>
Mon, 2 Mar 2015 17:52:11 +0000 (17:52 +0000)
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>
src/cmd/9l/asm.go
src/cmd/internal/ld/arch.go
src/cmd/internal/ld/elf.go
src/cmd/internal/ld/link.go
src/cmd/internal/obj/arm/obj5.go
src/cmd/internal/obj/i386/obj8.go
src/cmd/internal/obj/link.go
src/cmd/internal/obj/ppc64/asm9.go
src/cmd/internal/obj/ppc64/obj9.go
src/cmd/internal/obj/x86/obj6.go

index 1b633ac44938e08b2c46556f30b1a1c768d8d5a8..176de6f845c1089ca4ca99ce9259f192e028061c 100644 (file)
@@ -32,6 +32,7 @@ package main
 
 import (
        "cmd/internal/obj"
+       "encoding/binary"
        "fmt"
        "log"
 )
@@ -185,7 +186,7 @@ func gencallstub(abicase int, stub *ld.LSym, targ *ld.LSym) {
        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 @@ func gencallstub(abicase int, stub *ld.LSym, targ *ld.LSym) {
        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 @@ func archreloc(r *ld.Reloc, s *ld.LSym, val *int64) int {
                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 @@ func archreloc(r *ld.Reloc, s *ld.LSym, val *int64) int {
 
        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 @@ func archrelocvariant(r *ld.Reloc, s *ld.LSym, t int64) int64 {
                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 @@ func archrelocvariant(r *ld.Reloc, s *ld.LSym, t int64) int64 {
                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 @@ func archrelocvariant(r *ld.Reloc, s *ld.LSym, t int64) int64 {
                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:]))
index 3dd6a5f20666149b5af2ed5de8857a5189e96de0..aa84a957801504b07a61640e527329d7df50cb32 100644 (file)
@@ -10,7 +10,6 @@ var Linkarm = LinkArch{
        ByteOrder: binary.LittleEndian,
        Name:      "arm",
        Thechar:   '5',
-       Endian:    LittleEndian,
        Minlc:     4,
        Ptrsize:   4,
        Regsize:   4,
@@ -20,7 +19,6 @@ var Linkamd64 = LinkArch{
        ByteOrder: binary.LittleEndian,
        Name:      "amd64",
        Thechar:   '6',
-       Endian:    LittleEndian,
        Minlc:     1,
        Ptrsize:   8,
        Regsize:   8,
@@ -30,7 +28,6 @@ var Linkamd64p32 = LinkArch{
        ByteOrder: binary.LittleEndian,
        Name:      "amd64p32",
        Thechar:   '6',
-       Endian:    LittleEndian,
        Minlc:     1,
        Ptrsize:   4,
        Regsize:   8,
@@ -40,7 +37,6 @@ var Link386 = LinkArch{
        ByteOrder: binary.LittleEndian,
        Name:      "386",
        Thechar:   '8',
-       Endian:    LittleEndian,
        Minlc:     1,
        Ptrsize:   4,
        Regsize:   4,
@@ -50,7 +46,6 @@ var Linkppc64 = LinkArch{
        ByteOrder: binary.BigEndian,
        Name:      "ppc64",
        Thechar:   '9',
-       Endian:    BigEndian,
        Minlc:     4,
        Ptrsize:   8,
        Regsize:   8,
@@ -60,7 +55,6 @@ var Linkppc64le = LinkArch{
        ByteOrder: binary.LittleEndian,
        Name:      "ppc64le",
        Thechar:   '9',
-       Endian:    LittleEndian,
        Minlc:     4,
        Ptrsize:   8,
        Regsize:   8,
index ca95fe0cc2aa4af662e202813e16e18f03d2a5ab..f6d1043c10e5e6ad441e6ba345b69053cbae050b 100644 (file)
@@ -5,6 +5,7 @@
 package ld
 
 import (
+       "encoding/binary"
        "fmt"
        "os"
 )
@@ -755,7 +756,7 @@ func Elfinit() {
        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 @@ elfobj:
        } 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
index 69702fb4588a65176dd2a05cc44cb217a6d33b11..9047e7098cee32a91e074ed2f02ad625d8a9b92d 100644 (file)
@@ -269,11 +269,6 @@ const (
 // 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 */
index 67042c029ae40dfb5c36b727a2f38fe63aee65b5..9c1baca0384b7bd724dd07da616a2af72ea3c645 100644 (file)
@@ -1066,7 +1066,6 @@ var Linkarm = obj.LinkArch{
        Pconv:      Pconv,
        Name:       "arm",
        Thechar:    '5',
-       Endian:     obj.LittleEndian,
        Preprocess: preprocess,
        Assemble:   span5,
        Follow:     follow,
index 44d27c29f2a46084c9234c790e3302a5836245c1..88adba045edc6c839aa3807d656defbf2c105346 100644 (file)
@@ -914,7 +914,6 @@ var Link386 = obj.LinkArch{
        Pconv:      Pconv,
        Name:       "386",
        Thechar:    '8',
-       Endian:     obj.LittleEndian,
        Preprocess: preprocess,
        Assemble:   span8,
        Follow:     follow,
index 990072937f1a51b542af55a97a119189a0ab2401..397c9c9c0ed60849773d587ea65be37f05e2db5a 100644 (file)
@@ -246,7 +246,6 @@ type LinkArch struct {
        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 @@ const (
 // 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 */
index 42969d048126cdcfdfa61cb4d973dea89371c19e..e66522999c0f6df95d51155108649fd687bee361 100644 (file)
@@ -31,6 +31,7 @@ package ppc64
 
 import (
        "cmd/internal/obj"
+       "encoding/binary"
        "fmt"
        "log"
        "sort"
@@ -2038,7 +2039,7 @@ func asmout(ctxt *obj.Link, p *obj.Prog, o *Optab, out []uint32) {
        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 {
index 0c3298afc2757942dc8433d3b5be5ee9efa84957..a507449eae459647318b1893da8ac260a52f9e5a 100644 (file)
@@ -970,7 +970,6 @@ var Linkppc64 = obj.LinkArch{
        Pconv:      Pconv,
        Name:       "ppc64",
        Thechar:    '9',
-       Endian:     obj.BigEndian,
        Preprocess: preprocess,
        Assemble:   span9,
        Follow:     follow,
@@ -986,7 +985,6 @@ var Linkppc64le = obj.LinkArch{
        Pconv:      Pconv,
        Name:       "ppc64le",
        Thechar:    '9',
-       Endian:     obj.LittleEndian,
        Preprocess: preprocess,
        Assemble:   span9,
        Follow:     follow,
index 63a82b0f923bc97b2bb5a8f6a87f017e7b512342..4cb2f45a584ae32d10c744697a29c67e5c0ca793 100644 (file)
@@ -1116,7 +1116,6 @@ var Linkamd64 = obj.LinkArch{
        Pconv:      Pconv,
        Name:       "amd64",
        Thechar:    '6',
-       Endian:     obj.LittleEndian,
        Preprocess: preprocess,
        Assemble:   span6,
        Follow:     follow,
@@ -1132,7 +1131,6 @@ var Linkamd64p32 = obj.LinkArch{
        Pconv:      Pconv,
        Name:       "amd64p32",
        Thechar:    '6',
-       Endian:     obj.LittleEndian,
        Preprocess: preprocess,
        Assemble:   span6,
        Follow:     follow,