]> Cypherpunks repositories - gostls13.git/commitdiff
all: use io.{SeekStart, SeekCurrent, SeekEnd}
authorJes Cok <xigua67damn@gmail.com>
Wed, 30 Aug 2023 04:57:57 +0000 (04:57 +0000)
committerGopher Robot <gobot@golang.org>
Thu, 7 Sep 2023 19:06:17 +0000 (19:06 +0000)
Currently we include these symbols in bootstrap code.

Change-Id: I19b504237b0344f0e87cda0fbe651811c72daba1
GitHub-Last-Rev: 5134baec387659c5e2ca8c4fc65a5e73c07f00ce
GitHub-Pull-Request: golang/go#62368
Reviewed-on: https://go-review.googlesource.com/c/go/+/524258
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: qiulaidongfeng <2645477756@qq.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
src/cmd/compile/internal/importer/iimport.go
src/debug/elf/file.go
src/debug/elf/reader.go
src/debug/pe/file.go
src/debug/pe/section.go
src/debug/pe/string.go
src/debug/pe/symbol.go

index 24d3d4b6e78d17b7767de759ed81688e1617e89c..498134755d9ab6c1deff53fd3d71d770ed5969af 100644 (file)
@@ -77,8 +77,6 @@ const (
        unionType
 )
 
-const io_SeekCurrent = 1 // io.SeekCurrent (not defined in Go 1.4)
-
 // ImportData imports a package from the serialized package data
 // and returns the number of bytes consumed and a reference to the package.
 // If the export data version is not recognized or the format is otherwise
@@ -108,10 +106,10 @@ func ImportData(imports map[string]*types2.Package, data, path string) (pkg *typ
        sLen := int64(r.uint64())
        dLen := int64(r.uint64())
 
-       whence, _ := r.Seek(0, io_SeekCurrent)
+       whence, _ := r.Seek(0, io.SeekCurrent)
        stringData := data[whence : whence+sLen]
        declData := data[whence+sLen : whence+sLen+dLen]
-       r.Seek(sLen+dLen, io_SeekCurrent)
+       r.Seek(sLen+dLen, io.SeekCurrent)
 
        p := iimporter{
                exportVersion: version,
index 87773541f0b6c244f3665b1fbf11ada7cdb8f37a..4765c468d82baa1c7fe4abb44983bbe3d3791489 100644 (file)
@@ -29,17 +29,6 @@ import (
        "strings"
 )
 
-// seekStart, seekCurrent, seekEnd are copies of
-// io.SeekStart, io.SeekCurrent, and io.SeekEnd.
-// We can't use the ones from package io because
-// we want this code to build with Go 1.4 during
-// cmd/dist bootstrap.
-const (
-       seekStart   int = 0
-       seekCurrent int = 1
-       seekEnd     int = 2
-)
-
 // TODO: error reporting detail
 
 /*
@@ -332,7 +321,7 @@ func NewFile(r io.ReaderAt) (*File, error) {
        switch f.Class {
        case ELFCLASS32:
                hdr := new(Header32)
-               sr.Seek(0, seekStart)
+               sr.Seek(0, io.SeekStart)
                if err := binary.Read(sr, f.ByteOrder, hdr); err != nil {
                        return nil, err
                }
@@ -351,7 +340,7 @@ func NewFile(r io.ReaderAt) (*File, error) {
                shstrndx = int(hdr.Shstrndx)
        case ELFCLASS64:
                hdr := new(Header64)
-               sr.Seek(0, seekStart)
+               sr.Seek(0, io.SeekStart)
                if err := binary.Read(sr, f.ByteOrder, hdr); err != nil {
                        return nil, err
                }
@@ -402,7 +391,7 @@ func NewFile(r io.ReaderAt) (*File, error) {
        f.Progs = make([]*Prog, phnum)
        for i := 0; i < phnum; i++ {
                off := phoff + int64(i)*int64(phentsize)
-               sr.Seek(off, seekStart)
+               sr.Seek(off, io.SeekStart)
                p := new(Prog)
                switch f.Class {
                case ELFCLASS32:
@@ -453,7 +442,7 @@ func NewFile(r io.ReaderAt) (*File, error) {
        // header at index 0.
        if shoff > 0 && shnum == 0 {
                var typ, link uint32
-               sr.Seek(shoff, seekStart)
+               sr.Seek(shoff, io.SeekStart)
                switch f.Class {
                case ELFCLASS32:
                        sh := new(Section32)
@@ -506,7 +495,7 @@ func NewFile(r io.ReaderAt) (*File, error) {
        names := make([]uint32, 0, c)
        for i := 0; i < shnum; i++ {
                off := shoff + int64(i)*int64(shentsize)
-               sr.Seek(off, seekStart)
+               sr.Seek(off, io.SeekStart)
                s := new(Section)
                switch f.Class {
                case ELFCLASS32:
index a45843619e5481bb08e0874c51640fca214b4d19..eab437318d6d3e3ee6513884df7120551ff6dae8 100644 (file)
@@ -63,11 +63,11 @@ func (r *readSeekerFromReader) Read(p []byte) (n int, err error) {
 func (r *readSeekerFromReader) Seek(offset int64, whence int) (int64, error) {
        var newOffset int64
        switch whence {
-       case seekStart:
+       case io.SeekStart:
                newOffset = offset
-       case seekCurrent:
+       case io.SeekCurrent:
                newOffset = r.offset + offset
-       case seekEnd:
+       case io.SeekEnd:
                newOffset = r.size + offset
        default:
                return 0, os.ErrInvalid
index 06c160105f57f7b67ab8dafabd41d4ce77349e1b..e7be4ef1a0ae6165e762848379f02584feaba50c 100644 (file)
@@ -27,9 +27,6 @@ import (
        "strings"
 )
 
-// Avoid use of post-Go 1.4 io features, to make safe for toolchain bootstrap.
-const seekStart = 0
-
 // A File represents an open PE file.
 type File struct {
        FileHeader
@@ -92,7 +89,7 @@ func NewFile(r io.ReaderAt) (*File, error) {
        } else {
                base = int64(0)
        }
-       sr.Seek(base, seekStart)
+       sr.Seek(base, io.SeekStart)
        if err := binary.Read(sr, binary.LittleEndian, &f.FileHeader); err != nil {
                return nil, err
        }
@@ -129,7 +126,7 @@ func NewFile(r io.ReaderAt) (*File, error) {
        }
 
        // Seek past file header.
-       _, err = sr.Seek(base+int64(binary.Size(f.FileHeader)), seekStart)
+       _, err = sr.Seek(base+int64(binary.Size(f.FileHeader)), io.SeekStart)
        if err != nil {
                return nil, err
        }
index 70d0c220ce2c7a7e929afa3bbc50fc2c2fa064e3..bab067e06b054e411696b81cfbc8de43f50365b6 100644 (file)
@@ -54,7 +54,7 @@ func readRelocs(sh *SectionHeader, r io.ReadSeeker) ([]Reloc, error) {
        if sh.NumberOfRelocations <= 0 {
                return nil, nil
        }
-       _, err := r.Seek(int64(sh.PointerToRelocations), seekStart)
+       _, err := r.Seek(int64(sh.PointerToRelocations), io.SeekStart)
        if err != nil {
                return nil, fmt.Errorf("fail to seek to %q section relocations: %v", sh.Name, err)
        }
index a156bbef05be88ec8ba9f60ff537de8919f22b30..6cd08aed7152e798bb2d02e810a7145cef11c360 100644 (file)
@@ -31,7 +31,7 @@ func readStringTable(fh *FileHeader, r io.ReadSeeker) (StringTable, error) {
                return nil, nil
        }
        offset := fh.PointerToSymbolTable + COFFSymbolSize*fh.NumberOfSymbols
-       _, err := r.Seek(int64(offset), seekStart)
+       _, err := r.Seek(int64(offset), io.SeekStart)
        if err != nil {
                return nil, fmt.Errorf("fail to seek to string table: %v", err)
        }
index 2e03af76bd24ab785e6aa3fc95ff4cfb9bdd5b93..02f24ec29d6e01cb4de1cf32a556c2a48be6f184 100644 (file)
@@ -55,7 +55,7 @@ func readCOFFSymbols(fh *FileHeader, r io.ReadSeeker) ([]COFFSymbol, error) {
        if fh.NumberOfSymbols <= 0 {
                return nil, nil
        }
-       _, err := r.Seek(int64(fh.PointerToSymbolTable), seekStart)
+       _, err := r.Seek(int64(fh.PointerToSymbolTable), io.SeekStart)
        if err != nil {
                return nil, fmt.Errorf("fail to seek to symbol table: %v", err)
        }