aboutsummaryrefslogtreecommitdiff
path: root/src/debug
diff options
context:
space:
mode:
authorJes Cok <xigua67damn@gmail.com>2023-08-30 04:57:57 +0000
committerGopher Robot <gobot@golang.org>2023-09-07 19:06:17 +0000
commitac2ec69e195ef7cb8d991e3db76dcc162cb45941 (patch)
tree2c71aebf88754e474b4f5dd9e3d0a8d694203f95 /src/debug
parent4beb33018b35d3a68f0ce41bee10f56512d1696e (diff)
downloadgo-ac2ec69e195ef7cb8d991e3db76dcc162cb45941.tar.gz
go-ac2ec69e195ef7cb8d991e3db76dcc162cb45941.zip
all: use io.{SeekStart, SeekCurrent, SeekEnd}
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>
Diffstat (limited to 'src/debug')
-rw-r--r--src/debug/elf/file.go21
-rw-r--r--src/debug/elf/reader.go6
-rw-r--r--src/debug/pe/file.go7
-rw-r--r--src/debug/pe/section.go2
-rw-r--r--src/debug/pe/string.go2
-rw-r--r--src/debug/pe/symbol.go2
6 files changed, 13 insertions, 27 deletions
diff --git a/src/debug/elf/file.go b/src/debug/elf/file.go
index 87773541f0..4765c468d8 100644
--- a/src/debug/elf/file.go
+++ b/src/debug/elf/file.go
@@ -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:
diff --git a/src/debug/elf/reader.go b/src/debug/elf/reader.go
index a45843619e..eab437318d 100644
--- a/src/debug/elf/reader.go
+++ b/src/debug/elf/reader.go
@@ -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
diff --git a/src/debug/pe/file.go b/src/debug/pe/file.go
index 06c160105f..e7be4ef1a0 100644
--- a/src/debug/pe/file.go
+++ b/src/debug/pe/file.go
@@ -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
}
diff --git a/src/debug/pe/section.go b/src/debug/pe/section.go
index 70d0c220ce..bab067e06b 100644
--- a/src/debug/pe/section.go
+++ b/src/debug/pe/section.go
@@ -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)
}
diff --git a/src/debug/pe/string.go b/src/debug/pe/string.go
index a156bbef05..6cd08aed71 100644
--- a/src/debug/pe/string.go
+++ b/src/debug/pe/string.go
@@ -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)
}
diff --git a/src/debug/pe/symbol.go b/src/debug/pe/symbol.go
index 2e03af76bd..02f24ec29d 100644
--- a/src/debug/pe/symbol.go
+++ b/src/debug/pe/symbol.go
@@ -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)
}