]> Cypherpunks repositories - gostls13.git/commitdiff
all: replace package ioutil with os and io in src
authorAndy Pan <panjf2000@gmail.com>
Sat, 27 Aug 2022 19:38:00 +0000 (03:38 +0800)
committerGopher Robot <gobot@golang.org>
Tue, 20 Sep 2022 02:13:02 +0000 (02:13 +0000)
For #45557

Change-Id: I56824135d86452603dd4ed4bab0e24c201bb0683
Reviewed-on: https://go-review.googlesource.com/c/go/+/426257
Run-TryBot: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Run-TryBot: Andy Pan <panjf2000@gmail.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
67 files changed:
src/cmd/asm/internal/asm/endtoend_test.go
src/cmd/cgo/main.go
src/cmd/cgo/util.go
src/cmd/compile/internal/base/flag.go
src/cmd/compile/internal/dwarfgen/scope_test.go
src/cmd/compile/internal/importer/gcimporter.go
src/cmd/compile/internal/ir/mknode.go
src/cmd/compile/internal/logopt/logopt_test.go
src/cmd/compile/internal/ssa/debug_lines_test.go
src/cmd/compile/internal/ssa/debug_test.go
src/cmd/compile/internal/ssa/gen/main.go
src/cmd/compile/internal/ssa/gen/rulegen.go
src/cmd/compile/internal/ssagen/abi.go
src/cmd/compile/internal/staticdata/data.go
src/cmd/compile/internal/syntax/error_test.go
src/cmd/compile/internal/syntax/parser_test.go
src/cmd/compile/internal/syntax/printer_test.go
src/cmd/compile/internal/test/clobberdead_test.go
src/cmd/compile/internal/test/fixedbugs_test.go
src/cmd/compile/internal/test/global_test.go
src/cmd/compile/internal/test/inst_test.go
src/cmd/compile/internal/test/lang_test.go
src/cmd/compile/internal/test/reproduciblebuilds_test.go
src/cmd/compile/internal/test/ssa_test.go
src/cmd/compile/internal/test/testdata/gen/arithBoundaryGen.go
src/cmd/compile/internal/test/testdata/gen/arithConstGen.go
src/cmd/compile/internal/test/testdata/gen/cmpConstGen.go
src/cmd/compile/internal/test/testdata/gen/constFoldGen.go
src/cmd/compile/internal/test/testdata/gen/copyGen.go
src/cmd/compile/internal/test/testdata/gen/zeroGen.go
src/cmd/compile/internal/typecheck/builtin_test.go
src/cmd/compile/internal/typecheck/mkbuiltin.go
src/cmd/compile/internal/types2/hilbert_test.go
src/cmd/dist/build.go
src/cmd/dist/test.go
src/cmd/dist/util.go
src/cmd/go/internal/fsys/fsys.go
src/cmd/go/internal/modload/init.go
src/cmd/internal/archive/archive_test.go
src/cmd/internal/buildid/buildid_test.go
src/cmd/internal/goobj/mkbuiltin.go
src/cmd/internal/goobj/objfile_test.go
src/cmd/internal/moddeps/moddeps_test.go
src/cmd/internal/obj/arm64/asm_arm64_test.go
src/cmd/internal/obj/objfile_test.go
src/cmd/internal/obj/ppc64/asm_test.go
src/cmd/internal/obj/riscv/asm_test.go
src/cmd/internal/obj/x86/obj6_test.go
src/cmd/internal/obj/x86/pcrelative_test.go
src/cmd/internal/objabi/flag.go
src/cmd/internal/objfile/disasm.go
src/cmd/internal/pkgpath/pkgpath.go
src/cmd/internal/test2json/test2json_test.go
src/cmd/link/elf_test.go
src/cmd/link/internal/ld/dwarf_test.go
src/cmd/link/internal/ld/elf_test.go
src/cmd/link/internal/ld/go_test.go
src/cmd/link/internal/ld/ld.go
src/cmd/link/internal/ld/ld_test.go
src/cmd/link/internal/ld/lib.go
src/cmd/link/internal/ld/xcoff.go
src/cmd/link/link_test.go
src/cmd/link/linkbig_test.go
src/internal/fuzz/fuzz.go
src/internal/fuzz/mem.go
src/internal/fuzz/worker.go
src/internal/txtar/archive.go

index d3f17358a8f77f1f916171cc95de62fbfdb02680..a234b2f1fe991641c816b0977fdc3986ad3ca019 100644 (file)
@@ -9,7 +9,6 @@ import (
        "bytes"
        "fmt"
        "internal/buildcfg"
-       "io/ioutil"
        "os"
        "path/filepath"
        "regexp"
@@ -51,7 +50,7 @@ func testEndToEnd(t *testing.T, goarch, file string) {
        output := strings.Split(testOut.String(), "\n")
 
        // Reconstruct expected output by independently "parsing" the input.
-       data, err := ioutil.ReadFile(input)
+       data, err := os.ReadFile(input)
        if err != nil {
                t.Error(err)
                return
@@ -324,7 +323,7 @@ func testErrors(t *testing.T, goarch, file string, flags ...string) {
        }
 
        // Reconstruct expected errors by independently "parsing" the input.
-       data, err := ioutil.ReadFile(input)
+       data, err := os.ReadFile(input)
        if err != nil {
                t.Error(err)
                return
index 55515a677f6df34a883a666d9cc6c3640b757229..b71923a4339986f6603559832a85cc38ba5daace 100644 (file)
@@ -18,7 +18,6 @@ import (
        "go/token"
        "internal/buildcfg"
        "io"
-       "io/ioutil"
        "os"
        "path/filepath"
        "reflect"
@@ -345,7 +344,7 @@ func main() {
                        input = aname
                }
 
-               b, err := ioutil.ReadFile(input)
+               b, err := os.ReadFile(input)
                if err != nil {
                        fatalf("%s", err)
                }
index 779f7be2259b3750166b6edce318adb779e7a3a6..f2a5cd2b9d8952403e96f84c36d31457729fdcb5 100644 (file)
@@ -8,7 +8,6 @@ import (
        "bytes"
        "fmt"
        "go/token"
-       "io/ioutil"
        "os"
        "os/exec"
 )
@@ -21,13 +20,13 @@ func run(stdin []byte, argv []string) (stdout, stderr []byte, ok bool) {
                // Some compilers have trouble with standard input.
                // Others have trouble with -xc.
                // Avoid both problems by writing a file with a .c extension.
-               f, err := ioutil.TempFile("", "cgo-gcc-input-")
+               f, err := os.CreateTemp("", "cgo-gcc-input-")
                if err != nil {
                        fatalf("%s", err)
                }
                name := f.Name()
                f.Close()
-               if err := ioutil.WriteFile(name+".c", stdin, 0666); err != nil {
+               if err := os.WriteFile(name+".c", stdin, 0666); err != nil {
                        os.Remove(name)
                        fatalf("%s", err)
                }
index f2728d972f71dc8ef40318ac8ceee05691c954e1..a005d2cdf26aca370a03bbc902da12e215ff7775 100644 (file)
@@ -9,7 +9,6 @@ import (
        "flag"
        "fmt"
        "internal/buildcfg"
-       "io/ioutil"
        "log"
        "os"
        "reflect"
@@ -392,7 +391,7 @@ func readImportCfg(file string) {
                Flag.Cfg.ImportMap = make(map[string]string)
        }
        Flag.Cfg.PackageFile = map[string]string{}
-       data, err := ioutil.ReadFile(file)
+       data, err := os.ReadFile(file)
        if err != nil {
                log.Fatalf("-importcfg: %v", err)
        }
@@ -432,7 +431,7 @@ func readImportCfg(file string) {
 }
 
 func readEmbedCfg(file string) {
-       data, err := ioutil.ReadFile(file)
+       data, err := os.ReadFile(file)
        if err != nil {
                log.Fatalf("-embedcfg: %v", err)
        }
index 3df4c345c3cb5f5e9d31fc7ce36e560ac4e8b759..03567227b7328e48559e25d7e12f1fc6a5cee193 100644 (file)
@@ -8,7 +8,6 @@ import (
        "debug/dwarf"
        "fmt"
        "internal/testenv"
-       "io/ioutil"
        "os"
        "os/exec"
        "path/filepath"
@@ -221,7 +220,7 @@ func TestScopeRanges(t *testing.T) {
                t.Skip("skipping on plan9; no DWARF symbol table in executables")
        }
 
-       dir, err := ioutil.TempDir("", "TestScopeRanges")
+       dir, err := os.MkdirTemp("", "TestScopeRanges")
        if err != nil {
                t.Fatalf("could not create directory: %v", err)
        }
@@ -498,7 +497,7 @@ func TestEmptyDwarfRanges(t *testing.T) {
                t.Skip("skipping on plan9; no DWARF symbol table in executables")
        }
 
-       dir, err := ioutil.TempDir("", "TestEmptyDwarfRanges")
+       dir, err := os.MkdirTemp("", "TestEmptyDwarfRanges")
        if err != nil {
                t.Fatalf("could not create directory: %v", err)
        }
index bcf0480cfc87adb7a2a9e1eeca43ef9d1366f868..f6ec6554a85b5ae30d8f3dcc7b2ece8e26bebb8f 100644 (file)
@@ -7,15 +7,15 @@ package importer
 
 import (
        "bufio"
-       "cmd/compile/internal/types2"
        "fmt"
        "go/build"
        "internal/pkgbits"
        "io"
-       "io/ioutil"
        "os"
        "path/filepath"
        "strings"
+
+       "cmd/compile/internal/types2"
 )
 
 // debugging/development support
@@ -149,7 +149,7 @@ func Import(packages map[string]*types2.Package, path, srcDir string, lookup fun
                if size >= 0 {
                        r = io.LimitReader(r, int64(size))
                }
-               data, err = ioutil.ReadAll(r)
+               data, err = io.ReadAll(r)
                if err != nil {
                        break
                }
index d815195721f215ce2eadee415069f0bc5e347109..4630a7a5b84af4d0a1731b85205b4feffc46859a 100644 (file)
@@ -18,7 +18,6 @@ import (
        "go/parser"
        "go/token"
        "io/fs"
-       "io/ioutil"
        "log"
        "sort"
        "strings"
@@ -160,7 +159,7 @@ func main() {
                // write out mangled source so we can see the bug.
                out = buf.Bytes()
        }
-       err = ioutil.WriteFile("node_gen.go", out, 0666)
+       err = os.WriteFile("node_gen.go", out, 0666)
        if err != nil {
                log.Fatal(err)
        }
index 411319f9e9eff6e903b2b654b895df5116588f13..b44cf4be66540e1321db57fd84546dbcc5d3a761 100644 (file)
@@ -6,7 +6,6 @@ package logopt
 
 import (
        "internal/testenv"
-       "io/ioutil"
        "os"
        "os/exec"
        "path/filepath"
@@ -88,7 +87,7 @@ func TestLogOpt(t *testing.T) {
 
        testenv.MustHaveGoBuild(t)
 
-       dir, err := ioutil.TempDir("", "TestLogOpt")
+       dir, err := os.MkdirTemp("", "TestLogOpt")
        if err != nil {
                t.Fatal(err)
        }
@@ -96,7 +95,7 @@ func TestLogOpt(t *testing.T) {
 
        dir = fixSlash(dir) // Normalize the directory name as much as possible, for Windows testing
        src := filepath.Join(dir, "file.go")
-       if err := ioutil.WriteFile(src, []byte(srcCode), 0644); err != nil {
+       if err := os.WriteFile(src, []byte(srcCode), 0644); err != nil {
                t.Fatal(err)
        }
 
@@ -146,7 +145,7 @@ func s15a8(x *[15]int64) [15]int64 {
 }
 `
                copy := filepath.Join(dir, "copy.go")
-               if err := ioutil.WriteFile(copy, []byte(copyCode), 0644); err != nil {
+               if err := os.WriteFile(copy, []byte(copyCode), 0644); err != nil {
                        t.Fatal(err)
                }
                outcopy := filepath.Join(dir, "copy.o")
@@ -169,7 +168,7 @@ func s15a8(x *[15]int64) [15]int64 {
                                if err != nil {
                                        t.Error("-json=0,file://log/opt should have succeeded")
                                }
-                               logged, err := ioutil.ReadFile(filepath.Join(dir, "log", "opt", "x", "copy.json"))
+                               logged, err := os.ReadFile(filepath.Join(dir, "log", "opt", "x", "copy.json"))
                                if err != nil {
                                        t.Error("-json=0,file://log/opt missing expected log file")
                                }
@@ -196,7 +195,7 @@ func s15a8(x *[15]int64) [15]int64 {
                if err != nil {
                        t.Error("-json=0,file://log/opt should have succeeded")
                }
-               logged, err := ioutil.ReadFile(filepath.Join(dir, "log", "opt", "x", "file.json"))
+               logged, err := os.ReadFile(filepath.Join(dir, "log", "opt", "x", "file.json"))
                if err != nil {
                        t.Error("-json=0,file://log/opt missing expected log file")
                }
index 23b511ddb2eb4e73e171ae66a7065fdacdfc652d..cde1015b4bb3bf1e323e329b473276a825b122a9 100644 (file)
@@ -8,20 +8,18 @@ import (
        "bufio"
        "bytes"
        "flag"
-       "internal/buildcfg"
-       "runtime"
-       "sort"
-       "strings"
-
        "fmt"
+       "internal/buildcfg"
        "internal/testenv"
-       "io/ioutil"
        "os"
        "os/exec"
        "path/filepath"
        "reflect"
        "regexp"
+       "runtime"
+       "sort"
        "strconv"
+       "strings"
        "testing"
 )
 
@@ -129,7 +127,7 @@ func TestDebugLines_53456(t *testing.T) {
 func compileAndDump(t *testing.T, file, function, moreGCFlags string) []byte {
        testenv.MustHaveGoBuild(t)
 
-       tmpdir, err := ioutil.TempDir("", "debug_lines_test")
+       tmpdir, err := os.MkdirTemp("", "debug_lines_test")
        if err != nil {
                panic(fmt.Sprintf("Problem creating TempDir, error %v", err))
        }
index f3f8eeeb417249afa870da8da259b42b70d049e1..f96c5b131cd9942f9fdf568717ec0551b6318ae0 100644 (file)
@@ -9,7 +9,6 @@ import (
        "fmt"
        "internal/testenv"
        "io"
-       "io/ioutil"
        "os"
        "os/exec"
        "path/filepath"
@@ -223,7 +222,7 @@ func testNexting(t *testing.T, base, tag, gcflags string, count int, moreArgs ..
 
        // Use a temporary directory unless -f is specified
        if !*force {
-               tmpdir, err := ioutil.TempDir("", "debug_test")
+               tmpdir, err := os.MkdirTemp("", "debug_test")
                if err != nil {
                        panic(fmt.Sprintf("Problem creating TempDir, error %v\n", err))
                }
@@ -366,7 +365,7 @@ func (h *nextHist) write(filename string) {
 
 func (h *nextHist) read(filename string) {
        h.f2i = make(map[string]uint8)
-       bytes, err := ioutil.ReadFile(filename)
+       bytes, err := os.ReadFile(filename)
        if err != nil {
                panic(fmt.Sprintf("Problem reading %s, error %v\n", filename, err))
        }
index b1a7cf9f6f2f98702250e0b1b35168f73f64f3ae..81740dcf1c02ac7d06caa90fbfa61c0fb18f97b2 100644 (file)
@@ -14,7 +14,6 @@ import (
        "flag"
        "fmt"
        "go/format"
-       "io/ioutil"
        "log"
        "os"
        "path"
@@ -500,7 +499,7 @@ func genOp() {
                panic(err)
        }
 
-       if err := ioutil.WriteFile("../opGen.go", b, 0666); err != nil {
+       if err := os.WriteFile("../opGen.go", b, 0666); err != nil {
                log.Fatalf("can't write output: %v\n", err)
        }
 
@@ -521,7 +520,7 @@ func genOp() {
                        log.Fatalf("bad opcode regexp %s: %v", pattern, err)
                }
 
-               src, err := ioutil.ReadFile(a.genfile)
+               src, err := os.ReadFile(a.genfile)
                if err != nil {
                        log.Fatalf("can't read %s: %v", a.genfile, err)
                }
index 0f7e970372636e6eeae9dfca794deb6cfb71793e..fc9b4c9b3e74b829ee53f983bc050a231975beec 100644 (file)
@@ -23,7 +23,6 @@ import (
        "go/printer"
        "go/token"
        "io"
-       "io/ioutil"
        "log"
        "os"
        "path"
@@ -280,7 +279,7 @@ func genRulesSuffix(arch arch, suff string) {
        file, err := parser.ParseFile(fset, "", buf, parser.ParseComments)
        if err != nil {
                filename := fmt.Sprintf("%s_broken.go", arch.name)
-               if err := ioutil.WriteFile(filename, buf.Bytes(), 0644); err != nil {
+               if err := os.WriteFile(filename, buf.Bytes(), 0644); err != nil {
                        log.Printf("failed to dump broken code to %s: %v", filename, err)
                } else {
                        log.Printf("dumped broken code to %s", filename)
index 50ea86d8fcf70e1292a216a6f033eb455d8f58d0..c6ac66f3b0700b755b267e0548dbb1a2b018cd16 100644 (file)
@@ -7,7 +7,6 @@ package ssagen
 import (
        "fmt"
        "internal/buildcfg"
-       "io/ioutil"
        "log"
        "os"
        "strings"
@@ -59,7 +58,7 @@ func (s *SymABIs) canonicalize(linksym string) string {
 // the symbol name and the third field is the ABI name, as one of the
 // named cmd/internal/obj.ABI constants.
 func (s *SymABIs) ReadSymABIs(file string) {
-       data, err := ioutil.ReadFile(file)
+       data, err := os.ReadFile(file)
        if err != nil {
                log.Fatalf("-symabis: %v", err)
        }
index da0db5a573d07af9e668bfdf5e901794581b9b60..662580f8e239c48cf0b0f28b307ae9ab535dcf83 100644 (file)
@@ -9,7 +9,6 @@ import (
        "fmt"
        "go/constant"
        "io"
-       "io/ioutil"
        "os"
        "sort"
        "strconv"
@@ -124,7 +123,7 @@ func fileStringSym(pos src.XPos, file string, readonly bool, hash []byte) (*obj.
        }
        size := info.Size()
        if size <= 1*1024 {
-               data, err := ioutil.ReadAll(f)
+               data, err := io.ReadAll(f)
                if err != nil {
                        return nil, 0, err
                }
index 2f70b5278e7aed845381528fb6795881879fb81c..55ea6345b90fdf5525b0accb3ee1f0212ac34863 100644 (file)
@@ -32,7 +32,6 @@ import (
        "flag"
        "fmt"
        "internal/testenv"
-       "io/ioutil"
        "os"
        "path/filepath"
        "regexp"
@@ -178,7 +177,7 @@ func testSyntaxErrors(t *testing.T, filename string) {
 func TestSyntaxErrors(t *testing.T) {
        testenv.MustHaveGoBuild(t) // we need access to source (testdata)
 
-       list, err := ioutil.ReadDir(testdata)
+       list, err := os.ReadDir(testdata)
        if err != nil {
                t.Fatal(err)
        }
index b3d45739352329c3dc0239d41cb105bc20a72ae7..74583ca9036b75fb493550c61c5c6a2b759bc3a8 100644 (file)
@@ -9,7 +9,7 @@ import (
        "flag"
        "fmt"
        "internal/testenv"
-       "io/ioutil"
+       "os"
        "path/filepath"
        "regexp"
        "runtime"
@@ -112,21 +112,21 @@ func TestStdLib(t *testing.T) {
 }
 
 func walkDirs(t *testing.T, dir string, action func(string)) {
-       fis, err := ioutil.ReadDir(dir)
+       entries, err := os.ReadDir(dir)
        if err != nil {
                t.Error(err)
                return
        }
 
        var files, dirs []string
-       for _, fi := range fis {
-               if fi.Mode().IsRegular() {
-                       if strings.HasSuffix(fi.Name(), ".go") {
-                               path := filepath.Join(dir, fi.Name())
+       for _, entry := range entries {
+               if entry.Type().IsRegular() {
+                       if strings.HasSuffix(entry.Name(), ".go") {
+                               path := filepath.Join(dir, entry.Name())
                                files = append(files, path)
                        }
-               } else if fi.IsDir() && fi.Name() != "testdata" {
-                       path := filepath.Join(dir, fi.Name())
+               } else if entry.IsDir() && entry.Name() != "testdata" {
+                       path := filepath.Join(dir, entry.Name())
                        if !strings.HasSuffix(path, string(filepath.Separator)+"test") {
                                dirs = append(dirs, path)
                        }
index 863713c12da50c7f57f5f89529898c90415a379f..ceb512ef894dbd15af7dd687a4d09a668c916c4a 100644 (file)
@@ -7,7 +7,6 @@ package syntax
 import (
        "fmt"
        "io"
-       "io/ioutil"
        "os"
        "strings"
        "testing"
@@ -155,7 +154,7 @@ func testOut() io.Writer {
        if testing.Verbose() {
                return os.Stdout
        }
-       return ioutil.Discard
+       return io.Discard
 }
 
 func dup(s string) [2]string { return [2]string{s, s} }
index 88b7d34623a77c82cf0a1e5647c7b2afe7891a54..e7910b865c68e0c4e43af41c235d9146b9a7dfd8 100644 (file)
@@ -6,7 +6,7 @@ package test
 
 import (
        "internal/testenv"
-       "io/ioutil"
+       "os"
        "os/exec"
        "path/filepath"
        "testing"
@@ -39,7 +39,7 @@ func runHello(t *testing.T, flag string) {
 
        tmpdir := t.TempDir()
        src := filepath.Join(tmpdir, "x.go")
-       err := ioutil.WriteFile(src, []byte(helloSrc), 0644)
+       err := os.WriteFile(src, []byte(helloSrc), 0644)
        if err != nil {
                t.Fatalf("write file failed: %v", err)
        }
index cd0d5fc3536e7136ba2195d665511fb32036c99d..5978b44a7d929785bafd30a0bd3f1146b9f0d98e 100644 (file)
@@ -6,7 +6,6 @@ package test
 
 import (
        "internal/testenv"
-       "io/ioutil"
        "os"
        "os/exec"
        "path/filepath"
@@ -60,14 +59,14 @@ func TestIssue15854b(t *testing.T) {
 // Test that the generated assembly has line numbers (Issue #16214).
 func TestIssue16214(t *testing.T) {
        testenv.MustHaveGoBuild(t)
-       dir, err := ioutil.TempDir("", "TestLineNumber")
+       dir, err := os.MkdirTemp("", "TestLineNumber")
        if err != nil {
                t.Fatalf("could not create directory: %v", err)
        }
        defer os.RemoveAll(dir)
 
        src := filepath.Join(dir, "x.go")
-       err = ioutil.WriteFile(src, []byte(issue16214src), 0644)
+       err = os.WriteFile(src, []byte(issue16214src), 0644)
        if err != nil {
                t.Fatalf("could not write file: %v", err)
        }
index 93de894f37e12329f55022d15780f6589b28ef17..4862b90d444ccd9e9637c1796e6ff651a2b79b36 100644 (file)
@@ -7,7 +7,6 @@ package test
 import (
        "bytes"
        "internal/testenv"
-       "io/ioutil"
        "os"
        "os/exec"
        "path/filepath"
@@ -22,7 +21,7 @@ func TestScanfRemoval(t *testing.T) {
        t.Parallel()
 
        // Make a directory to work in.
-       dir, err := ioutil.TempDir("", "issue6853a-")
+       dir, err := os.MkdirTemp("", "issue6853a-")
        if err != nil {
                t.Fatalf("could not create directory: %v", err)
        }
@@ -70,7 +69,7 @@ func TestDashS(t *testing.T) {
        t.Parallel()
 
        // Make a directory to work in.
-       dir, err := ioutil.TempDir("", "issue14515-")
+       dir, err := os.MkdirTemp("", "issue14515-")
        if err != nil {
                t.Fatalf("could not create directory: %v", err)
        }
index d171bd51111fc6db78027510d6b7cf23c48c2889..65d3a6c37e1719285598c45c07d8068c7e89e7f4 100644 (file)
@@ -6,7 +6,6 @@ package test
 
 import (
        "internal/testenv"
-       "io/ioutil"
        "os"
        "os/exec"
        "path/filepath"
@@ -22,7 +21,7 @@ func TestInst(t *testing.T) {
 
        var tmpdir string
        var err error
-       tmpdir, err = ioutil.TempDir("", "TestDict")
+       tmpdir, err = os.MkdirTemp("", "TestDict")
        if err != nil {
                t.Fatalf("Failed to create temporary directory: %v", err)
        }
@@ -59,7 +58,7 @@ func TestInst(t *testing.T) {
        if output, err = cmd.CombinedOutput(); err != nil {
                t.Fatalf("Failed: %v:\nOut: %s\n", err, output)
        }
-       out, err := ioutil.ReadFile(filepath.Join("testdata", outname))
+       out, err := os.ReadFile(filepath.Join("testdata", outname))
        if err != nil {
                t.Fatalf("Could not find %s\n", outname)
        }
index 66ab8401c680fa06a11e6fef937f91870a25444f..5cb4695b68fd74b4661ea06e73da2730e1590775 100644 (file)
@@ -6,7 +6,6 @@ package test
 
 import (
        "internal/testenv"
-       "io/ioutil"
        "os"
        "os/exec"
        "path/filepath"
@@ -24,14 +23,14 @@ func TestInvalidLang(t *testing.T) {
 
        testenv.MustHaveGoBuild(t)
 
-       dir, err := ioutil.TempDir("", "TestInvalidLang")
+       dir, err := os.MkdirTemp("", "TestInvalidLang")
        if err != nil {
                t.Fatal(err)
        }
        defer os.RemoveAll(dir)
 
        src := filepath.Join(dir, "alias.go")
-       if err := ioutil.WriteFile(src, []byte(aliasSrc), 0644); err != nil {
+       if err := os.WriteFile(src, []byte(aliasSrc), 0644); err != nil {
                t.Fatal(err)
        }
 
index 10913ae32fc3a550a0908b07247779545ee2ae3f..7eca7f6c8935c8c72ad9a09ecd1f8fad9babebe4 100644 (file)
@@ -7,7 +7,6 @@ package test
 import (
        "bytes"
        "internal/testenv"
-       "io/ioutil"
        "os"
        "os/exec"
        "path/filepath"
@@ -32,7 +31,7 @@ func TestReproducibleBuilds(t *testing.T) {
                t.Run(test, func(t *testing.T) {
                        t.Parallel()
                        var want []byte
-                       tmp, err := ioutil.TempFile("", "")
+                       tmp, err := os.CreateTemp("", "")
                        if err != nil {
                                t.Fatalf("temp file creation failed: %v", err)
                        }
@@ -45,7 +44,7 @@ func TestReproducibleBuilds(t *testing.T) {
                                if err != nil {
                                        t.Fatalf("failed to compile: %v\n%s", err, out)
                                }
-                               obj, err := ioutil.ReadFile(tmp.Name())
+                               obj, err := os.ReadFile(tmp.Name())
                                if err != nil {
                                        t.Fatalf("failed to read object file: %v", err)
                                }
@@ -78,7 +77,7 @@ func TestIssue38068(t *testing.T) {
                {tag: "serial", args: "-c=1"},
                {tag: "concurrent", args: "-c=2"}}
 
-       tmpdir, err := ioutil.TempDir("", "TestIssue38068")
+       tmpdir, err := os.MkdirTemp("", "TestIssue38068")
        if err != nil {
                t.Fatal(err)
        }
@@ -97,7 +96,7 @@ func TestIssue38068(t *testing.T) {
        }
 
        readBytes := func(fn string) []byte {
-               payload, err := ioutil.ReadFile(fn)
+               payload, err := os.ReadFile(fn)
                if err != nil {
                        t.Fatalf("failed to read executable '%s': %v", fn, err)
                }
index af7d9626f95f9efb596614bf2c6061d5a502eed3..56cd1285ec85f23324157fbfb79adf21b29f171c 100644 (file)
@@ -11,7 +11,6 @@ import (
        "go/parser"
        "go/token"
        "internal/testenv"
-       "io/ioutil"
        "os"
        "os/exec"
        "path/filepath"
@@ -35,14 +34,14 @@ func runGenTest(t *testing.T, filename, tmpname string, ev ...string) {
                t.Fatalf("Failed: %v:\nOut: %s\nStderr: %s\n", err, &stdout, &stderr)
        }
        // Write stdout into a temporary file
-       tmpdir, ok := ioutil.TempDir("", tmpname)
+       tmpdir, ok := os.MkdirTemp("", tmpname)
        if ok != nil {
                t.Fatalf("Failed to create temporary directory")
        }
        defer os.RemoveAll(tmpdir)
 
        rungo := filepath.Join(tmpdir, "run.go")
-       ok = ioutil.WriteFile(rungo, stdout.Bytes(), 0600)
+       ok = os.WriteFile(rungo, stdout.Bytes(), 0600)
        if ok != nil {
                t.Fatalf("Failed to create temporary file " + rungo)
        }
@@ -81,7 +80,7 @@ func TestCode(t *testing.T) {
        gotool := testenv.GoToolPath(t)
 
        // Make a temporary directory to work in.
-       tmpdir, err := ioutil.TempDir("", "TestCode")
+       tmpdir, err := os.MkdirTemp("", "TestCode")
        if err != nil {
                t.Fatalf("Failed to create temporary directory: %v", err)
        }
@@ -94,7 +93,7 @@ func TestCode(t *testing.T) {
                usesFloat bool   // might use float operations
        }
        var tests []test
-       files, err := ioutil.ReadDir("testdata")
+       files, err := os.ReadDir("testdata")
        if err != nil {
                t.Fatalf("can't read testdata directory: %v", err)
        }
@@ -102,7 +101,7 @@ func TestCode(t *testing.T) {
                if !strings.HasSuffix(f.Name(), "_test.go") {
                        continue
                }
-               text, err := ioutil.ReadFile(filepath.Join("testdata", f.Name()))
+               text, err := os.ReadFile(filepath.Join("testdata", f.Name()))
                if err != nil {
                        t.Fatalf("can't read testdata/%s: %v", f.Name(), err)
                }
index 21ad27e88017cf21b30798221a335033994d50f1..b03c105d5fdcae98d4bfc3f542ec9c4dc3851eb5 100644 (file)
@@ -14,7 +14,6 @@ import (
        "bytes"
        "fmt"
        "go/format"
-       "io/ioutil"
        "log"
        "text/template"
 )
@@ -202,7 +201,7 @@ func main() {
        }
 
        // write to file
-       err = ioutil.WriteFile("../arithBoundary_test.go", src, 0666)
+       err = os.WriteFile("../arithBoundary_test.go", src, 0666)
        if err != nil {
                log.Fatalf("can't write output: %v\n", err)
        }
index 41b2946480532f86ff3b885d30eda360f7a925fc..1649f4655760f5ad9351a2040e26bb458b9c1ec3 100644 (file)
@@ -14,7 +14,6 @@ import (
        "bytes"
        "fmt"
        "go/format"
-       "io/ioutil"
        "log"
        "strings"
        "text/template"
@@ -339,7 +338,7 @@ func TestArithmeticConst(t *testing.T) {
        }
 
        // write to file
-       err = ioutil.WriteFile("../arithConst_test.go", src, 0666)
+       err = os.WriteFile("../arithConst_test.go", src, 0666)
        if err != nil {
                log.Fatalf("can't write output: %v\n", err)
        }
index 5508e76be5d87603e6960f6814f3321ce37b1fcb..dcdafc032293be67352dc5aaa07362a615ae0e98 100644 (file)
@@ -14,7 +14,6 @@ import (
        "bytes"
        "fmt"
        "go/format"
-       "io/ioutil"
        "log"
        "math/big"
        "sort"
@@ -240,7 +239,7 @@ func main() {
        }
 
        // write to file
-       err = ioutil.WriteFile("../cmpConst_test.go", src, 0666)
+       err = os.WriteFile("../cmpConst_test.go", src, 0666)
        if err != nil {
                log.Fatalf("can't write output: %v\n", err)
        }
index 2b8a331c8d0d813116d92d77a4d91c7583fa8172..70794222a6ec6441f84c4feb4725363fb02d58a8 100644 (file)
@@ -14,8 +14,8 @@ import (
        "bytes"
        "fmt"
        "go/format"
-       "io/ioutil"
        "log"
+       "os"
 )
 
 type op struct {
@@ -300,7 +300,7 @@ func main() {
        }
 
        // write to file
-       err = ioutil.WriteFile("../../constFold_test.go", src, 0666)
+       err = os.WriteFile("../../constFold_test.go", src, 0666)
        if err != nil {
                log.Fatalf("can't write output: %v\n", err)
        }
index 4567f2f97ea39cfe003508b8f572f0ac642fa06d..dd09b3bdbc9b64d0fb2776f192f48d34910e0bd2 100644 (file)
@@ -8,8 +8,8 @@ import (
        "bytes"
        "fmt"
        "go/format"
-       "io/ioutil"
        "log"
+       "os"
 )
 
 // This program generates tests to verify that copying operations
@@ -114,7 +114,7 @@ func main() {
        }
 
        // write to file
-       err = ioutil.WriteFile("../copy_test.go", src, 0666)
+       err = os.WriteFile("../copy_test.go", src, 0666)
        if err != nil {
                log.Fatalf("can't write output: %v\n", err)
        }
index 7056730cb98839bee4a395b63d5f7ba94037ef07..f3dcaa19d72782266c183f234c31d373bdf4432a 100644 (file)
@@ -8,8 +8,8 @@ import (
        "bytes"
        "fmt"
        "go/format"
-       "io/ioutil"
        "log"
+       "os"
 )
 
 // This program generates tests to verify that zeroing operations
@@ -136,7 +136,7 @@ func main() {
        }
 
        // write to file
-       err = ioutil.WriteFile("../zero_test.go", src, 0666)
+       err = os.WriteFile("../zero_test.go", src, 0666)
        if err != nil {
                log.Fatalf("can't write output: %v\n", err)
        }
index fb9d3e393f10e15755e95508655352534aeab985..a46ec107aea419b10fb0122bf4ec2ef81f4e381d 100644 (file)
@@ -7,7 +7,7 @@ package typecheck
 import (
        "bytes"
        "internal/testenv"
-       "io/ioutil"
+       "os"
        "os/exec"
        "testing"
 )
@@ -16,7 +16,7 @@ func TestBuiltin(t *testing.T) {
        testenv.MustHaveGoRun(t)
        t.Parallel()
 
-       old, err := ioutil.ReadFile("builtin.go")
+       old, err := os.ReadFile("builtin.go")
        if err != nil {
                t.Fatal(err)
        }
index 9b27557956dafee71c9736ee8cfdb4d92ab4da61..692d78df89b078d905098c7f7cef7057979bbd11 100644 (file)
@@ -18,7 +18,6 @@ import (
        "go/parser"
        "go/token"
        "io"
-       "io/ioutil"
        "log"
        "os"
        "path/filepath"
@@ -50,7 +49,7 @@ func main() {
        if *stdout {
                _, err = os.Stdout.Write(out)
        } else {
-               err = ioutil.WriteFile("builtin.go", out, 0666)
+               err = os.WriteFile("builtin.go", out, 0666)
        }
        if err != nil {
                log.Fatal(err)
index 03fea4fe7c6e19f9f1fe10839e56236c47628ac0..391a498268820938e5405373546f5424d93af013 100644 (file)
@@ -6,12 +6,12 @@ package types2_test
 
 import (
        "bytes"
-       "cmd/compile/internal/syntax"
        "flag"
        "fmt"
-       "io/ioutil"
+       "os"
        "testing"
 
+       "cmd/compile/internal/syntax"
        . "cmd/compile/internal/types2"
 )
 
@@ -24,7 +24,7 @@ func TestHilbert(t *testing.T) {
        // generate source
        src := program(*H, *out)
        if *out != "" {
-               ioutil.WriteFile(*out, src, 0666)
+               os.WriteFile(*out, src, 0666)
                return
        }
 
index 05676035bad27bfdb55c307b33a2d8cc6499a382..5d60ba153ea5b26cc96f97c3bf3325ccf08ee47d 100644 (file)
@@ -9,7 +9,6 @@ import (
        "encoding/json"
        "flag"
        "fmt"
-       "io/ioutil"
        "log"
        "os"
        "os/exec"
@@ -260,7 +259,7 @@ func xinit() {
        os.Setenv("GOWORK", "off")
 
        workdir = xworkdir()
-       if err := ioutil.WriteFile(pathf("%s/go.mod", workdir), []byte("module bootstrap"), 0666); err != nil {
+       if err := os.WriteFile(pathf("%s/go.mod", workdir), []byte("module bootstrap"), 0666); err != nil {
                fatalf("cannot write stub go.mod: %s", err)
        }
        xatexit(rmworkdir)
@@ -833,7 +832,7 @@ func runInstall(pkg string, ch chan struct{}) {
                var wg sync.WaitGroup
                asmabis := append(asmArgs[:len(asmArgs):len(asmArgs)], "-gensymabis", "-o", symabis)
                asmabis = append(asmabis, sfiles...)
-               if err := ioutil.WriteFile(goasmh, nil, 0666); err != nil {
+               if err := os.WriteFile(goasmh, nil, 0666); err != nil {
                        fatalf("cannot write empty go_asm.h: %s", err)
                }
                bgrun(&wg, dir, asmabis...)
@@ -853,7 +852,7 @@ func runInstall(pkg string, ch chan struct{}) {
                fmt.Fprintf(buf, "packagefile %s=%s\n", dep, packagefile(dep))
        }
        importcfg := pathf("%s/importcfg", workdir)
-       if err := ioutil.WriteFile(importcfg, buf.Bytes(), 0666); err != nil {
+       if err := os.WriteFile(importcfg, buf.Bytes(), 0666); err != nil {
                fatalf("cannot write importcfg file: %v", err)
        }
 
index 37fc5eaae065967f21699eb1ca4fd2af62955a5a..5bc9c9ca895962860ae9d39cb6c7e5cfbbc65c61 100644 (file)
@@ -8,7 +8,6 @@ import (
        "bytes"
        "flag"
        "fmt"
-       "io/ioutil"
        "log"
        "os"
        "os/exec"
@@ -1180,7 +1179,7 @@ func (t *tester) runHostTest(dir, pkg string) error {
        GOEXE := strings.TrimSpace(parts[0])
        GOTMPDIR := strings.TrimSpace(parts[1])
 
-       f, err := ioutil.TempFile(GOTMPDIR, "test.test-*"+GOEXE)
+       f, err := os.CreateTemp(GOTMPDIR, "test.test-*"+GOEXE)
        if err != nil {
                return err
        }
@@ -1531,7 +1530,7 @@ var runtest struct {
 
 func (t *tester) testDirTest(dt *distTest, shard, shards int) error {
        runtest.Do(func() {
-               f, err := ioutil.TempFile("", "runtest-*.exe") // named exe for Windows, but harmless elsewhere
+               f, err := os.CreateTemp("", "runtest-*.exe") // named exe for Windows, but harmless elsewhere
                if err != nil {
                        runtest.err = err
                        return
@@ -1591,7 +1590,7 @@ func (t *tester) packageHasBenchmarks(pkg string) bool {
                if !strings.HasSuffix(name, "_test.go") {
                        continue
                }
-               slurp, err := ioutil.ReadFile(filepath.Join(pkgDir, name))
+               slurp, err := os.ReadFile(filepath.Join(pkgDir, name))
                if err != nil {
                        return true // conservatively
                }
index ee8ba910c7ded86d6a10ac090d9ca1e5ed160907..fc1bfcf9b8a7f5de40cfeef32bf663ec860e9684 100644 (file)
@@ -9,7 +9,6 @@ import (
        "flag"
        "fmt"
        "io"
-       "io/ioutil"
        "os"
        "os/exec"
        "path/filepath"
@@ -228,7 +227,7 @@ func mtime(p string) time.Time {
 
 // readfile returns the content of the named file.
 func readfile(file string) string {
-       data, err := ioutil.ReadFile(file)
+       data, err := os.ReadFile(file)
        if err != nil {
                fatalf("%v", err)
        }
@@ -247,7 +246,7 @@ const (
 func writefile(text, file string, flag int) {
        new := []byte(text)
        if flag&writeSkipSame != 0 {
-               old, err := ioutil.ReadFile(file)
+               old, err := os.ReadFile(file)
                if err == nil && bytes.Equal(old, new) {
                        return
                }
@@ -257,7 +256,7 @@ func writefile(text, file string, flag int) {
                mode = 0777
        }
        xremove(file) // in case of symlink tricks by misc/reboot test
-       err := ioutil.WriteFile(file, new, mode)
+       err := os.WriteFile(file, new, mode)
        if err != nil {
                fatalf("%v", err)
        }
@@ -334,7 +333,7 @@ func xreaddirfiles(dir string) []string {
 // xworkdir creates a new temporary directory to hold object files
 // and returns the name of that directory.
 func xworkdir() string {
-       name, err := ioutil.TempDir(os.Getenv("GOTMPDIR"), "go-tool-dist-")
+       name, err := os.MkdirTemp(os.Getenv("GOTMPDIR"), "go-tool-dist-")
        if err != nil {
                fatalf("%v", err)
        }
index 0d7bef911266b002255216c67dd9d11895a661e4..f6abec42ffd7b89c17aac6a360907ad25a32692b 100644 (file)
@@ -8,7 +8,6 @@ import (
        "fmt"
        "internal/godebug"
        "io/fs"
-       "io/ioutil"
        "log"
        "os"
        pathpkg "path"
@@ -291,21 +290,29 @@ func parentIsOverlayFile(name string) (string, bool) {
 var errNotDir = errors.New("not a directory")
 
 // readDir reads a dir on disk, returning an error that is errNotDir if the dir is not a directory.
-// Unfortunately, the error returned by ioutil.ReadDir if dir is not a directory
+// Unfortunately, the error returned by os.ReadDir if dir is not a directory
 // can vary depending on the OS (Linux, Mac, Windows return ENOTDIR; BSD returns EINVAL).
 func readDir(dir string) ([]fs.FileInfo, error) {
-       fis, err := ioutil.ReadDir(dir)
-       if err == nil {
-               return fis, nil
-       }
-
-       if os.IsNotExist(err) {
+       entries, err := os.ReadDir(dir)
+       if err != nil {
+               if os.IsNotExist(err) {
+                       return nil, err
+               }
+               if dirfi, staterr := os.Stat(dir); staterr == nil && !dirfi.IsDir() {
+                       return nil, &fs.PathError{Op: "ReadDir", Path: dir, Err: errNotDir}
+               }
                return nil, err
        }
-       if dirfi, staterr := os.Stat(dir); staterr == nil && !dirfi.IsDir() {
-               return nil, &fs.PathError{Op: "ReadDir", Path: dir, Err: errNotDir}
+
+       fis := make([]fs.FileInfo, 0, len(entries))
+       for _, entry := range entries {
+               info, err := entry.Info()
+               if err != nil {
+                       continue
+               }
+               fis = append(fis, info)
        }
-       return nil, err
+       return fis, nil
 }
 
 // ReadDir provides a slice of fs.FileInfo entries corresponding
index 69a3bc8bfe3df37c53ae45e719f62c7ba2ca7318..8c610a00335643564733ecb67d022931580eade9 100644 (file)
@@ -12,7 +12,6 @@ import (
        "fmt"
        "go/build"
        "internal/lazyregexp"
-       "io/ioutil"
        "os"
        "path"
        "path/filepath"
@@ -592,7 +591,7 @@ func loadWorkFile(path string) (goVersion string, modRoots []string, replaces []
 
 // ReadWorkFile reads and parses the go.work file at the given path.
 func ReadWorkFile(path string) (*modfile.WorkFile, error) {
-       workData, err := ioutil.ReadFile(path)
+       workData, err := os.ReadFile(path)
        if err != nil {
                return nil, err
        }
@@ -606,7 +605,7 @@ func WriteWorkFile(path string, wf *modfile.WorkFile) error {
        wf.Cleanup()
        out := modfile.Format(wf.Syntax)
 
-       return ioutil.WriteFile(path, out, 0666)
+       return os.WriteFile(path, out, 0666)
 }
 
 // UpdateWorkFile updates comments on directory directives in the go.work
index bbaa72cbf860c548d174805a9f5a2d61252d2845..cca65af8ed01c547a33083731e94f8ad8f9fc412 100644 (file)
@@ -13,7 +13,6 @@ import (
        "internal/testenv"
        "internal/xcoff"
        "io"
-       "io/ioutil"
        "os"
        "os/exec"
        "path/filepath"
@@ -43,12 +42,12 @@ func copyDir(dst, src string) error {
        if err != nil {
                return err
        }
-       fis, err := ioutil.ReadDir(src)
+       entries, err := os.ReadDir(src)
        if err != nil {
                return err
        }
-       for _, fi := range fis {
-               err = copyFile(filepath.Join(dst, fi.Name()), filepath.Join(src, fi.Name()))
+       for _, entry := range entries {
+               err = copyFile(filepath.Join(dst, entry.Name()), filepath.Join(src, entry.Name()))
                if err != nil {
                        return err
                }
@@ -96,7 +95,7 @@ type goobjPaths struct {
 func buildGoobj(t *testing.T) goobjPaths {
        buildOnce.Do(func() {
                buildErr = func() (err error) {
-                       buildDir, err = ioutil.TempDir("", "TestGoobj")
+                       buildDir, err = os.MkdirTemp("", "TestGoobj")
                        if err != nil {
                                return err
                        }
@@ -132,7 +131,7 @@ func buildGoobj(t *testing.T) goobjPaths {
                                gopath := filepath.Join(buildDir, "gopath")
                                err = copyDir(filepath.Join(gopath, "src", "mycgo"), filepath.Join("testdata", "mycgo"))
                                if err == nil {
-                                       err = ioutil.WriteFile(filepath.Join(gopath, "src", "mycgo", "go.mod"), []byte("module mycgo\n"), 0666)
+                                       err = os.WriteFile(filepath.Join(gopath, "src", "mycgo", "go.mod"), []byte("module mycgo\n"), 0666)
                                }
                                if err != nil {
                                        return err
index f04e328046c0a90ee1bffaba06c259da39a15e62..55835bf8acafed4f65b187f99557c2e11e10cfb0 100644 (file)
@@ -8,7 +8,6 @@ import (
        "bytes"
        "crypto/sha256"
        "internal/obscuretestdata"
-       "io/ioutil"
        "os"
        "reflect"
        "strings"
@@ -21,7 +20,7 @@ const (
 )
 
 func TestReadFile(t *testing.T) {
-       f, err := ioutil.TempFile("", "buildid-test-")
+       f, err := os.CreateTemp("", "buildid-test-")
        if err != nil {
                t.Fatal(err)
        }
@@ -59,7 +58,7 @@ func TestReadFile(t *testing.T) {
                        t.Errorf("ReadFile(%s) [readSize=2k] = %q, %v, want %q, nil", f, id, err, expectedID)
                }
 
-               data, err := ioutil.ReadFile(f)
+               data, err := os.ReadFile(f)
                if err != nil {
                        t.Fatal(err)
                }
@@ -68,7 +67,7 @@ func TestReadFile(t *testing.T) {
                        t.Errorf("FindAndHash(%s): %v", f, err)
                        continue
                }
-               if err := ioutil.WriteFile(tmp, data, 0666); err != nil {
+               if err := os.WriteFile(tmp, data, 0666); err != nil {
                        t.Error(err)
                        continue
                }
index d9db63ad4450110999702db856d7bd48a02937c9..d96ac41c1a46a199bc4085779d5934f5a7862082 100644 (file)
@@ -18,7 +18,6 @@ import (
        "go/parser"
        "go/token"
        "io"
-       "io/ioutil"
        "log"
        "os"
        "path/filepath"
@@ -44,7 +43,7 @@ func main() {
        if *stdout {
                _, err = os.Stdout.Write(out)
        } else {
-               err = ioutil.WriteFile("builtinlist.go", out, 0666)
+               err = os.WriteFile("builtinlist.go", out, 0666)
        }
        if err != nil {
                log.Fatal(err)
index ed942aa93448bd1e36c57309039beadf5efaf090..d7eb0b194b63f03fa50d86af922a553650d1584e 100644 (file)
@@ -7,15 +7,15 @@ package goobj
 import (
        "bufio"
        "bytes"
-       "cmd/internal/bio"
-       "cmd/internal/objabi"
        "fmt"
        "internal/buildcfg"
        "internal/testenv"
-       "io/ioutil"
        "os"
        "os/exec"
        "testing"
+
+       "cmd/internal/bio"
+       "cmd/internal/objabi"
 )
 
 func dummyWriter(buf *bytes.Buffer) *Writer {
@@ -97,7 +97,7 @@ func TestIssue41621LargeNumberOfRelocations(t *testing.T) {
        }
        testenv.MustHaveGoBuild(t)
 
-       tmpdir, err := ioutil.TempDir("", "lotsofrelocs")
+       tmpdir, err := os.MkdirTemp("", "lotsofrelocs")
        if err != nil {
                t.Fatalf("can't create temp directory: %v\n", err)
        }
@@ -110,7 +110,7 @@ func TestIssue41621LargeNumberOfRelocations(t *testing.T) {
                fmt.Fprintf(&w, "\t\"%d\",\n", i)
        }
        fmt.Fprintf(&w, issue41621epilog)
-       err = ioutil.WriteFile(tmpdir+"/large.go", w.Bytes(), 0666)
+       err = os.WriteFile(tmpdir+"/large.go", w.Bytes(), 0666)
        if err != nil {
                t.Fatalf("can't write output: %v\n", err)
        }
@@ -118,7 +118,7 @@ func TestIssue41621LargeNumberOfRelocations(t *testing.T) {
        // Emit go.mod
        w.Reset()
        fmt.Fprintf(&w, "module issue41621\n\ngo 1.12\n")
-       err = ioutil.WriteFile(tmpdir+"/go.mod", w.Bytes(), 0666)
+       err = os.WriteFile(tmpdir+"/go.mod", w.Bytes(), 0666)
        if err != nil {
                t.Fatalf("can't write output: %v\n", err)
        }
index 053cb8f548cc2fbb9a31c72492085f2eb618d562..26673937a07e17cc401018c3eac97d44f6122d7d 100644 (file)
@@ -11,7 +11,6 @@ import (
        "internal/testenv"
        "io"
        "io/fs"
-       "io/ioutil"
        "os"
        "os/exec"
        "path/filepath"
@@ -361,7 +360,7 @@ func TestDependencyVersionsConsistent(t *testing.T) {
                // It's ok if there are undetected differences in modules that do not
                // provide imported packages: we will not have to pull in any backports of
                // fixes to those modules anyway.
-               vendor, err := ioutil.ReadFile(filepath.Join(m.Dir, "vendor", "modules.txt"))
+               vendor, err := os.ReadFile(filepath.Join(m.Dir, "vendor", "modules.txt"))
                if err != nil {
                        t.Error(err)
                        continue
index f468b6b0fe97ba30412b9460c526dd735c5bf183..b1db336a3326ad5019e5a3a7bcdf02fe59455819 100644 (file)
@@ -8,7 +8,6 @@ import (
        "bytes"
        "fmt"
        "internal/testenv"
-       "io/ioutil"
        "os"
        "os/exec"
        "path/filepath"
@@ -27,7 +26,7 @@ func TestLarge(t *testing.T) {
        }
        testenv.MustHaveGoBuild(t)
 
-       dir, err := ioutil.TempDir("", "testlarge")
+       dir, err := os.MkdirTemp("", "testlarge")
        if err != nil {
                t.Fatalf("could not create directory: %v", err)
        }
@@ -38,7 +37,7 @@ func TestLarge(t *testing.T) {
        gen(buf)
 
        tmpfile := filepath.Join(dir, "x.s")
-       err = ioutil.WriteFile(tmpfile, buf.Bytes(), 0644)
+       err = os.WriteFile(tmpfile, buf.Bytes(), 0644)
        if err != nil {
                t.Fatalf("can't write output: %v\n", err)
        }
@@ -86,13 +85,13 @@ func gen(buf *bytes.Buffer) {
 
 // Issue 20348.
 func TestNoRet(t *testing.T) {
-       dir, err := ioutil.TempDir("", "testnoret")
+       dir, err := os.MkdirTemp("", "testnoret")
        if err != nil {
                t.Fatal(err)
        }
        defer os.RemoveAll(dir)
        tmpfile := filepath.Join(dir, "x.s")
-       if err := ioutil.WriteFile(tmpfile, []byte("TEXT Â·stub(SB),$0-0\nNOP\n"), 0644); err != nil {
+       if err := os.WriteFile(tmpfile, []byte("TEXT Â·stub(SB),$0-0\nNOP\n"), 0644); err != nil {
                t.Fatal(err)
        }
        cmd := exec.Command(testenv.GoToolPath(t), "tool", "asm", "-o", filepath.Join(dir, "x.o"), tmpfile)
@@ -106,7 +105,7 @@ func TestNoRet(t *testing.T) {
 // code can be aligned to the alignment value.
 func TestPCALIGN(t *testing.T) {
        testenv.MustHaveGoBuild(t)
-       dir, err := ioutil.TempDir("", "testpcalign")
+       dir, err := os.MkdirTemp("", "testpcalign")
        if err != nil {
                t.Fatal(err)
        }
@@ -130,7 +129,7 @@ func TestPCALIGN(t *testing.T) {
        }
 
        for _, test := range testCases {
-               if err := ioutil.WriteFile(tmpfile, test.code, 0644); err != nil {
+               if err := os.WriteFile(tmpfile, test.code, 0644); err != nil {
                        t.Fatal(err)
                }
                cmd := exec.Command(testenv.GoToolPath(t), "tool", "asm", "-S", "-o", tmpout, tmpfile)
index 91e96e435d617327c7fe3bfad5a17338c683dea5..79204c18589371ab6e7bc23441c12b6057ceb64c 100644 (file)
@@ -6,15 +6,15 @@ package obj
 
 import (
        "bytes"
-       "cmd/internal/goobj"
-       "cmd/internal/sys"
        "internal/testenv"
-       "io/ioutil"
        "os"
        "os/exec"
        "path/filepath"
        "testing"
        "unsafe"
+
+       "cmd/internal/goobj"
+       "cmd/internal/sys"
 )
 
 var dummyArch = LinkArch{Arch: sys.ArchAMD64}
@@ -99,14 +99,14 @@ func TestSymbolTooLarge(t *testing.T) { // Issue 42054
                t.Skip("skip on 32-bit architectures")
        }
 
-       tmpdir, err := ioutil.TempDir("", "TestSymbolTooLarge")
+       tmpdir, err := os.MkdirTemp("", "TestSymbolTooLarge")
        if err != nil {
                t.Fatal(err)
        }
        defer os.RemoveAll(tmpdir)
 
        src := filepath.Join(tmpdir, "p.go")
-       err = ioutil.WriteFile(src, []byte("package p; var x [1<<32]byte"), 0666)
+       err = os.WriteFile(src, []byte("package p; var x [1<<32]byte"), 0666)
        if err != nil {
                t.Fatalf("failed to write source file: %v\n", err)
        }
@@ -129,7 +129,7 @@ func TestNoRefName(t *testing.T) {
        tmpdir := t.TempDir()
 
        src := filepath.Join(tmpdir, "x.go")
-       err := ioutil.WriteFile(src, []byte("package main; import \"fmt\"; func main() { fmt.Println(123) }\n"), 0666)
+       err := os.WriteFile(src, []byte("package main; import \"fmt\"; func main() { fmt.Println(123) }\n"), 0666)
        if err != nil {
                t.Fatalf("failed to write source file: %v\n", err)
        }
index c96f991293390aada0dedca2b13340550cdb7b0f..aef442e485d46cd1d79e525c90b98df563c8ff81 100644 (file)
@@ -6,11 +6,8 @@ package ppc64
 
 import (
        "bytes"
-       "cmd/internal/obj"
-       "cmd/internal/objabi"
        "fmt"
        "internal/testenv"
-       "io/ioutil"
        "math"
        "os"
        "os/exec"
@@ -18,6 +15,9 @@ import (
        "regexp"
        "strings"
        "testing"
+
+       "cmd/internal/obj"
+       "cmd/internal/objabi"
 )
 
 var platformEnvs = [][]string{
@@ -167,7 +167,7 @@ PNOP
 func TestPfxAlign(t *testing.T) {
        testenv.MustHaveGoBuild(t)
 
-       dir, err := ioutil.TempDir("", "testpfxalign")
+       dir, err := os.MkdirTemp("", "testpfxalign")
        if err != nil {
                t.Fatalf("could not create directory: %v", err)
        }
@@ -188,7 +188,7 @@ func TestPfxAlign(t *testing.T) {
 
        for _, pgm := range pgms {
                tmpfile := filepath.Join(dir, "x.s")
-               err = ioutil.WriteFile(tmpfile, pgm.text, 0644)
+               err = os.WriteFile(tmpfile, pgm.text, 0644)
                if err != nil {
                        t.Fatalf("can't write output: %v\n", err)
                }
@@ -217,7 +217,7 @@ func TestLarge(t *testing.T) {
        }
        testenv.MustHaveGoBuild(t)
 
-       dir, err := ioutil.TempDir("", "testlarge")
+       dir, err := os.MkdirTemp("", "testlarge")
        if err != nil {
                t.Fatalf("could not create directory: %v", err)
        }
@@ -281,7 +281,7 @@ func TestLarge(t *testing.T) {
                gen(buf, test.jmpinsn)
 
                tmpfile := filepath.Join(dir, "x.s")
-               err = ioutil.WriteFile(tmpfile, buf.Bytes(), 0644)
+               err = os.WriteFile(tmpfile, buf.Bytes(), 0644)
                if err != nil {
                        t.Fatalf("can't write output: %v\n", err)
                }
@@ -336,7 +336,7 @@ func TestPCalign(t *testing.T) {
 
        testenv.MustHaveGoBuild(t)
 
-       dir, err := ioutil.TempDir("", "testpcalign")
+       dir, err := os.MkdirTemp("", "testpcalign")
        if err != nil {
                t.Fatalf("could not create directory: %v", err)
        }
@@ -345,7 +345,7 @@ func TestPCalign(t *testing.T) {
        // generate a test with valid uses of PCALIGN
 
        tmpfile := filepath.Join(dir, "x.s")
-       err = ioutil.WriteFile(tmpfile, []byte(validPCAlignSrc), 0644)
+       err = os.WriteFile(tmpfile, []byte(validPCAlignSrc), 0644)
        if err != nil {
                t.Fatalf("can't write output: %v\n", err)
        }
@@ -385,7 +385,7 @@ func TestPCalign(t *testing.T) {
        // generate a test with invalid use of PCALIGN
 
        tmpfile = filepath.Join(dir, "xi.s")
-       err = ioutil.WriteFile(tmpfile, []byte(invalidPCAlignSrc), 0644)
+       err = os.WriteFile(tmpfile, []byte(invalidPCAlignSrc), 0644)
        if err != nil {
                t.Fatalf("can't write output: %v\n", err)
        }
index b23142dbe8ecb503ff6c683b3f9c75496bf90bc7..c798e98873eed290517c84bacb459f42c609755f 100644 (file)
@@ -8,7 +8,6 @@ import (
        "bytes"
        "fmt"
        "internal/testenv"
-       "io/ioutil"
        "os"
        "os/exec"
        "path/filepath"
@@ -24,7 +23,7 @@ func TestLargeBranch(t *testing.T) {
        }
        testenv.MustHaveGoBuild(t)
 
-       dir, err := ioutil.TempDir("", "testlargebranch")
+       dir, err := os.MkdirTemp("", "testlargebranch")
        if err != nil {
                t.Fatalf("Could not create directory: %v", err)
        }
@@ -35,7 +34,7 @@ func TestLargeBranch(t *testing.T) {
        genLargeBranch(buf)
 
        tmpfile := filepath.Join(dir, "x.s")
-       if err := ioutil.WriteFile(tmpfile, buf.Bytes(), 0644); err != nil {
+       if err := os.WriteFile(tmpfile, buf.Bytes(), 0644); err != nil {
                t.Fatalf("Failed to write file: %v", err)
        }
 
@@ -67,13 +66,13 @@ func TestLargeCall(t *testing.T) {
        }
        testenv.MustHaveGoBuild(t)
 
-       dir, err := ioutil.TempDir("", "testlargecall")
+       dir, err := os.MkdirTemp("", "testlargecall")
        if err != nil {
                t.Fatalf("could not create directory: %v", err)
        }
        defer os.RemoveAll(dir)
 
-       if err := ioutil.WriteFile(filepath.Join(dir, "go.mod"), []byte("module largecall"), 0644); err != nil {
+       if err := os.WriteFile(filepath.Join(dir, "go.mod"), []byte("module largecall"), 0644); err != nil {
                t.Fatalf("Failed to write file: %v\n", err)
        }
        main := `package main
@@ -84,7 +83,7 @@ func main() {
 func x()
 func y()
 `
-       if err := ioutil.WriteFile(filepath.Join(dir, "x.go"), []byte(main), 0644); err != nil {
+       if err := os.WriteFile(filepath.Join(dir, "x.go"), []byte(main), 0644); err != nil {
                t.Fatalf("failed to write main: %v\n", err)
        }
 
@@ -92,7 +91,7 @@ func y()
        buf := bytes.NewBuffer(make([]byte, 0, 7000000))
        genLargeCall(buf)
 
-       if err := ioutil.WriteFile(filepath.Join(dir, "x.s"), buf.Bytes(), 0644); err != nil {
+       if err := os.WriteFile(filepath.Join(dir, "x.s"), buf.Bytes(), 0644); err != nil {
                t.Fatalf("Failed to write file: %v\n", err)
        }
 
@@ -130,13 +129,13 @@ func genLargeCall(buf *bytes.Buffer) {
 
 // Issue 20348.
 func TestNoRet(t *testing.T) {
-       dir, err := ioutil.TempDir("", "testnoret")
+       dir, err := os.MkdirTemp("", "testnoret")
        if err != nil {
                t.Fatal(err)
        }
        defer os.RemoveAll(dir)
        tmpfile := filepath.Join(dir, "x.s")
-       if err := ioutil.WriteFile(tmpfile, []byte("TEXT Â·stub(SB),$0-0\nNOP\n"), 0644); err != nil {
+       if err := os.WriteFile(tmpfile, []byte("TEXT Â·stub(SB),$0-0\nNOP\n"), 0644); err != nil {
                t.Fatal(err)
        }
        cmd := exec.Command(testenv.GoToolPath(t), "tool", "asm", "-o", filepath.Join(dir, "x.o"), tmpfile)
@@ -147,7 +146,7 @@ func TestNoRet(t *testing.T) {
 }
 
 func TestImmediateSplitting(t *testing.T) {
-       dir, err := ioutil.TempDir("", "testimmsplit")
+       dir, err := os.MkdirTemp("", "testimmsplit")
        if err != nil {
                t.Fatal(err)
        }
@@ -190,7 +189,7 @@ TEXT _stub(SB),$0-0
        MOVF    F6, 4096(X5)
        MOVD    F6, 4096(X5)
 `
-       if err := ioutil.WriteFile(tmpfile, []byte(asm), 0644); err != nil {
+       if err := os.WriteFile(tmpfile, []byte(asm), 0644); err != nil {
                t.Fatal(err)
        }
        cmd := exec.Command(testenv.GoToolPath(t), "tool", "asm", "-o", filepath.Join(dir, "x.o"), tmpfile)
index f9dd584569d364941eede35f74c725a6db237ff5..6384fa07d82b636b7404c71a4405fdfe6ddf2c71 100644 (file)
@@ -5,7 +5,6 @@ import (
        "bytes"
        "fmt"
        "internal/testenv"
-       "io/ioutil"
        "os"
        "os/exec"
        "path/filepath"
@@ -81,7 +80,7 @@ func normalize(s string) string {
 }
 
 func asmOutput(t *testing.T, s string) []byte {
-       tmpdir, err := ioutil.TempDir("", "progedittest")
+       tmpdir, err := os.MkdirTemp("", "progedittest")
        if err != nil {
                t.Fatal(err)
        }
index 487a65d8dc8c84cfd0d1fc0c04860fd309a2a21f..a60000663401c63720a76d5bd06f0fa9e9bebed5 100644 (file)
@@ -8,7 +8,6 @@ import (
        "bytes"
        "fmt"
        "internal/testenv"
-       "io/ioutil"
        "os"
        "os/exec"
        "path/filepath"
@@ -33,12 +32,12 @@ func main() {
 `
 
 func objdumpOutput(t *testing.T, mname, source string) []byte {
-       tmpdir, err := ioutil.TempDir("", mname)
+       tmpdir, err := os.MkdirTemp("", mname)
        if err != nil {
                t.Fatal(err)
        }
        defer os.RemoveAll(tmpdir)
-       err = ioutil.WriteFile(filepath.Join(tmpdir, "go.mod"), []byte(fmt.Sprintf("module %s\n", mname)), 0666)
+       err = os.WriteFile(filepath.Join(tmpdir, "go.mod"), []byte(fmt.Sprintf("module %s\n", mname)), 0666)
        if err != nil {
                t.Fatal(err)
        }
index 747207965e49474abe7ad0c28b86f568055aa730..858976e645d7ea4342af95ebff001371e717f8af 100644 (file)
@@ -9,7 +9,6 @@ import (
        "fmt"
        "internal/buildcfg"
        "io"
-       "io/ioutil"
        "log"
        "os"
        "reflect"
@@ -57,7 +56,7 @@ func expandArgs(in []string) (out []string) {
                                out = make([]string, 0, len(in)*2)
                                out = append(out, in[:i]...)
                        }
-                       slurp, err := ioutil.ReadFile(s[1:])
+                       slurp, err := os.ReadFile(s[1:])
                        if err != nil {
                                log.Fatal(err)
                        }
index b5f1cd1632d8e8ec712b876675b7ed714aba389d..c298d7e1a93f874c8ab15c4f1416ae3a8c1fc783 100644 (file)
@@ -7,13 +7,11 @@ package objfile
 import (
        "bufio"
        "bytes"
-       "cmd/internal/src"
        "container/list"
        "debug/gosym"
        "encoding/binary"
        "fmt"
        "io"
-       "io/ioutil"
        "os"
        "path/filepath"
        "regexp"
@@ -21,6 +19,8 @@ import (
        "strings"
        "text/tabwriter"
 
+       "cmd/internal/src"
+
        "golang.org/x/arch/arm/armasm"
        "golang.org/x/arch/arm64/arm64asm"
        "golang.org/x/arch/ppc64/ppc64asm"
@@ -157,7 +157,7 @@ func (fc *FileCache) Line(filename string, line int) ([]byte, error) {
        }
 
        if e == nil {
-               content, err := ioutil.ReadFile(filename)
+               content, err := os.ReadFile(filename)
                if err != nil {
                        return nil, err
                }
index e3c76dced4bbb97442a90f777271dd16ec20e66c..0bec137a709515e61827022b06bfe21859e56197 100644 (file)
@@ -10,7 +10,6 @@ import (
        "bytes"
        "errors"
        "fmt"
-       "io/ioutil"
        "os"
        "os/exec"
        "strings"
@@ -19,7 +18,7 @@ import (
 // ToSymbolFunc returns a function that may be used to convert a
 // package path into a string suitable for use as a symbol.
 // cmd is the gccgo/GoLLVM compiler in use, and tmpdir is a temporary
-// directory to pass to ioutil.TempFile.
+// directory to pass to os.CreateTemp().
 // For example, this returns a function that converts "net/http"
 // into a string like "net..z2fhttp". The actual string varies for
 // different gccgo/GoLLVM versions, which is why this returns a function
@@ -32,7 +31,7 @@ func ToSymbolFunc(cmd, tmpdir string) (func(string) string, error) {
        // the same string. More recent versions use a new mangler
        // that avoids these collisions.
        const filepat = "*_gccgo_manglechck.go"
-       f, err := ioutil.TempFile(tmpdir, filepat)
+       f, err := os.CreateTemp(tmpdir, filepat)
        if err != nil {
                return nil, err
        }
@@ -40,7 +39,7 @@ func ToSymbolFunc(cmd, tmpdir string) (func(string) string, error) {
        f.Close()
        defer os.Remove(gofilename)
 
-       if err := ioutil.WriteFile(gofilename, []byte(mangleCheckCode), 0644); err != nil {
+       if err := os.WriteFile(gofilename, []byte(mangleCheckCode), 0644); err != nil {
                return nil, err
        }
 
index e69739d3fecdef5a643838e0e439b34d6797f1e5..dee3920511e04dcf957b1e5f8e56b4afea98b452 100644 (file)
@@ -10,7 +10,7 @@ import (
        "flag"
        "fmt"
        "io"
-       "io/ioutil"
+       "os"
        "path/filepath"
        "reflect"
        "strings"
@@ -28,7 +28,7 @@ func TestGolden(t *testing.T) {
        for _, file := range files {
                name := strings.TrimSuffix(filepath.Base(file), ".test")
                t.Run(name, func(t *testing.T) {
-                       orig, err := ioutil.ReadFile(file)
+                       orig, err := os.ReadFile(file)
                        if err != nil {
                                t.Fatal(err)
                        }
@@ -46,13 +46,13 @@ func TestGolden(t *testing.T) {
                        if *update {
                                js := strings.TrimSuffix(file, ".test") + ".json"
                                t.Logf("rewriting %s", js)
-                               if err := ioutil.WriteFile(js, buf.Bytes(), 0666); err != nil {
+                               if err := os.WriteFile(js, buf.Bytes(), 0666); err != nil {
                                        t.Fatal(err)
                                }
                                return
                        }
 
-                       want, err := ioutil.ReadFile(strings.TrimSuffix(file, ".test") + ".json")
+                       want, err := os.ReadFile(strings.TrimSuffix(file, ".test") + ".json")
                        if err != nil {
                                t.Fatal(err)
                        }
index 5b7b95757b8c6e07558e709ea3a0e4f8cde63790..5037f5b6c0d4b12b628f1a839d1e604c32bff95e 100644 (file)
@@ -8,11 +8,9 @@
 package main
 
 import (
-       "cmd/internal/sys"
        "debug/elf"
        "fmt"
        "internal/testenv"
-       "io/ioutil"
        "os"
        "os/exec"
        "path/filepath"
@@ -21,6 +19,8 @@ import (
        "sync"
        "testing"
        "text/template"
+
+       "cmd/internal/sys"
 )
 
 func getCCAndCCFLAGS(t *testing.T, env []string) (string, []string) {
@@ -75,12 +75,12 @@ func TestSectionsWithSameName(t *testing.T) {
        gopath := filepath.Join(dir, "GOPATH")
        env := append(os.Environ(), "GOPATH="+gopath)
 
-       if err := ioutil.WriteFile(filepath.Join(dir, "go.mod"), []byte("module elf_test\n"), 0666); err != nil {
+       if err := os.WriteFile(filepath.Join(dir, "go.mod"), []byte("module elf_test\n"), 0666); err != nil {
                t.Fatal(err)
        }
 
        asmFile := filepath.Join(dir, "x.s")
-       if err := ioutil.WriteFile(asmFile, []byte(asmSource), 0444); err != nil {
+       if err := os.WriteFile(asmFile, []byte(asmSource), 0444); err != nil {
                t.Fatal(err)
        }
 
@@ -108,7 +108,7 @@ func TestSectionsWithSameName(t *testing.T) {
        }
 
        goFile := filepath.Join(dir, "main.go")
-       if err := ioutil.WriteFile(goFile, []byte(goSource), 0444); err != nil {
+       if err := os.WriteFile(goFile, []byte(goSource), 0444); err != nil {
                t.Fatal(err)
        }
 
@@ -145,7 +145,7 @@ func TestMinusRSymsWithSameName(t *testing.T) {
        gopath := filepath.Join(dir, "GOPATH")
        env := append(os.Environ(), "GOPATH="+gopath)
 
-       if err := ioutil.WriteFile(filepath.Join(dir, "go.mod"), []byte("module elf_test\n"), 0666); err != nil {
+       if err := os.WriteFile(filepath.Join(dir, "go.mod"), []byte("module elf_test\n"), 0666); err != nil {
                t.Fatal(err)
        }
 
@@ -157,7 +157,7 @@ func TestMinusRSymsWithSameName(t *testing.T) {
        for i, content := range cSources35779 {
                csrcFile := filepath.Join(dir, fmt.Sprintf("x%d.c", i))
                csrcs = append(csrcs, csrcFile)
-               if err := ioutil.WriteFile(csrcFile, []byte(content), 0444); err != nil {
+               if err := os.WriteFile(csrcFile, []byte(content), 0444); err != nil {
                        t.Fatal(err)
                }
 
@@ -187,7 +187,7 @@ func TestMinusRSymsWithSameName(t *testing.T) {
        }
 
        goFile := filepath.Join(dir, "main.go")
-       if err := ioutil.WriteFile(goFile, []byte(goSource), 0444); err != nil {
+       if err := os.WriteFile(goFile, []byte(goSource), 0444); err != nil {
                t.Fatal(err)
        }
 
@@ -216,7 +216,7 @@ func TestMergeNoteSections(t *testing.T) {
        t.Parallel()
 
        goFile := filepath.Join(t.TempDir(), "notes.go")
-       if err := ioutil.WriteFile(goFile, []byte(goSource), 0444); err != nil {
+       if err := os.WriteFile(goFile, []byte(goSource), 0444); err != nil {
                t.Fatal(err)
        }
        outFile := filepath.Join(t.TempDir(), "notes.exe")
index 4b503711612d1ecfaffa4016f64a692b1d1c3d75..65f82d9d78c37a8a4bd246aafbdf45fe008a6ef8 100644 (file)
@@ -5,15 +5,11 @@
 package ld
 
 import (
-       intdwarf "cmd/internal/dwarf"
-       objfilepkg "cmd/internal/objfile" // renamed to avoid conflict with objfile function
-       "cmd/link/internal/dwtest"
        "debug/dwarf"
        "debug/pe"
        "fmt"
        "internal/testenv"
        "io"
-       "io/ioutil"
        "os"
        "os/exec"
        "path/filepath"
@@ -23,6 +19,10 @@ import (
        "strconv"
        "strings"
        "testing"
+
+       intdwarf "cmd/internal/dwarf"
+       objfilepkg "cmd/internal/objfile" // renamed to avoid conflict with objfile function
+       "cmd/link/internal/dwtest"
 )
 
 const (
@@ -96,7 +96,7 @@ func gobuild(t *testing.T, dir string, testfile string, gcflags string) *builtFi
        src := filepath.Join(dir, "test.go")
        dst := filepath.Join(dir, "out.exe")
 
-       if err := ioutil.WriteFile(src, []byte(testfile), 0666); err != nil {
+       if err := os.WriteFile(src, []byte(testfile), 0666); err != nil {
                t.Fatal(err)
        }
 
@@ -1394,7 +1394,7 @@ func TestIssue42484(t *testing.T) {
 
        t.Parallel()
 
-       tmpdir, err := ioutil.TempDir("", "TestIssue42484")
+       tmpdir, err := os.MkdirTemp("", "TestIssue42484")
        if err != nil {
                t.Fatalf("could not create directory: %v", err)
        }
index 7d59249f3a46be8640e0d76bc3a7f37d31f01d26..9f5a0ed9e2e82728d61e3165e0459681873b7ea3 100644 (file)
@@ -10,7 +10,6 @@ package ld
 import (
        "debug/elf"
        "internal/testenv"
-       "io/ioutil"
        "os"
        "os/exec"
        "path/filepath"
@@ -34,7 +33,7 @@ func main() {
 }
 `
        src := filepath.Join(dir, "issue33358.go")
-       if err := ioutil.WriteFile(src, []byte(prog), 0666); err != nil {
+       if err := os.WriteFile(src, []byte(prog), 0666); err != nil {
                t.Fatal(err)
        }
 
index 230f85a0e5f2b9bc8eb0860a164d830ced3665ac..7dc9b5711284c69fcd37dfda231492e4e5e323f1 100644 (file)
@@ -5,14 +5,15 @@
 package ld
 
 import (
-       "cmd/internal/objabi"
        "internal/testenv"
-       "io/ioutil"
+       "os"
        "os/exec"
        "path/filepath"
        "reflect"
        "runtime"
        "testing"
+
+       "cmd/internal/objabi"
 )
 
 func TestDedupLibraries(t *testing.T) {
@@ -99,7 +100,7 @@ import (
 //go:cgo_import_dynamic _ _ "libc.so"
 
 func main() {}`
-       if err := ioutil.WriteFile(srcFile, []byte(src), 0644); err != nil {
+       if err := os.WriteFile(srcFile, []byte(src), 0644); err != nil {
                t.Fatal(err)
        }
 
index 709a6d0be6ef998e96362d05cd03771158d488aa..d416571653047c7a751f62c8ba56d486cb155d0f 100644 (file)
 package ld
 
 import (
-       "cmd/internal/goobj"
-       "cmd/link/internal/loader"
-       "cmd/link/internal/sym"
-       "io/ioutil"
        "log"
        "os"
        "path"
        "path/filepath"
        "strconv"
        "strings"
+
+       "cmd/internal/goobj"
+       "cmd/link/internal/loader"
+       "cmd/link/internal/sym"
 )
 
 func (ctxt *Link) readImportCfg(file string) {
        ctxt.PackageFile = make(map[string]string)
        ctxt.PackageShlib = make(map[string]string)
-       data, err := ioutil.ReadFile(file)
+       data, err := os.ReadFile(file)
        if err != nil {
                log.Fatalf("-importcfg: %v", err)
        }
@@ -196,7 +196,7 @@ func addlibpath(ctxt *Link, srcref, objref, file, pkg, shlib string, fingerprint
        l.Fingerprint = fingerprint
        if shlib != "" {
                if strings.HasSuffix(shlib, ".shlibname") {
-                       data, err := ioutil.ReadFile(shlib)
+                       data, err := os.ReadFile(shlib)
                        if err != nil {
                                Errorf(nil, "cannot read %s: %v", shlib, err)
                        }
index 2d5a7add9d22d146660763eacf891d31151c4c3e..e1149d3e563a549ab8917eb1820860b0aab2ed08 100644 (file)
@@ -9,7 +9,7 @@ import (
        "debug/pe"
        "fmt"
        "internal/testenv"
-       "io/ioutil"
+       "os"
        "os/exec"
        "path/filepath"
        "runtime"
@@ -107,7 +107,7 @@ func TestArchiveBuildInvokeWithExec(t *testing.T) {
 
        srcfile := filepath.Join(dir, "test.go")
        arfile := filepath.Join(dir, "test.a")
-       if err := ioutil.WriteFile(srcfile, []byte(carchiveSrcText), 0666); err != nil {
+       if err := os.WriteFile(srcfile, []byte(carchiveSrcText), 0666); err != nil {
                t.Fatal(err)
        }
 
@@ -202,7 +202,7 @@ func testWindowsBuildmodeCSharedASLR(t *testing.T, useASLR bool) {
 
        srcfile := filepath.Join(dir, "test.go")
        objfile := filepath.Join(dir, "test.dll")
-       if err := ioutil.WriteFile(srcfile, []byte(`package main; func main() { print("hello") }`), 0666); err != nil {
+       if err := os.WriteFile(srcfile, []byte(`package main; func main() { print("hello") }`), 0666); err != nil {
                t.Fatal(err)
        }
        argv := []string{"build", "-buildmode=c-shared"}
@@ -327,7 +327,7 @@ func main() {
                        t.Parallel()
                        tempDir := t.TempDir()
                        src := filepath.Join(tempDir, "x.go")
-                       if err := ioutil.WriteFile(src, []byte(tt.prog), 0644); err != nil {
+                       if err := os.WriteFile(src, []byte(tt.prog), 0644); err != nil {
                                t.Fatal(err)
                        }
                        cmd := exec.Command(testenv.GoToolPath(t), "run", src)
index f4a1f1800fa26df4489682c56847aed9fcfe2f51..fa2ee676a938c5a16690d69fb26312516c19b937 100644 (file)
@@ -32,17 +32,6 @@ package ld
 
 import (
        "bytes"
-       "cmd/internal/bio"
-       "cmd/internal/goobj"
-       "cmd/internal/notsha256"
-       "cmd/internal/objabi"
-       "cmd/internal/sys"
-       "cmd/link/internal/loadelf"
-       "cmd/link/internal/loader"
-       "cmd/link/internal/loadmacho"
-       "cmd/link/internal/loadpe"
-       "cmd/link/internal/loadxcoff"
-       "cmd/link/internal/sym"
        "debug/elf"
        "debug/macho"
        "encoding/base64"
@@ -50,7 +39,6 @@ import (
        "fmt"
        "internal/buildcfg"
        "io"
-       "io/ioutil"
        "log"
        "os"
        "os/exec"
@@ -58,6 +46,18 @@ import (
        "runtime"
        "strings"
        "sync"
+
+       "cmd/internal/bio"
+       "cmd/internal/goobj"
+       "cmd/internal/notsha256"
+       "cmd/internal/objabi"
+       "cmd/internal/sys"
+       "cmd/link/internal/loadelf"
+       "cmd/link/internal/loader"
+       "cmd/link/internal/loadmacho"
+       "cmd/link/internal/loadpe"
+       "cmd/link/internal/loadxcoff"
+       "cmd/link/internal/sym"
 )
 
 // Data layout and relocation.
@@ -1157,7 +1157,7 @@ func hostlinksetup(ctxt *Link) {
 
        // create temporary directory and arrange cleanup
        if *flagTmpdir == "" {
-               dir, err := ioutil.TempDir("", "go-link-")
+               dir, err := os.MkdirTemp("", "go-link-")
                if err != nil {
                        log.Fatal(err)
                }
@@ -1238,7 +1238,7 @@ func writeGDBLinkerScript() string {
 }
 INSERT AFTER .debug_types;
 `
-       err := ioutil.WriteFile(path, []byte(src), 0666)
+       err := os.WriteFile(path, []byte(src), 0666)
        if err != nil {
                Errorf(nil, "WriteFile %s failed: %v", name, err)
        }
@@ -1849,7 +1849,7 @@ var createTrivialCOnce sync.Once
 func linkerFlagSupported(arch *sys.Arch, linker, altLinker, flag string) bool {
        createTrivialCOnce.Do(func() {
                src := filepath.Join(*flagTmpdir, "trivial.c")
-               if err := ioutil.WriteFile(src, []byte("int main() { return 0; }"), 0666); err != nil {
+               if err := os.WriteFile(src, []byte("int main() { return 0; }"), 0666); err != nil {
                        Errorf(nil, "WriteFile trivial.c failed: %v", err)
                }
        })
index 3fac071a0461f0bc0e1e3eb29e9b633a1c91d84c..7b4d506a003926550b60cc8646659306453e5072 100644 (file)
@@ -6,17 +6,18 @@ package ld
 
 import (
        "bytes"
-       "cmd/internal/objabi"
-       "cmd/link/internal/loader"
-       "cmd/link/internal/sym"
        "encoding/binary"
        "fmt"
-       "io/ioutil"
        "math/bits"
+       "os"
        "path/filepath"
        "sort"
        "strings"
        "sync"
+
+       "cmd/internal/objabi"
+       "cmd/link/internal/loader"
+       "cmd/link/internal/sym"
 )
 
 // This file handles all algorithms related to XCOFF files generation.
@@ -1805,7 +1806,7 @@ func xcoffCreateExportFile(ctxt *Link) (fname string) {
                buf.Write([]byte(name + "\n"))
        }
 
-       err := ioutil.WriteFile(fname, buf.Bytes(), 0666)
+       err := os.WriteFile(fname, buf.Bytes(), 0666)
        if err != nil {
                Errorf(nil, "WriteFile %s failed: %v", fname, err)
        }
index 45dc6b322df07306bf3a1f60000c3afe3cd38cbd..c1a30363cb1eea1c3011aa1e2991ed8b114fa64d 100644 (file)
@@ -7,11 +7,9 @@ package main
 import (
        "bufio"
        "bytes"
-       "cmd/internal/sys"
        "debug/macho"
        "internal/buildcfg"
        "internal/testenv"
-       "io/ioutil"
        "os"
        "os/exec"
        "path/filepath"
@@ -19,6 +17,8 @@ import (
        "runtime"
        "strings"
        "testing"
+
+       "cmd/internal/sys"
 )
 
 var AuthorPaidByTheColumnInch struct {
@@ -51,7 +51,7 @@ func main() {}
 
        tmpdir := t.TempDir()
 
-       err := ioutil.WriteFile(filepath.Join(tmpdir, "main.go"), []byte(source), 0666)
+       err := os.WriteFile(filepath.Join(tmpdir, "main.go"), []byte(source), 0666)
        if err != nil {
                t.Fatalf("failed to write main.go: %v\n", err)
        }
@@ -83,7 +83,7 @@ func TestIssue28429(t *testing.T) {
        tmpdir := t.TempDir()
 
        write := func(name, content string) {
-               err := ioutil.WriteFile(filepath.Join(tmpdir, name), []byte(content), 0666)
+               err := os.WriteFile(filepath.Join(tmpdir, name), []byte(content), 0666)
                if err != nil {
                        t.Fatal(err)
                }
@@ -122,7 +122,7 @@ func TestUnresolved(t *testing.T) {
        tmpdir := t.TempDir()
 
        write := func(name, content string) {
-               err := ioutil.WriteFile(filepath.Join(tmpdir, name), []byte(content), 0666)
+               err := os.WriteFile(filepath.Join(tmpdir, name), []byte(content), 0666)
                if err != nil {
                        t.Fatal(err)
                }
@@ -190,7 +190,7 @@ func TestIssue33979(t *testing.T) {
        tmpdir := t.TempDir()
 
        write := func(name, content string) {
-               err := ioutil.WriteFile(filepath.Join(tmpdir, name), []byte(content), 0666)
+               err := os.WriteFile(filepath.Join(tmpdir, name), []byte(content), 0666)
                if err != nil {
                        t.Fatal(err)
                }
@@ -328,7 +328,7 @@ func TestXFlag(t *testing.T) {
        tmpdir := t.TempDir()
 
        src := filepath.Join(tmpdir, "main.go")
-       err := ioutil.WriteFile(src, []byte(testXFlagSrc), 0666)
+       err := os.WriteFile(src, []byte(testXFlagSrc), 0666)
        if err != nil {
                t.Fatal(err)
        }
@@ -352,7 +352,7 @@ func TestMachOBuildVersion(t *testing.T) {
        tmpdir := t.TempDir()
 
        src := filepath.Join(tmpdir, "main.go")
-       err := ioutil.WriteFile(src, []byte(testMachOBuildVersionSrc), 0666)
+       err := os.WriteFile(src, []byte(testMachOBuildVersionSrc), 0666)
        if err != nil {
                t.Fatal(err)
        }
@@ -428,7 +428,7 @@ func TestIssue34788Android386TLSSequence(t *testing.T) {
        tmpdir := t.TempDir()
 
        src := filepath.Join(tmpdir, "blah.go")
-       err := ioutil.WriteFile(src, []byte(Issue34788src), 0666)
+       err := os.WriteFile(src, []byte(Issue34788src), 0666)
        if err != nil {
                t.Fatal(err)
        }
@@ -504,19 +504,19 @@ func TestStrictDup(t *testing.T) {
        tmpdir := t.TempDir()
 
        src := filepath.Join(tmpdir, "x.go")
-       err := ioutil.WriteFile(src, []byte(testStrictDupGoSrc), 0666)
+       err := os.WriteFile(src, []byte(testStrictDupGoSrc), 0666)
        if err != nil {
                t.Fatal(err)
        }
        for _, af := range asmfiles {
                src = filepath.Join(tmpdir, af.fname+".s")
-               err = ioutil.WriteFile(src, []byte(af.payload), 0666)
+               err = os.WriteFile(src, []byte(af.payload), 0666)
                if err != nil {
                        t.Fatal(err)
                }
        }
        src = filepath.Join(tmpdir, "go.mod")
-       err = ioutil.WriteFile(src, []byte("module teststrictdup\n"), 0666)
+       err = os.WriteFile(src, []byte("module teststrictdup\n"), 0666)
        if err != nil {
                t.Fatal(err)
        }
@@ -589,17 +589,17 @@ func TestFuncAlign(t *testing.T) {
        tmpdir := t.TempDir()
 
        src := filepath.Join(tmpdir, "go.mod")
-       err := ioutil.WriteFile(src, []byte("module cmd/link/TestFuncAlign/falign"), 0666)
+       err := os.WriteFile(src, []byte("module cmd/link/TestFuncAlign/falign"), 0666)
        if err != nil {
                t.Fatal(err)
        }
        src = filepath.Join(tmpdir, "falign.go")
-       err = ioutil.WriteFile(src, []byte(testFuncAlignSrc), 0666)
+       err = os.WriteFile(src, []byte(testFuncAlignSrc), 0666)
        if err != nil {
                t.Fatal(err)
        }
        src = filepath.Join(tmpdir, "falign.s")
-       err = ioutil.WriteFile(src, []byte(testFuncAlignAsmSrc), 0666)
+       err = os.WriteFile(src, []byte(testFuncAlignAsmSrc), 0666)
        if err != nil {
                t.Fatal(err)
        }
@@ -662,7 +662,7 @@ func TestTrampoline(t *testing.T) {
        tmpdir := t.TempDir()
 
        src := filepath.Join(tmpdir, "hello.go")
-       err := ioutil.WriteFile(src, []byte(testTrampSrc), 0666)
+       err := os.WriteFile(src, []byte(testTrampSrc), 0666)
        if err != nil {
                t.Fatal(err)
        }
@@ -720,7 +720,7 @@ func TestTrampolineCgo(t *testing.T) {
        tmpdir := t.TempDir()
 
        src := filepath.Join(tmpdir, "hello.go")
-       err := ioutil.WriteFile(src, []byte(testTrampCgoSrc), 0666)
+       err := os.WriteFile(src, []byte(testTrampCgoSrc), 0666)
        if err != nil {
                t.Fatal(err)
        }
@@ -842,7 +842,7 @@ func TestPErsrcBinutils(t *testing.T) {
        }
 
        // Check that the binary contains the rsrc data
-       b, err := ioutil.ReadFile(exe)
+       b, err := os.ReadFile(exe)
        if err != nil {
                t.Fatalf("reading output failed: %v", err)
        }
@@ -874,7 +874,7 @@ func TestPErsrcLLVM(t *testing.T) {
        }
 
        // Check that the binary contains the rsrc data
-       b, err := ioutil.ReadFile(exe)
+       b, err := os.ReadFile(exe)
        if err != nil {
                t.Fatalf("reading output failed: %v", err)
        }
@@ -935,7 +935,7 @@ func TestIssue38554(t *testing.T) {
        tmpdir := t.TempDir()
 
        src := filepath.Join(tmpdir, "x.go")
-       err := ioutil.WriteFile(src, []byte(testIssue38554Src), 0666)
+       err := os.WriteFile(src, []byte(testIssue38554Src), 0666)
        if err != nil {
                t.Fatalf("failed to write source file: %v", err)
        }
@@ -985,7 +985,7 @@ func TestIssue42396(t *testing.T) {
        tmpdir := t.TempDir()
 
        src := filepath.Join(tmpdir, "main.go")
-       err := ioutil.WriteFile(src, []byte(testIssue42396src), 0666)
+       err := os.WriteFile(src, []byte(testIssue42396src), 0666)
        if err != nil {
                t.Fatalf("failed to write source file: %v", err)
        }
@@ -1056,7 +1056,7 @@ func TestLargeReloc(t *testing.T) {
        tmpdir := t.TempDir()
 
        src := filepath.Join(tmpdir, "x.go")
-       err := ioutil.WriteFile(src, []byte(testLargeRelocSrc), 0666)
+       err := os.WriteFile(src, []byte(testLargeRelocSrc), 0666)
        if err != nil {
                t.Fatalf("failed to write source file: %v", err)
        }
@@ -1091,11 +1091,11 @@ func TestUnlinkableObj(t *testing.T) {
        xObj := filepath.Join(tmpdir, "x.o")
        pObj := filepath.Join(tmpdir, "p.o")
        exe := filepath.Join(tmpdir, "x.exe")
-       err := ioutil.WriteFile(xSrc, []byte("package main\nimport _ \"p\"\nfunc main() {}\n"), 0666)
+       err := os.WriteFile(xSrc, []byte("package main\nimport _ \"p\"\nfunc main() {}\n"), 0666)
        if err != nil {
                t.Fatalf("failed to write source file: %v", err)
        }
-       err = ioutil.WriteFile(pSrc, []byte("package p\n"), 0666)
+       err = os.WriteFile(pSrc, []byte("package p\n"), 0666)
        if err != nil {
                t.Fatalf("failed to write source file: %v", err)
        }
index 2551afc8cbe3c2379b7e52908de7ea77680f0a51..796adfd422ddef25adec59d3fab7bef6bdaecbb5 100644 (file)
@@ -13,7 +13,7 @@ import (
        "fmt"
        "internal/buildcfg"
        "internal/testenv"
-       "io/ioutil"
+       "os"
        "os/exec"
        "testing"
 )
@@ -28,7 +28,7 @@ func TestLargeText(t *testing.T) {
        const FN = 4
        tmpdir := t.TempDir()
 
-       if err := ioutil.WriteFile(tmpdir+"/go.mod", []byte("module big_test\n"), 0666); err != nil {
+       if err := os.WriteFile(tmpdir+"/go.mod", []byte("module big_test\n"), 0666); err != nil {
                t.Fatal(err)
        }
 
@@ -50,7 +50,7 @@ func TestLargeText(t *testing.T) {
                        fmt.Fprintf(&w, inst)
                }
                fmt.Fprintf(&w, "\tRET\n")
-               err := ioutil.WriteFile(tmpdir+"/"+testname+".s", w.Bytes(), 0666)
+               err := os.WriteFile(tmpdir+"/"+testname+".s", w.Bytes(), 0666)
                if err != nil {
                        t.Fatalf("can't write output: %v\n", err)
                }
@@ -77,7 +77,7 @@ func TestLargeText(t *testing.T) {
        fmt.Fprintf(&w, "\t}\n")
        fmt.Fprintf(&w, "\tfmt.Printf(\"PASS\\n\")\n")
        fmt.Fprintf(&w, "}")
-       err := ioutil.WriteFile(tmpdir+"/bigfn.go", w.Bytes(), 0666)
+       err := os.WriteFile(tmpdir+"/bigfn.go", w.Bytes(), 0666)
        if err != nil {
                t.Fatalf("can't write output: %v\n", err)
        }
index 3ccf74745f67a161f6f2b4090197ca5eec98093e..9ce39cbcf05269bb4fc73b3130a8b9941cf0ce0e 100644 (file)
@@ -14,7 +14,6 @@ import (
        "fmt"
        "internal/godebug"
        "io"
-       "io/ioutil"
        "math/bits"
        "os"
        "path/filepath"
@@ -963,7 +962,7 @@ func (e *MalformedCorpusError) Error() string {
 // be saved in a MalformedCorpusError and returned, along with the most recent
 // error.
 func ReadCorpus(dir string, types []reflect.Type) ([]CorpusEntry, error) {
-       files, err := ioutil.ReadDir(dir)
+       files, err := os.ReadDir(dir)
        if os.IsNotExist(err) {
                return nil, nil // No corpus to read
        } else if err != nil {
@@ -981,7 +980,7 @@ func ReadCorpus(dir string, types []reflect.Type) ([]CorpusEntry, error) {
                        continue
                }
                filename := filepath.Join(dir, file.Name())
-               data, err := ioutil.ReadFile(filename)
+               data, err := os.ReadFile(filename)
                if err != nil {
                        return nil, fmt.Errorf("failed to read corpus file: %v", err)
                }
@@ -1038,7 +1037,7 @@ func writeToCorpus(entry *CorpusEntry, dir string) (err error) {
        if err := os.MkdirAll(dir, 0777); err != nil {
                return err
        }
-       if err := ioutil.WriteFile(entry.Path, entry.Data, 0666); err != nil {
+       if err := os.WriteFile(entry.Path, entry.Data, 0666); err != nil {
                os.Remove(entry.Path) // remove partially written file
                return err
        }
index a5c3b02242e380aac9163d12e00bbdc42dac8bcc..ea29b60607fb0025dedb9f578fd8b35ad9812677 100644 (file)
@@ -6,7 +6,6 @@ package fuzz
 
 import (
        "fmt"
-       "io/ioutil"
        "os"
        "unsafe"
 )
@@ -65,7 +64,7 @@ func sharedMemSize(valueSize int) int {
 // it into memory. The file will be removed when the Close method is called.
 func sharedMemTempFile(size int) (m *sharedMem, err error) {
        // Create a temporary file.
-       f, err := ioutil.TempFile("", "fuzz-*")
+       f, err := os.CreateTemp("", "fuzz-*")
        if err != nil {
                return nil, err
        }
index 6e4c4e2d0fbbb1abe77b62b91ffdf3d7a51ec1be..fca3aea578debd860c32b122e1c0b5727d6fb141 100644 (file)
@@ -12,7 +12,6 @@ import (
        "errors"
        "fmt"
        "io"
-       "io/ioutil"
        "os"
        "os/exec"
        "reflect"
@@ -958,7 +957,7 @@ func (wc *workerClient) Close() error {
 
        // Drain fuzzOut and close it. When the server exits, the kernel will close
        // its end of fuzzOut, and we'll get EOF.
-       if _, err := io.Copy(ioutil.Discard, wc.fuzzOut); err != nil {
+       if _, err := io.Copy(io.Discard, wc.fuzzOut); err != nil {
                wc.fuzzOut.Close()
                return err
        }
index 81b31454512a1101bb6e92b3b8c44b028278361f..fd95f1e64a1b43f890b001e7e07d0d2e4abd12f3 100644 (file)
@@ -34,7 +34,7 @@ package txtar
 import (
        "bytes"
        "fmt"
-       "io/ioutil"
+       "os"
        "strings"
 )
 
@@ -66,7 +66,7 @@ func Format(a *Archive) []byte {
 
 // ParseFile parses the named file as an archive.
 func ParseFile(file string) (*Archive, error) {
-       data, err := ioutil.ReadFile(file)
+       data, err := os.ReadFile(file)
        if err != nil {
                return nil, err
        }