mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
[dev.typeparams] all: merge master (06b86e9) into dev.typeparams
Merge List: + 2021-02-1906b86e9803cmd/compile: fix check to avoid creating new closure function when typechecking inline body + 2021-02-199322eec8a2codereview.cfg: add codereview.cfg for master branch + 2021-02-1902e5a8fdfcruntime: ignore SPWRITE in syscall functions + 2021-02-19fa18f224c3runtime/pprof: disable TestMorestack on macOS under race detector + 2021-02-1901eb70e3ddos: fix hex exit code print on 32-bit windows + 2021-02-1949add6ad90runtime: fix spurious stack overflow detection + 2021-02-19fce2a94d84cmd/compile: fix buglet in inlined info abstract function dwarf-gen + 2021-02-197764ee5614runtime: fix invalid nil g check for for mips64x + 2021-02-1987f425da14cmd/go/internal/mvs: split Reqs into narrower per-function interfaces + 2021-02-194da0188c6ccmd/go/internal/modget: split resolveCandidates into two methods + 2021-02-195f2e24efb3cmd/internal/diff: skip over Cygwin warning in diff output + 2021-02-19ee7038f6a5net: disable Windows netsh tests when netsh won't run + 2021-02-1940765ffa95os/exec: disable failing LookPathTest on windows/arm64 + 2021-02-19b445d6ea34runtime/pprof: expect tests to pass on macOS + 2021-02-19b110a43628runtime: delete gosave (dead code) + 2021-02-19474d5f4f4dmath: remove most 387 implementations + 2021-02-19c7c6c113beruntime: convert windows/arm64 assembly + 2021-02-193527caa7d6runtime: initial windows/arm64 implementation files + 2021-02-19427bd7599druntime: generate windows/arm64 callback asm + 2021-02-19f6c4b4bf96syscall: add windows/arm64 support + 2021-02-19ac024a0c7bcmd/vendor: get golang.org/x/sys@beda7e5e158 + 2021-02-19a3b97e7628test: disable nilptr on windows/arm64 + 2021-02-19985d087782cmd/link: add windows/arm64 support + 2021-02-1995a44d2409cmd/internal/objfile: recognize Windows ARM64 executables + 2021-02-190ca0551f02debug/pe: recognize arm64 executables + 2021-02-190c633125f2cmd/dist: add windows/arm64 support + 2021-02-19bb6efb9609build: set GOPATH consistently in run.bash, run.bat, run.rc + 2021-02-19a1222b7535cmd/link: add debug print in deadcode + 2021-02-191c659f2525cmd/link: clean up windows PE generation + 2021-02-19b6379f190bsyscall: clean up windows a bit + 2021-02-1909e059afb1runtime: enable framepointer on all arm64 + 2021-02-19b19e7b518eruntime: clean up windows a bit + 2021-02-195421c37a1druntime: fix windows/arm externalthreadhandler + 2021-02-1991cc484ea9runtime: fix time on windows/arm under WINE + 2021-02-1938672d3dcfruntime: crash earlier on windows for runtime.abort + 2021-02-19a1e9148e3druntime: print hex numbers with hex prefixes in traceback debug + 2021-02-1975e273fc2cruntime: fix windows/arm CONTEXT_CONTROL + 2021-02-1976ab626bfcruntime: factor common code out of defs_windows_*.go + 2021-02-19ece954d8b8runtime: find g in Windows profiler using SP + 2021-02-19a54f7fc0fdruntime: do not treat asmcgocall as a topofstack on g0 + 2021-02-19776ee4079aruntime: do not treat morestack as a topofstack + 2021-02-195ecd9e34dfruntime: do not treat mcall as a topofstack + 2021-02-1954da3ab385runtime: use TOPFRAME to identify top-of-frame functions + 2021-02-19fbe74dbf42runtime: use FuncInfo SPWRITE flag to identify untraceable profile samples + 2021-02-194dd77bdc91cmd/asm, cmd/link, runtime: introduce FuncInfo flag bits + 2021-02-19aa0388f2edruntime: remove unnecessary writes to gp.sched.g + 2021-02-196fe8981620cmd/internal/obj/riscv: fix JMP name<>(SB) + 2021-02-1901f05d8ff1runtime: unify asmcgocall and systemstack traceback setup + 2021-02-19229695a283runtime: clean up funcID assignment + 2021-02-19c80da0a33aruntime: handle nil gp in cpuprof + 2021-02-19a78879ac67runtime: move sys.DefaultGoroot to runtime.defaultGOROOT + 2021-02-198ac23a1f15runtime: document, clean up internal/sys + 2021-02-19678568a5cfruntime: delete windows setlasterror (unused) + 2021-02-190d94f989d1runtime: clean up system calls during cgo callback init + 2021-02-19e7ee3c1fa8os: report Windows exit status in hex Change-Id: Ib27e232dabac0604b588f27749bd8ad45a281fe3
This commit is contained in:
commit
7cdfa4969a
269 changed files with 8781 additions and 2729 deletions
|
|
@ -182,7 +182,7 @@ func testCallbackCallers(t *testing.T) {
|
|||
"runtime.cgocallbackg1",
|
||||
"runtime.cgocallbackg",
|
||||
"runtime.cgocallback",
|
||||
"runtime.asmcgocall",
|
||||
"runtime.systemstack_switch",
|
||||
"runtime.cgocall",
|
||||
"test._Cfunc_callback",
|
||||
"test.nestedCall.func1",
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ func testEndToEnd(t *testing.T, goarch, file string) {
|
|||
var ok bool
|
||||
testOut = new(bytes.Buffer) // The assembler writes test output to this buffer.
|
||||
ctxt.Bso = bufio.NewWriter(os.Stdout)
|
||||
ctxt.IsAsm = true
|
||||
defer ctxt.Bso.Flush()
|
||||
failed := false
|
||||
ctxt.DiagFunc = func(format string, args ...interface{}) {
|
||||
|
|
@ -278,6 +279,7 @@ func testErrors(t *testing.T, goarch, file string) {
|
|||
var ok bool
|
||||
testOut = new(bytes.Buffer) // The assembler writes test output to this buffer.
|
||||
ctxt.Bso = bufio.NewWriter(os.Stdout)
|
||||
ctxt.IsAsm = true
|
||||
defer ctxt.Bso.Flush()
|
||||
failed := false
|
||||
var errBuf bytes.Buffer
|
||||
|
|
|
|||
|
|
@ -32,11 +32,13 @@ var (
|
|||
D MultiFlag
|
||||
I MultiFlag
|
||||
PrintOut int
|
||||
DebugV bool
|
||||
)
|
||||
|
||||
func init() {
|
||||
flag.Var(&D, "D", "predefined symbol with optional simple value -D=identifier=value; can be set multiple times")
|
||||
flag.Var(&I, "I", "include directory; can be set multiple times")
|
||||
flag.BoolVar(&DebugV, "v", false, "print debug output")
|
||||
objabi.AddVersionFlag() // -V
|
||||
objabi.Flagcount("S", "print assembly and machine code", &PrintOut)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ func main() {
|
|||
|
||||
ctxt := obj.Linknew(architecture.LinkArch)
|
||||
ctxt.Debugasm = flags.PrintOut
|
||||
ctxt.Debugvlog = flags.DebugV
|
||||
ctxt.Flag_dynlink = *flags.Dynlink
|
||||
ctxt.Flag_linkshared = *flags.Linkshared
|
||||
ctxt.Flag_shared = *flags.Shared || *flags.Dynlink
|
||||
|
|
|
|||
|
|
@ -271,8 +271,7 @@ func createSimpleVar(fnsym *obj.LSym, n *ir.Name) *dwarf.Var {
|
|||
if base.Ctxt.FixedFrameSize() == 0 {
|
||||
offs -= int64(types.PtrSize)
|
||||
}
|
||||
if objabi.Framepointer_enabled || objabi.GOARCH == "arm64" {
|
||||
// There is a word space for FP on ARM64 even if the frame pointer is disabled
|
||||
if objabi.Framepointer_enabled {
|
||||
offs -= int64(types.PtrSize)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,9 @@ func assembleScopes(fnsym *obj.LSym, fn *ir.Func, dwarfVars []*dwarf.Var, varSco
|
|||
}
|
||||
|
||||
scopeVariables(dwarfVars, varScopes, dwarfScopes)
|
||||
scopePCs(fnsym, fn.Marks, dwarfScopes)
|
||||
if fnsym.Func().Text != nil {
|
||||
scopePCs(fnsym, fn.Marks, dwarfScopes)
|
||||
}
|
||||
return compactScopes(dwarfScopes)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -213,8 +213,7 @@ func StackOffset(slot ssa.LocalSlot) int32 {
|
|||
if base.Ctxt.FixedFrameSize() == 0 {
|
||||
off -= int64(types.PtrSize)
|
||||
}
|
||||
if objabi.Framepointer_enabled || objabi.GOARCH == "arm64" {
|
||||
// There is a word space for FP on ARM64 even if the frame pointer is disabled
|
||||
if objabi.Framepointer_enabled {
|
||||
off -= int64(types.PtrSize)
|
||||
}
|
||||
case ir.PPARAM, ir.PPARAMOUT:
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ func TestIssue16214(t *testing.T) {
|
|||
cmd := exec.Command(testenv.GoToolPath(t), "tool", "compile", "-S", "-o", filepath.Join(dir, "out.o"), src)
|
||||
out, err := cmd.CombinedOutput()
|
||||
if err != nil {
|
||||
t.Fatalf("fail to run go tool compile: %v", err)
|
||||
t.Fatalf("go tool compile: %v\n%s", err, out)
|
||||
}
|
||||
|
||||
if strings.Contains(string(out), "unknown line number") {
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ func main() {
|
|||
cmd := exec.Command(testenv.GoToolPath(t), "build", "-o", dst, src)
|
||||
out, err := cmd.CombinedOutput()
|
||||
if err != nil {
|
||||
t.Fatalf("could not build target: %v", err)
|
||||
t.Fatalf("could not build target: %v\n%s", err, out)
|
||||
}
|
||||
|
||||
// Check destination to see if scanf code was included.
|
||||
|
|
@ -95,7 +95,7 @@ func main() {
|
|||
cmd := exec.Command(testenv.GoToolPath(t), "build", "-gcflags", "-S", "-o", filepath.Join(dir, "test"), src)
|
||||
out, err := cmd.CombinedOutput()
|
||||
if err != nil {
|
||||
t.Fatalf("could not build target: %v", err)
|
||||
t.Fatalf("could not build target: %v\n%s", err, out)
|
||||
}
|
||||
|
||||
patterns := []string{
|
||||
|
|
|
|||
|
|
@ -100,6 +100,11 @@ func PartialCallType(n *ir.SelectorExpr) *types.Type {
|
|||
return t
|
||||
}
|
||||
|
||||
// True if we are typechecking an inline body in ImportedBody below. We use this
|
||||
// flag to not create a new closure function in tcClosure when we are just
|
||||
// typechecking an inline body, as opposed to the body of a real function.
|
||||
var inTypeCheckInl bool
|
||||
|
||||
// Lazy typechecking of imported bodies. For local functions, CanInline will set ->typecheck
|
||||
// because they're a copy of an already checked body.
|
||||
func ImportedBody(fn *ir.Func) {
|
||||
|
|
@ -138,7 +143,12 @@ func ImportedBody(fn *ir.Func) {
|
|||
|
||||
savefn := ir.CurFunc
|
||||
ir.CurFunc = fn
|
||||
if inTypeCheckInl {
|
||||
base.Fatalf("inTypeCheckInl should not be set recursively")
|
||||
}
|
||||
inTypeCheckInl = true
|
||||
Stmts(fn.Inl.Body)
|
||||
inTypeCheckInl = false
|
||||
ir.CurFunc = savefn
|
||||
|
||||
// During ImportBody (which imports fn.Func.Inl.Body),
|
||||
|
|
@ -307,7 +317,6 @@ func tcClosure(clo *ir.ClosureExpr, top int) {
|
|||
// body in ImportedBody(), since we only want to create the named function
|
||||
// when the closure is actually inlined (and then we force a typecheck
|
||||
// explicitly in (*inlsubst).node()).
|
||||
inTypeCheckInl := ir.CurFunc != nil && ir.CurFunc.Body == nil
|
||||
if !inTypeCheckInl {
|
||||
fn.Nname.SetSym(ClosureName(ir.CurFunc))
|
||||
ir.MarkFunc(fn.Nname)
|
||||
|
|
|
|||
1
src/cmd/dist/build.go
vendored
1
src/cmd/dist/build.go
vendored
|
|
@ -1575,6 +1575,7 @@ var cgoEnabled = map[string]bool{
|
|||
"windows/386": true,
|
||||
"windows/amd64": true,
|
||||
"windows/arm": false,
|
||||
"windows/arm64": false,
|
||||
}
|
||||
|
||||
// List of platforms which are supported but not complete yet. These get
|
||||
|
|
|
|||
5
src/cmd/dist/sys_windows.go
vendored
5
src/cmd/dist/sys_windows.go
vendored
|
|
@ -29,10 +29,13 @@ type systeminfo struct {
|
|||
wProcessorRevision uint16
|
||||
}
|
||||
|
||||
// See https://docs.microsoft.com/en-us/windows/win32/api/sysinfoapi/ns-sysinfoapi-system_info
|
||||
const (
|
||||
PROCESSOR_ARCHITECTURE_AMD64 = 9
|
||||
PROCESSOR_ARCHITECTURE_INTEL = 0
|
||||
PROCESSOR_ARCHITECTURE_ARM = 5
|
||||
PROCESSOR_ARCHITECTURE_ARM64 = 12
|
||||
PROCESSOR_ARCHITECTURE_IA64 = 6
|
||||
)
|
||||
|
||||
var sysinfo systeminfo
|
||||
|
|
@ -46,6 +49,8 @@ func sysinit() {
|
|||
gohostarch = "386"
|
||||
case PROCESSOR_ARCHITECTURE_ARM:
|
||||
gohostarch = "arm"
|
||||
case PROCESSOR_ARCHITECTURE_ARM64:
|
||||
gohostarch = "arm64"
|
||||
default:
|
||||
fatalf("unknown processor architecture")
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,6 @@ require (
|
|||
golang.org/x/arch v0.0.0-20201008161808-52c3e6f60cff
|
||||
golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897
|
||||
golang.org/x/mod v0.4.1
|
||||
golang.org/x/sys v0.0.0-20201204225414-ed752295db88 // indirect
|
||||
golang.org/x/sys v0.0.0-20210218145245-beda7e5e158e // indirect
|
||||
golang.org/x/tools v0.0.0-20210107193943-4ed967dd8eff
|
||||
)
|
||||
|
|
|
|||
|
|
@ -25,8 +25,8 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h
|
|||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20201204225414-ed752295db88 h1:KmZPnMocC93w341XZp26yTJg8Za7lhb2KhkYmixoeso=
|
||||
golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210218145245-beda7e5e158e h1:f5mksnk+hgXHnImpZoWj64ja99j9zV7YUgrVG95uFE4=
|
||||
golang.org/x/sys v0.0.0-20210218145245-beda7e5e158e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
|
|
|
|||
|
|
@ -310,7 +310,7 @@ func runGet(ctx context.Context, cmd *base.Command, args []string) {
|
|||
r.performWildcardQueries(ctx)
|
||||
r.performPatternAllQueries(ctx)
|
||||
|
||||
if changed := r.resolveCandidates(ctx, queries, nil); changed {
|
||||
if changed := r.resolveQueries(ctx, queries); changed {
|
||||
// 'go get' arguments can be (and often are) package patterns rather than
|
||||
// (just) modules. A package can be provided by any module with a prefix
|
||||
// of its import path, and a wildcard can even match packages in modules
|
||||
|
|
@ -347,12 +347,12 @@ func runGet(ctx context.Context, cmd *base.Command, args []string) {
|
|||
// - ambiguous import errors.
|
||||
// TODO(#27899): Try to resolve ambiguous import errors automatically.
|
||||
upgrades := r.findAndUpgradeImports(ctx, queries)
|
||||
if changed := r.resolveCandidates(ctx, nil, upgrades); changed {
|
||||
if changed := r.applyUpgrades(ctx, upgrades); changed {
|
||||
continue
|
||||
}
|
||||
|
||||
r.findMissingWildcards(ctx)
|
||||
if changed := r.resolveCandidates(ctx, r.wildcardQueries, nil); changed {
|
||||
if changed := r.resolveQueries(ctx, r.wildcardQueries); changed {
|
||||
continue
|
||||
}
|
||||
|
||||
|
|
@ -460,9 +460,8 @@ type resolver struct {
|
|||
// that resolved the module to that version (the “reason”).
|
||||
resolvedVersion map[string]versionReason
|
||||
|
||||
buildList []module.Version
|
||||
buildListResolvedVersions int // len(resolvedVersion) when buildList was computed
|
||||
buildListVersion map[string]string // index of buildList (module path → version)
|
||||
buildList []module.Version
|
||||
buildListVersion map[string]string // index of buildList (module path → version)
|
||||
|
||||
initialVersion map[string]string // index of the initial build list at the start of 'go get'
|
||||
|
||||
|
|
@ -1176,24 +1175,19 @@ func (r *resolver) loadPackages(ctx context.Context, patterns []string, findPack
|
|||
// to be updated before its dependencies can be loaded.
|
||||
var errVersionChange = errors.New("version change needed")
|
||||
|
||||
// resolveCandidates resolves candidates sets that are attached to the given
|
||||
// resolveQueries resolves candidate sets that are attached to the given
|
||||
// queries and/or needed to provide the given missing-package dependencies.
|
||||
//
|
||||
// resolveCandidates starts by resolving one module version from each
|
||||
// resolveQueries starts by resolving one module version from each
|
||||
// unambiguous pathSet attached to the given queries.
|
||||
//
|
||||
// If no unambiguous query results in a change to the build list,
|
||||
// resolveCandidates modifies the build list by adding one module version from
|
||||
// each pathSet in missing, but does not mark those versions as resolved
|
||||
// (so they can still be modified by other queries).
|
||||
//
|
||||
// If that still does not result in any changes to the build list,
|
||||
// resolveCandidates revisits the ambiguous query candidates and resolves them
|
||||
// resolveQueries revisits the ambiguous query candidates and resolves them
|
||||
// arbitrarily in order to guarantee forward progress.
|
||||
//
|
||||
// If all pathSets are resolved without any changes to the build list,
|
||||
// resolveCandidates returns with changed=false.
|
||||
func (r *resolver) resolveCandidates(ctx context.Context, queries []*query, upgrades []pathSet) (changed bool) {
|
||||
// resolveQueries returns with changed=false.
|
||||
func (r *resolver) resolveQueries(ctx context.Context, queries []*query) (changed bool) {
|
||||
defer base.ExitIfErrors()
|
||||
|
||||
// Note: this is O(N²) with the number of pathSets in the worst case.
|
||||
|
|
@ -1247,13 +1241,53 @@ func (r *resolver) resolveCandidates(ctx context.Context, queries []*query, upgr
|
|||
}
|
||||
}
|
||||
|
||||
if changed := r.updateBuildList(ctx, nil); changed {
|
||||
// The build list has changed, so disregard any missing packages: they might
|
||||
// now be determined by requirements in the build list, which we would
|
||||
// prefer to use instead of arbitrary "latest" versions.
|
||||
return true
|
||||
if resolved > 0 {
|
||||
if changed = r.updateBuildList(ctx, nil); changed {
|
||||
// The build list has changed, so disregard any remaining ambiguous queries:
|
||||
// they might now be determined by requirements in the build list, which we
|
||||
// would prefer to use instead of arbitrary versions.
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
// The build list will be the same on the next iteration as it was on this
|
||||
// iteration, so any ambiguous queries will remain so. In order to make
|
||||
// progress, resolve them arbitrarily but deterministically.
|
||||
//
|
||||
// If that results in conflicting versions, the user can re-run 'go get'
|
||||
// with additional explicit versions for the conflicting packages or
|
||||
// modules.
|
||||
resolvedArbitrarily := 0
|
||||
for _, q := range queries {
|
||||
for _, cs := range q.candidates {
|
||||
isPackage, m := r.chooseArbitrarily(cs)
|
||||
if isPackage {
|
||||
q.matchesPackages = true
|
||||
}
|
||||
r.resolve(q, m)
|
||||
resolvedArbitrarily++
|
||||
}
|
||||
}
|
||||
if resolvedArbitrarily > 0 {
|
||||
changed = r.updateBuildList(ctx, nil)
|
||||
}
|
||||
return changed
|
||||
}
|
||||
|
||||
// applyUpgrades disambiguates candidate sets that are needed to upgrade (or
|
||||
// provide) transitive dependencies imported by previously-resolved packages.
|
||||
//
|
||||
// applyUpgrades modifies the build list by adding one module version from each
|
||||
// pathSet in upgrades, then downgrading (or further upgrading) those modules as
|
||||
// needed to maintain any already-resolved versions of other modules.
|
||||
// applyUpgrades does not mark the new versions as resolved, so they can still
|
||||
// be further modified by other queries (such as wildcards).
|
||||
//
|
||||
// If all pathSets are resolved without any changes to the build list,
|
||||
// applyUpgrades returns with changed=false.
|
||||
func (r *resolver) applyUpgrades(ctx context.Context, upgrades []pathSet) (changed bool) {
|
||||
defer base.ExitIfErrors()
|
||||
|
||||
// Arbitrarily add a "latest" version that provides each missing package, but
|
||||
// do not mark the version as resolved: we still want to allow the explicit
|
||||
// queries to modify the resulting versions.
|
||||
|
|
@ -1276,27 +1310,9 @@ func (r *resolver) resolveCandidates(ctx context.Context, queries []*query, upgr
|
|||
tentative = append(tentative, m)
|
||||
}
|
||||
base.ExitIfErrors()
|
||||
if changed := r.updateBuildList(ctx, tentative); changed {
|
||||
return true
|
||||
}
|
||||
|
||||
// The build list will be the same on the next iteration as it was on this
|
||||
// iteration, so any ambiguous queries will remain so. In order to make
|
||||
// progress, resolve them arbitrarily but deterministically.
|
||||
//
|
||||
// If that results in conflicting versions, the user can re-run 'go get'
|
||||
// with additional explicit versions for the conflicting packages or
|
||||
// modules.
|
||||
for _, q := range queries {
|
||||
for _, cs := range q.candidates {
|
||||
isPackage, m := r.chooseArbitrarily(cs)
|
||||
if isPackage {
|
||||
q.matchesPackages = true
|
||||
}
|
||||
r.resolve(q, m)
|
||||
}
|
||||
}
|
||||
return r.updateBuildList(ctx, nil)
|
||||
changed = r.updateBuildList(ctx, tentative)
|
||||
return changed
|
||||
}
|
||||
|
||||
// disambiguate eliminates candidates from cs that conflict with other module
|
||||
|
|
@ -1614,11 +1630,10 @@ func (r *resolver) resolve(q *query, m module.Version) {
|
|||
//
|
||||
// If the additional modules conflict with the resolved versions, they will be
|
||||
// downgraded to a non-conflicting version (possibly "none").
|
||||
//
|
||||
// If the resulting build list is the same as the one resulting from the last
|
||||
// call to updateBuildList, updateBuildList returns with changed=false.
|
||||
func (r *resolver) updateBuildList(ctx context.Context, additions []module.Version) (changed bool) {
|
||||
if len(additions) == 0 && len(r.resolvedVersion) == r.buildListResolvedVersions {
|
||||
return false
|
||||
}
|
||||
|
||||
defer base.ExitIfErrors()
|
||||
|
||||
resolved := make([]module.Version, 0, len(r.resolvedVersion))
|
||||
|
|
@ -1649,7 +1664,6 @@ func (r *resolver) updateBuildList(ctx context.Context, additions []module.Versi
|
|||
}
|
||||
|
||||
buildList := modload.LoadAllModules(ctx)
|
||||
r.buildListResolvedVersions = len(r.resolvedVersion)
|
||||
if reflect.DeepEqual(r.buildList, buildList) {
|
||||
return false
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,6 +41,11 @@ type Reqs interface {
|
|||
// Note that v1 < v2 can be written Max(v1, v2) != v1
|
||||
// and similarly v1 <= v2 can be written Max(v1, v2) == v2.
|
||||
Max(v1, v2 string) string
|
||||
}
|
||||
|
||||
// An UpgradeReqs is a Reqs that can also identify available upgrades.
|
||||
type UpgradeReqs interface {
|
||||
Reqs
|
||||
|
||||
// Upgrade returns the upgraded version of m,
|
||||
// for use during an UpgradeAll operation.
|
||||
|
|
@ -54,6 +59,11 @@ type Reqs interface {
|
|||
// TODO(rsc): Upgrade must be able to return errors,
|
||||
// but should "no latest version" just return m instead?
|
||||
Upgrade(m module.Version) (module.Version, error)
|
||||
}
|
||||
|
||||
// A DowngradeReqs is a Reqs that can also identify available downgrades.
|
||||
type DowngradeReqs interface {
|
||||
Reqs
|
||||
|
||||
// Previous returns the version of m.Path immediately prior to m.Version,
|
||||
// or "none" if no such version is known.
|
||||
|
|
@ -323,7 +333,7 @@ func Req(target module.Version, base []string, reqs Reqs) ([]module.Version, err
|
|||
|
||||
// UpgradeAll returns a build list for the target module
|
||||
// in which every module is upgraded to its latest version.
|
||||
func UpgradeAll(target module.Version, reqs Reqs) ([]module.Version, error) {
|
||||
func UpgradeAll(target module.Version, reqs UpgradeReqs) ([]module.Version, error) {
|
||||
return buildList(target, reqs, func(m module.Version) (module.Version, error) {
|
||||
if m.Path == target.Path {
|
||||
return target, nil
|
||||
|
|
@ -335,7 +345,7 @@ func UpgradeAll(target module.Version, reqs Reqs) ([]module.Version, error) {
|
|||
|
||||
// Upgrade returns a build list for the target module
|
||||
// in which the given additional modules are upgraded.
|
||||
func Upgrade(target module.Version, reqs Reqs, upgrade ...module.Version) ([]module.Version, error) {
|
||||
func Upgrade(target module.Version, reqs UpgradeReqs, upgrade ...module.Version) ([]module.Version, error) {
|
||||
list, err := reqs.Required(target)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
|
@ -374,7 +384,7 @@ func Upgrade(target module.Version, reqs Reqs, upgrade ...module.Version) ([]mod
|
|||
// The versions to be downgraded may be unreachable from reqs.Latest and
|
||||
// reqs.Previous, but the methods of reqs must otherwise handle such versions
|
||||
// correctly.
|
||||
func Downgrade(target module.Version, reqs Reqs, downgrade ...module.Version) ([]module.Version, error) {
|
||||
func Downgrade(target module.Version, reqs DowngradeReqs, downgrade ...module.Version) ([]module.Version, error) {
|
||||
// Per https://research.swtch.com/vgo-mvs#algorithm_4:
|
||||
// “To avoid an unnecessary downgrade to E 1.1, we must also add a new
|
||||
// requirement on E 1.2. We can apply Algorithm R to find the minimal set of
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
package diff
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
exec "internal/execabs"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
|
|
@ -38,6 +39,25 @@ func Diff(prefix string, b1, b2 []byte) ([]byte, error) {
|
|||
// Ignore that failure as long as we get output.
|
||||
err = nil
|
||||
}
|
||||
|
||||
// If we are on Windows and the diff is Cygwin diff,
|
||||
// machines can get into a state where every Cygwin
|
||||
// command works fine but prints a useless message like:
|
||||
//
|
||||
// Cygwin WARNING:
|
||||
// Couldn't compute FAST_CWD pointer. This typically occurs if you're using
|
||||
// an older Cygwin version on a newer Windows. Please update to the latest
|
||||
// available Cygwin version from https://cygwin.com/. If the problem persists,
|
||||
// please see https://cygwin.com/problems.html
|
||||
//
|
||||
// Skip over that message and just return the actual diff.
|
||||
if len(data) > 0 && !bytes.HasPrefix(data, []byte("--- ")) {
|
||||
i := bytes.Index(data, []byte("\n--- "))
|
||||
if i >= 0 && i < 80*10 && bytes.Contains(data[:i], []byte("://cygwin.com/")) {
|
||||
data = data[i+1:]
|
||||
}
|
||||
}
|
||||
|
||||
return data, err
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,9 +19,10 @@ type CUFileIndex uint32
|
|||
//
|
||||
// TODO: make each pcdata a separate symbol?
|
||||
type FuncInfo struct {
|
||||
Args uint32
|
||||
Locals uint32
|
||||
FuncID objabi.FuncID
|
||||
Args uint32
|
||||
Locals uint32
|
||||
FuncID objabi.FuncID
|
||||
FuncFlag objabi.FuncFlag
|
||||
|
||||
Pcsp SymRef
|
||||
Pcfile SymRef
|
||||
|
|
@ -35,6 +36,9 @@ type FuncInfo struct {
|
|||
}
|
||||
|
||||
func (a *FuncInfo) Write(w *bytes.Buffer) {
|
||||
writeUint8 := func(x uint8) {
|
||||
w.WriteByte(x)
|
||||
}
|
||||
var b [4]byte
|
||||
writeUint32 := func(x uint32) {
|
||||
binary.LittleEndian.PutUint32(b[:], x)
|
||||
|
|
@ -47,8 +51,10 @@ func (a *FuncInfo) Write(w *bytes.Buffer) {
|
|||
|
||||
writeUint32(a.Args)
|
||||
writeUint32(a.Locals)
|
||||
writeUint32(uint32(a.FuncID))
|
||||
|
||||
writeUint8(uint8(a.FuncID))
|
||||
writeUint8(uint8(a.FuncFlag))
|
||||
writeUint8(0) // pad to uint32 boundary
|
||||
writeUint8(0)
|
||||
writeSymRef(a.Pcsp)
|
||||
writeSymRef(a.Pcfile)
|
||||
writeSymRef(a.Pcline)
|
||||
|
|
@ -72,46 +78,6 @@ func (a *FuncInfo) Write(w *bytes.Buffer) {
|
|||
}
|
||||
}
|
||||
|
||||
func (a *FuncInfo) Read(b []byte) {
|
||||
readUint32 := func() uint32 {
|
||||
x := binary.LittleEndian.Uint32(b)
|
||||
b = b[4:]
|
||||
return x
|
||||
}
|
||||
readSymIdx := func() SymRef {
|
||||
return SymRef{readUint32(), readUint32()}
|
||||
}
|
||||
|
||||
a.Args = readUint32()
|
||||
a.Locals = readUint32()
|
||||
a.FuncID = objabi.FuncID(readUint32())
|
||||
|
||||
a.Pcsp = readSymIdx()
|
||||
a.Pcfile = readSymIdx()
|
||||
a.Pcline = readSymIdx()
|
||||
a.Pcinline = readSymIdx()
|
||||
a.Pcdata = make([]SymRef, readUint32())
|
||||
for i := range a.Pcdata {
|
||||
a.Pcdata[i] = readSymIdx()
|
||||
}
|
||||
|
||||
funcdataofflen := readUint32()
|
||||
a.Funcdataoff = make([]uint32, funcdataofflen)
|
||||
for i := range a.Funcdataoff {
|
||||
a.Funcdataoff[i] = readUint32()
|
||||
}
|
||||
filelen := readUint32()
|
||||
a.File = make([]CUFileIndex, filelen)
|
||||
for i := range a.File {
|
||||
a.File[i] = CUFileIndex(readUint32())
|
||||
}
|
||||
inltreelen := readUint32()
|
||||
a.InlTree = make([]InlTreeNode, inltreelen)
|
||||
for i := range a.InlTree {
|
||||
b = a.InlTree[i].Read(b)
|
||||
}
|
||||
}
|
||||
|
||||
// FuncInfoLengths is a cache containing a roadmap of offsets and
|
||||
// lengths for things within a serialized FuncInfo. Each length field
|
||||
// stores the number of items (e.g. files, inltree nodes, etc), and the
|
||||
|
|
@ -159,7 +125,9 @@ func (*FuncInfo) ReadArgs(b []byte) uint32 { return binary.LittleEndian.Uint32(b
|
|||
|
||||
func (*FuncInfo) ReadLocals(b []byte) uint32 { return binary.LittleEndian.Uint32(b[4:]) }
|
||||
|
||||
func (*FuncInfo) ReadFuncID(b []byte) uint32 { return binary.LittleEndian.Uint32(b[8:]) }
|
||||
func (*FuncInfo) ReadFuncID(b []byte) objabi.FuncID { return objabi.FuncID(b[8]) }
|
||||
|
||||
func (*FuncInfo) ReadFuncFlag(b []byte) objabi.FuncFlag { return objabi.FuncFlag(b[9]) }
|
||||
|
||||
func (*FuncInfo) ReadPcsp(b []byte) SymRef {
|
||||
return SymRef{binary.LittleEndian.Uint32(b[12:]), binary.LittleEndian.Uint32(b[16:])}
|
||||
|
|
|
|||
|
|
@ -298,7 +298,6 @@ const (
|
|||
SymFlagNoSplit
|
||||
SymFlagReflectMethod
|
||||
SymFlagGoType
|
||||
SymFlagTopFrame
|
||||
)
|
||||
|
||||
// Sym.Flag2
|
||||
|
|
@ -332,7 +331,6 @@ func (s *Sym) Leaf() bool { return s.Flag()&SymFlagLeaf != 0 }
|
|||
func (s *Sym) NoSplit() bool { return s.Flag()&SymFlagNoSplit != 0 }
|
||||
func (s *Sym) ReflectMethod() bool { return s.Flag()&SymFlagReflectMethod != 0 }
|
||||
func (s *Sym) IsGoType() bool { return s.Flag()&SymFlagGoType != 0 }
|
||||
func (s *Sym) TopFrame() bool { return s.Flag()&SymFlagTopFrame != 0 }
|
||||
func (s *Sym) UsedInIface() bool { return s.Flag2()&SymFlagUsedInIface != 0 }
|
||||
func (s *Sym) IsItab() bool { return s.Flag2()&SymFlagItab != 0 }
|
||||
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ import (
|
|||
"cmd/internal/obj"
|
||||
"cmd/internal/objabi"
|
||||
"cmd/internal/sys"
|
||||
"log"
|
||||
)
|
||||
|
||||
var progedit_tlsfallback *obj.LSym
|
||||
|
|
@ -613,6 +614,21 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym, newprog obj.ProgAlloc) {
|
|||
p.From.Reg = REGSP
|
||||
}
|
||||
}
|
||||
|
||||
if p.To.Type == obj.TYPE_REG && p.To.Reg == REGSP && p.Spadj == 0 {
|
||||
f := c.cursym.Func()
|
||||
if f.FuncFlag&objabi.FuncFlag_SPWRITE == 0 {
|
||||
c.cursym.Func().FuncFlag |= objabi.FuncFlag_SPWRITE
|
||||
if ctxt.Debugvlog || !ctxt.IsAsm {
|
||||
ctxt.Logf("auto-SPWRITE: %s %v\n", c.cursym.Name, p)
|
||||
if !ctxt.IsAsm {
|
||||
ctxt.Diag("invalid auto-SPWRITE in non-assembly")
|
||||
ctxt.DiagFlush()
|
||||
log.Fatalf("bad SPWRITE")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -239,7 +239,7 @@ const (
|
|||
REGCTXT = REG_R26 // environment for closures
|
||||
REGTMP = REG_R27 // reserved for liblink
|
||||
REGG = REG_R28 // G
|
||||
REGFP = REG_R29 // frame pointer, unused in the Go toolchain
|
||||
REGFP = REG_R29 // frame pointer
|
||||
REGLINK = REG_R30
|
||||
|
||||
// ARM64 uses R31 as both stack pointer and zero register,
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ import (
|
|||
"cmd/internal/objabi"
|
||||
"cmd/internal/src"
|
||||
"cmd/internal/sys"
|
||||
"log"
|
||||
"math"
|
||||
)
|
||||
|
||||
|
|
@ -621,25 +622,24 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym, newprog obj.ProgAlloc) {
|
|||
|
||||
prologueEnd.Pos = prologueEnd.Pos.WithXlogue(src.PosPrologueEnd)
|
||||
|
||||
if objabi.Framepointer_enabled {
|
||||
q1 = obj.Appendp(q1, c.newprog)
|
||||
q1.Pos = p.Pos
|
||||
q1.As = AMOVD
|
||||
q1.From.Type = obj.TYPE_REG
|
||||
q1.From.Reg = REGFP
|
||||
q1.To.Type = obj.TYPE_MEM
|
||||
q1.To.Reg = REGSP
|
||||
q1.To.Offset = -8
|
||||
// Frame pointer.
|
||||
q1 = obj.Appendp(q1, c.newprog)
|
||||
q1.Pos = p.Pos
|
||||
q1.As = AMOVD
|
||||
q1.From.Type = obj.TYPE_REG
|
||||
q1.From.Reg = REGFP
|
||||
q1.To.Type = obj.TYPE_MEM
|
||||
q1.To.Reg = REGSP
|
||||
q1.To.Offset = -8
|
||||
|
||||
q1 = obj.Appendp(q1, c.newprog)
|
||||
q1.Pos = p.Pos
|
||||
q1.As = ASUB
|
||||
q1.From.Type = obj.TYPE_CONST
|
||||
q1.From.Offset = 8
|
||||
q1.Reg = REGSP
|
||||
q1.To.Type = obj.TYPE_REG
|
||||
q1.To.Reg = REGFP
|
||||
}
|
||||
q1 = obj.Appendp(q1, c.newprog)
|
||||
q1.Pos = p.Pos
|
||||
q1.As = ASUB
|
||||
q1.From.Type = obj.TYPE_CONST
|
||||
q1.From.Offset = 8
|
||||
q1.Reg = REGSP
|
||||
q1.To.Type = obj.TYPE_REG
|
||||
q1.To.Reg = REGFP
|
||||
|
||||
if c.cursym.Func().Text.From.Sym.Wrapper() {
|
||||
// if(g->panic != nil && g->panic->argp == FP) g->panic->argp = bottom-of-frame
|
||||
|
|
@ -764,28 +764,26 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym, newprog obj.ProgAlloc) {
|
|||
p.To.Reg = REGSP
|
||||
p.Spadj = -c.autosize
|
||||
|
||||
if objabi.Framepointer_enabled {
|
||||
p = obj.Appendp(p, c.newprog)
|
||||
p.As = ASUB
|
||||
p.From.Type = obj.TYPE_CONST
|
||||
p.From.Offset = 8
|
||||
p.Reg = REGSP
|
||||
p.To.Type = obj.TYPE_REG
|
||||
p.To.Reg = REGFP
|
||||
}
|
||||
// Frame pointer.
|
||||
p = obj.Appendp(p, c.newprog)
|
||||
p.As = ASUB
|
||||
p.From.Type = obj.TYPE_CONST
|
||||
p.From.Offset = 8
|
||||
p.Reg = REGSP
|
||||
p.To.Type = obj.TYPE_REG
|
||||
p.To.Reg = REGFP
|
||||
}
|
||||
} else {
|
||||
/* want write-back pre-indexed SP+autosize -> SP, loading REGLINK*/
|
||||
|
||||
if objabi.Framepointer_enabled {
|
||||
p.As = AMOVD
|
||||
p.From.Type = obj.TYPE_MEM
|
||||
p.From.Reg = REGSP
|
||||
p.From.Offset = -8
|
||||
p.To.Type = obj.TYPE_REG
|
||||
p.To.Reg = REGFP
|
||||
p = obj.Appendp(p, c.newprog)
|
||||
}
|
||||
// Frame pointer.
|
||||
p.As = AMOVD
|
||||
p.From.Type = obj.TYPE_MEM
|
||||
p.From.Reg = REGSP
|
||||
p.From.Offset = -8
|
||||
p.To.Type = obj.TYPE_REG
|
||||
p.To.Reg = REGFP
|
||||
p = obj.Appendp(p, c.newprog)
|
||||
|
||||
aoffset := c.autosize
|
||||
|
||||
|
|
@ -820,6 +818,28 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym, newprog obj.ProgAlloc) {
|
|||
}
|
||||
}
|
||||
|
||||
// If enabled, this code emits 'MOV PC, R27' before every 'MOV LR, PC',
|
||||
// so that if you are debugging a low-level crash where PC and LR are zero,
|
||||
// you can look at R27 to see what jumped to the zero.
|
||||
// This is useful when bringing up Go on a new system.
|
||||
// (There is similar code in ../ppc64/obj9.go:/if.false.)
|
||||
const debugRETZERO = false
|
||||
if debugRETZERO {
|
||||
if p.As != obj.ARET {
|
||||
q = newprog()
|
||||
q.Pos = p.Pos
|
||||
q.Link = p.Link
|
||||
p.Link = q
|
||||
p = q
|
||||
}
|
||||
p.As = AADR
|
||||
p.From.Type = obj.TYPE_BRANCH
|
||||
p.From.Offset = 0
|
||||
p.To.Type = obj.TYPE_REG
|
||||
p.To.Reg = REGTMP
|
||||
|
||||
}
|
||||
|
||||
if p.As != obj.ARET {
|
||||
q = newprog()
|
||||
q.Pos = p.Pos
|
||||
|
|
@ -865,109 +885,120 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym, newprog obj.ProgAlloc) {
|
|||
}
|
||||
|
||||
case obj.ADUFFCOPY:
|
||||
if objabi.Framepointer_enabled {
|
||||
// ADR ret_addr, R27
|
||||
// STP (FP, R27), -24(SP)
|
||||
// SUB 24, SP, FP
|
||||
// DUFFCOPY
|
||||
// ret_addr:
|
||||
// SUB 8, SP, FP
|
||||
// ADR ret_addr, R27
|
||||
// STP (FP, R27), -24(SP)
|
||||
// SUB 24, SP, FP
|
||||
// DUFFCOPY
|
||||
// ret_addr:
|
||||
// SUB 8, SP, FP
|
||||
|
||||
q1 := p
|
||||
// copy DUFFCOPY from q1 to q4
|
||||
q4 := obj.Appendp(p, c.newprog)
|
||||
q4.Pos = p.Pos
|
||||
q4.As = obj.ADUFFCOPY
|
||||
q4.To = p.To
|
||||
q1 := p
|
||||
// copy DUFFCOPY from q1 to q4
|
||||
q4 := obj.Appendp(p, c.newprog)
|
||||
q4.Pos = p.Pos
|
||||
q4.As = obj.ADUFFCOPY
|
||||
q4.To = p.To
|
||||
|
||||
q1.As = AADR
|
||||
q1.From.Type = obj.TYPE_BRANCH
|
||||
q1.To.Type = obj.TYPE_REG
|
||||
q1.To.Reg = REG_R27
|
||||
q1.As = AADR
|
||||
q1.From.Type = obj.TYPE_BRANCH
|
||||
q1.To.Type = obj.TYPE_REG
|
||||
q1.To.Reg = REG_R27
|
||||
|
||||
q2 := obj.Appendp(q1, c.newprog)
|
||||
q2.Pos = p.Pos
|
||||
q2.As = ASTP
|
||||
q2.From.Type = obj.TYPE_REGREG
|
||||
q2.From.Reg = REGFP
|
||||
q2.From.Offset = int64(REG_R27)
|
||||
q2.To.Type = obj.TYPE_MEM
|
||||
q2.To.Reg = REGSP
|
||||
q2.To.Offset = -24
|
||||
q2 := obj.Appendp(q1, c.newprog)
|
||||
q2.Pos = p.Pos
|
||||
q2.As = ASTP
|
||||
q2.From.Type = obj.TYPE_REGREG
|
||||
q2.From.Reg = REGFP
|
||||
q2.From.Offset = int64(REG_R27)
|
||||
q2.To.Type = obj.TYPE_MEM
|
||||
q2.To.Reg = REGSP
|
||||
q2.To.Offset = -24
|
||||
|
||||
// maintaine FP for DUFFCOPY
|
||||
q3 := obj.Appendp(q2, c.newprog)
|
||||
q3.Pos = p.Pos
|
||||
q3.As = ASUB
|
||||
q3.From.Type = obj.TYPE_CONST
|
||||
q3.From.Offset = 24
|
||||
q3.Reg = REGSP
|
||||
q3.To.Type = obj.TYPE_REG
|
||||
q3.To.Reg = REGFP
|
||||
// maintain FP for DUFFCOPY
|
||||
q3 := obj.Appendp(q2, c.newprog)
|
||||
q3.Pos = p.Pos
|
||||
q3.As = ASUB
|
||||
q3.From.Type = obj.TYPE_CONST
|
||||
q3.From.Offset = 24
|
||||
q3.Reg = REGSP
|
||||
q3.To.Type = obj.TYPE_REG
|
||||
q3.To.Reg = REGFP
|
||||
|
||||
q5 := obj.Appendp(q4, c.newprog)
|
||||
q5.Pos = p.Pos
|
||||
q5.As = ASUB
|
||||
q5.From.Type = obj.TYPE_CONST
|
||||
q5.From.Offset = 8
|
||||
q5.Reg = REGSP
|
||||
q5.To.Type = obj.TYPE_REG
|
||||
q5.To.Reg = REGFP
|
||||
q1.From.SetTarget(q5)
|
||||
p = q5
|
||||
}
|
||||
q5 := obj.Appendp(q4, c.newprog)
|
||||
q5.Pos = p.Pos
|
||||
q5.As = ASUB
|
||||
q5.From.Type = obj.TYPE_CONST
|
||||
q5.From.Offset = 8
|
||||
q5.Reg = REGSP
|
||||
q5.To.Type = obj.TYPE_REG
|
||||
q5.To.Reg = REGFP
|
||||
q1.From.SetTarget(q5)
|
||||
p = q5
|
||||
|
||||
case obj.ADUFFZERO:
|
||||
if objabi.Framepointer_enabled {
|
||||
// ADR ret_addr, R27
|
||||
// STP (FP, R27), -24(SP)
|
||||
// SUB 24, SP, FP
|
||||
// DUFFZERO
|
||||
// ret_addr:
|
||||
// SUB 8, SP, FP
|
||||
// ADR ret_addr, R27
|
||||
// STP (FP, R27), -24(SP)
|
||||
// SUB 24, SP, FP
|
||||
// DUFFZERO
|
||||
// ret_addr:
|
||||
// SUB 8, SP, FP
|
||||
|
||||
q1 := p
|
||||
// copy DUFFZERO from q1 to q4
|
||||
q4 := obj.Appendp(p, c.newprog)
|
||||
q4.Pos = p.Pos
|
||||
q4.As = obj.ADUFFZERO
|
||||
q4.To = p.To
|
||||
q1 := p
|
||||
// copy DUFFZERO from q1 to q4
|
||||
q4 := obj.Appendp(p, c.newprog)
|
||||
q4.Pos = p.Pos
|
||||
q4.As = obj.ADUFFZERO
|
||||
q4.To = p.To
|
||||
|
||||
q1.As = AADR
|
||||
q1.From.Type = obj.TYPE_BRANCH
|
||||
q1.To.Type = obj.TYPE_REG
|
||||
q1.To.Reg = REG_R27
|
||||
q1.As = AADR
|
||||
q1.From.Type = obj.TYPE_BRANCH
|
||||
q1.To.Type = obj.TYPE_REG
|
||||
q1.To.Reg = REG_R27
|
||||
|
||||
q2 := obj.Appendp(q1, c.newprog)
|
||||
q2.Pos = p.Pos
|
||||
q2.As = ASTP
|
||||
q2.From.Type = obj.TYPE_REGREG
|
||||
q2.From.Reg = REGFP
|
||||
q2.From.Offset = int64(REG_R27)
|
||||
q2.To.Type = obj.TYPE_MEM
|
||||
q2.To.Reg = REGSP
|
||||
q2.To.Offset = -24
|
||||
q2 := obj.Appendp(q1, c.newprog)
|
||||
q2.Pos = p.Pos
|
||||
q2.As = ASTP
|
||||
q2.From.Type = obj.TYPE_REGREG
|
||||
q2.From.Reg = REGFP
|
||||
q2.From.Offset = int64(REG_R27)
|
||||
q2.To.Type = obj.TYPE_MEM
|
||||
q2.To.Reg = REGSP
|
||||
q2.To.Offset = -24
|
||||
|
||||
// maintaine FP for DUFFZERO
|
||||
q3 := obj.Appendp(q2, c.newprog)
|
||||
q3.Pos = p.Pos
|
||||
q3.As = ASUB
|
||||
q3.From.Type = obj.TYPE_CONST
|
||||
q3.From.Offset = 24
|
||||
q3.Reg = REGSP
|
||||
q3.To.Type = obj.TYPE_REG
|
||||
q3.To.Reg = REGFP
|
||||
// maintain FP for DUFFZERO
|
||||
q3 := obj.Appendp(q2, c.newprog)
|
||||
q3.Pos = p.Pos
|
||||
q3.As = ASUB
|
||||
q3.From.Type = obj.TYPE_CONST
|
||||
q3.From.Offset = 24
|
||||
q3.Reg = REGSP
|
||||
q3.To.Type = obj.TYPE_REG
|
||||
q3.To.Reg = REGFP
|
||||
|
||||
q5 := obj.Appendp(q4, c.newprog)
|
||||
q5.Pos = p.Pos
|
||||
q5.As = ASUB
|
||||
q5.From.Type = obj.TYPE_CONST
|
||||
q5.From.Offset = 8
|
||||
q5.Reg = REGSP
|
||||
q5.To.Type = obj.TYPE_REG
|
||||
q5.To.Reg = REGFP
|
||||
q1.From.SetTarget(q5)
|
||||
p = q5
|
||||
q5 := obj.Appendp(q4, c.newprog)
|
||||
q5.Pos = p.Pos
|
||||
q5.As = ASUB
|
||||
q5.From.Type = obj.TYPE_CONST
|
||||
q5.From.Offset = 8
|
||||
q5.Reg = REGSP
|
||||
q5.To.Type = obj.TYPE_REG
|
||||
q5.To.Reg = REGFP
|
||||
q1.From.SetTarget(q5)
|
||||
p = q5
|
||||
}
|
||||
|
||||
if p.To.Type == obj.TYPE_REG && p.To.Reg == REGSP && p.Spadj == 0 {
|
||||
f := c.cursym.Func()
|
||||
if f.FuncFlag&objabi.FuncFlag_SPWRITE == 0 {
|
||||
c.cursym.Func().FuncFlag |= objabi.FuncFlag_SPWRITE
|
||||
if ctxt.Debugvlog || !ctxt.IsAsm {
|
||||
ctxt.Logf("auto-SPWRITE: %s %v\n", c.cursym.Name, p)
|
||||
if !ctxt.IsAsm {
|
||||
ctxt.Diag("invalid auto-SPWRITE in non-assembly")
|
||||
ctxt.DiagFlush()
|
||||
log.Fatalf("bad SPWRITE")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -454,6 +454,7 @@ type FuncInfo struct {
|
|||
Locals int32
|
||||
Align int32
|
||||
FuncID objabi.FuncID
|
||||
FuncFlag objabi.FuncFlag
|
||||
Text *Prog
|
||||
Autot map[*LSym]struct{}
|
||||
Pcln Pcln
|
||||
|
|
@ -619,10 +620,6 @@ const (
|
|||
// target of an inline during compilation
|
||||
AttrWasInlined
|
||||
|
||||
// TopFrame means that this function is an entry point and unwinders should not
|
||||
// keep unwinding beyond this frame.
|
||||
AttrTopFrame
|
||||
|
||||
// Indexed indicates this symbol has been assigned with an index (when using the
|
||||
// new object file format).
|
||||
AttrIndexed
|
||||
|
|
@ -663,7 +660,6 @@ func (a *Attribute) NeedCtxt() bool { return a.load()&AttrNeedCtxt !=
|
|||
func (a *Attribute) NoFrame() bool { return a.load()&AttrNoFrame != 0 }
|
||||
func (a *Attribute) Static() bool { return a.load()&AttrStatic != 0 }
|
||||
func (a *Attribute) WasInlined() bool { return a.load()&AttrWasInlined != 0 }
|
||||
func (a *Attribute) TopFrame() bool { return a.load()&AttrTopFrame != 0 }
|
||||
func (a *Attribute) Indexed() bool { return a.load()&AttrIndexed != 0 }
|
||||
func (a *Attribute) UsedInIface() bool { return a.load()&AttrUsedInIface != 0 }
|
||||
func (a *Attribute) ContentAddressable() bool { return a.load()&AttrContentAddressable != 0 }
|
||||
|
|
@ -713,14 +709,13 @@ var textAttrStrings = [...]struct {
|
|||
{bit: AttrNoFrame, s: "NOFRAME"},
|
||||
{bit: AttrStatic, s: "STATIC"},
|
||||
{bit: AttrWasInlined, s: ""},
|
||||
{bit: AttrTopFrame, s: "TOPFRAME"},
|
||||
{bit: AttrIndexed, s: ""},
|
||||
{bit: AttrContentAddressable, s: ""},
|
||||
{bit: AttrABIWrapper, s: "ABIWRAPPER"},
|
||||
}
|
||||
|
||||
// TextAttrString formats a for printing in as part of a TEXT prog.
|
||||
func (a Attribute) TextAttrString() string {
|
||||
// String formats a for printing in as part of a TEXT prog.
|
||||
func (a Attribute) String() string {
|
||||
var s string
|
||||
for _, x := range textAttrStrings {
|
||||
if a&x.bit != 0 {
|
||||
|
|
@ -746,6 +741,18 @@ func (a Attribute) TextAttrString() string {
|
|||
return s
|
||||
}
|
||||
|
||||
// TextAttrString formats the symbol attributes for printing in as part of a TEXT prog.
|
||||
func (s *LSym) TextAttrString() string {
|
||||
attr := s.Attribute.String()
|
||||
if s.Func().FuncFlag&objabi.FuncFlag_TOPFRAME != 0 {
|
||||
if attr != "" {
|
||||
attr += "|"
|
||||
}
|
||||
attr += "TOPFRAME"
|
||||
}
|
||||
return attr
|
||||
}
|
||||
|
||||
func (s *LSym) String() string {
|
||||
return s.Name
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ import (
|
|||
"cmd/internal/sys"
|
||||
"encoding/binary"
|
||||
"fmt"
|
||||
"log"
|
||||
"math"
|
||||
)
|
||||
|
||||
|
|
@ -536,6 +537,21 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym, newprog obj.ProgAlloc) {
|
|||
p.From.Reg = REGSP
|
||||
}
|
||||
}
|
||||
|
||||
if p.To.Type == obj.TYPE_REG && p.To.Reg == REGSP && p.Spadj == 0 {
|
||||
f := c.cursym.Func()
|
||||
if f.FuncFlag&objabi.FuncFlag_SPWRITE == 0 {
|
||||
c.cursym.Func().FuncFlag |= objabi.FuncFlag_SPWRITE
|
||||
if ctxt.Debugvlog || !ctxt.IsAsm {
|
||||
ctxt.Logf("auto-SPWRITE: %s %v\n", c.cursym.Name, p)
|
||||
if !ctxt.IsAsm {
|
||||
ctxt.Diag("invalid auto-SPWRITE in non-assembly")
|
||||
ctxt.DiagFlush()
|
||||
log.Fatalf("bad SPWRITE")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if c.ctxt.Arch.Family == sys.MIPS {
|
||||
|
|
|
|||
|
|
@ -330,9 +330,6 @@ func (w *writer) Sym(s *LSym) {
|
|||
if s.ReflectMethod() {
|
||||
flag |= goobj.SymFlagReflectMethod
|
||||
}
|
||||
if s.TopFrame() {
|
||||
flag |= goobj.SymFlagTopFrame
|
||||
}
|
||||
if strings.HasPrefix(s.Name, "type.") && s.Name[5] != '.' && s.Type == objabi.SRODATA {
|
||||
flag |= goobj.SymFlagGoType
|
||||
}
|
||||
|
|
@ -673,9 +670,10 @@ func genFuncInfoSyms(ctxt *Link) {
|
|||
continue
|
||||
}
|
||||
o := goobj.FuncInfo{
|
||||
Args: uint32(fn.Args),
|
||||
Locals: uint32(fn.Locals),
|
||||
FuncID: objabi.FuncID(fn.FuncID),
|
||||
Args: uint32(fn.Args),
|
||||
Locals: uint32(fn.Locals),
|
||||
FuncID: fn.FuncID,
|
||||
FuncFlag: fn.FuncFlag,
|
||||
}
|
||||
pc := &fn.Pcln
|
||||
o.Pcsp = makeSymRef(preparePcSym(pc.Pcsp))
|
||||
|
|
@ -788,7 +786,7 @@ func (ctxt *Link) writeSymDebugNamed(s *LSym, name string) {
|
|||
if s.NoSplit() {
|
||||
fmt.Fprintf(ctxt.Bso, "nosplit ")
|
||||
}
|
||||
if s.TopFrame() {
|
||||
if s.Func() != nil && s.Func().FuncFlag&objabi.FuncFlag_TOPFRAME != 0 {
|
||||
fmt.Fprintf(ctxt.Bso, "topframe ")
|
||||
}
|
||||
fmt.Fprintf(ctxt.Bso, "size=%d", s.Size)
|
||||
|
|
|
|||
|
|
@ -134,6 +134,7 @@ func (ctxt *Link) InitTextSym(s *LSym, flag int) {
|
|||
}
|
||||
name := strings.Replace(s.Name, "\"\"", ctxt.Pkgpath, -1)
|
||||
s.Func().FuncID = objabi.GetFuncID(name, flag&WRAPPER != 0)
|
||||
s.Func().FuncFlag = toFuncFlag(flag)
|
||||
s.Set(AttrOnList, true)
|
||||
s.Set(AttrDuplicateOK, flag&DUPOK != 0)
|
||||
s.Set(AttrNoSplit, flag&NOSPLIT != 0)
|
||||
|
|
@ -142,7 +143,6 @@ func (ctxt *Link) InitTextSym(s *LSym, flag int) {
|
|||
s.Set(AttrABIWrapper, flag&ABIWRAPPER != 0)
|
||||
s.Set(AttrNeedCtxt, flag&NEEDCTXT != 0)
|
||||
s.Set(AttrNoFrame, flag&NOFRAME != 0)
|
||||
s.Set(AttrTopFrame, flag&TOPFRAME != 0)
|
||||
s.Type = objabi.STEXT
|
||||
ctxt.Text = append(ctxt.Text, s)
|
||||
|
||||
|
|
@ -150,6 +150,14 @@ func (ctxt *Link) InitTextSym(s *LSym, flag int) {
|
|||
ctxt.dwarfSym(s)
|
||||
}
|
||||
|
||||
func toFuncFlag(flag int) objabi.FuncFlag {
|
||||
var out objabi.FuncFlag
|
||||
if flag&TOPFRAME != 0 {
|
||||
out |= objabi.FuncFlag_TOPFRAME
|
||||
}
|
||||
return out
|
||||
}
|
||||
|
||||
func (ctxt *Link) Globl(s *LSym, size int64, flag int) {
|
||||
if s.OnList() {
|
||||
ctxt.Diag("symbol %s listed multiple times", s.Name)
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ import (
|
|||
"cmd/internal/objabi"
|
||||
"cmd/internal/src"
|
||||
"cmd/internal/sys"
|
||||
"log"
|
||||
)
|
||||
|
||||
func progedit(ctxt *obj.Link, p *obj.Prog, newprog obj.ProgAlloc) {
|
||||
|
|
@ -984,6 +985,21 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym, newprog obj.ProgAlloc) {
|
|||
p.From.Reg = REGSP
|
||||
}
|
||||
}
|
||||
|
||||
if p.To.Type == obj.TYPE_REG && p.To.Reg == REGSP && p.Spadj == 0 && p.As != ACMPU {
|
||||
f := c.cursym.Func()
|
||||
if f.FuncFlag&objabi.FuncFlag_SPWRITE == 0 {
|
||||
c.cursym.Func().FuncFlag |= objabi.FuncFlag_SPWRITE
|
||||
if ctxt.Debugvlog || !ctxt.IsAsm {
|
||||
ctxt.Logf("auto-SPWRITE: %s %v\n", c.cursym.Name, p)
|
||||
if !ctxt.IsAsm {
|
||||
ctxt.Diag("invalid auto-SPWRITE in non-assembly")
|
||||
ctxt.DiagFlush()
|
||||
log.Fatalf("bad SPWRITE")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ import (
|
|||
"cmd/internal/objabi"
|
||||
"cmd/internal/sys"
|
||||
"fmt"
|
||||
"log"
|
||||
)
|
||||
|
||||
func buildop(ctxt *obj.Link) {}
|
||||
|
|
@ -119,7 +120,7 @@ func progedit(ctxt *obj.Link, p *obj.Prog, newprog obj.ProgAlloc) {
|
|||
switch p.To.Name {
|
||||
case obj.NAME_NONE:
|
||||
p.As = AJALR
|
||||
case obj.NAME_EXTERN:
|
||||
case obj.NAME_EXTERN, obj.NAME_STATIC:
|
||||
// Handled in preprocess.
|
||||
default:
|
||||
ctxt.Diag("unsupported name %d for %v", p.To.Name, p)
|
||||
|
|
@ -267,7 +268,7 @@ func rewriteMOV(ctxt *obj.Link, newprog obj.ProgAlloc, p *obj.Prog) {
|
|||
p.As = movToStore(p.As)
|
||||
p.To.Reg = addrToReg(p.To)
|
||||
|
||||
case obj.NAME_EXTERN:
|
||||
case obj.NAME_EXTERN, obj.NAME_STATIC:
|
||||
// AUIPC $off_hi, TMP
|
||||
// S $off_lo, TMP, R
|
||||
as := p.As
|
||||
|
|
@ -666,7 +667,7 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym, newprog obj.ProgAlloc) {
|
|||
switch p.To.Type {
|
||||
case obj.TYPE_MEM:
|
||||
switch p.To.Name {
|
||||
case obj.NAME_EXTERN:
|
||||
case obj.NAME_EXTERN, obj.NAME_STATIC:
|
||||
// JMP to symbol.
|
||||
jalrToSym(ctxt, p, newprog, REG_ZERO)
|
||||
}
|
||||
|
|
@ -716,6 +717,21 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym, newprog obj.ProgAlloc) {
|
|||
p.Spadj = int32(-p.From.Offset)
|
||||
}
|
||||
}
|
||||
|
||||
if p.To.Type == obj.TYPE_REG && p.To.Reg == REGSP && p.Spadj == 0 {
|
||||
f := cursym.Func()
|
||||
if f.FuncFlag&objabi.FuncFlag_SPWRITE == 0 {
|
||||
f.FuncFlag |= objabi.FuncFlag_SPWRITE
|
||||
if ctxt.Debugvlog || !ctxt.IsAsm {
|
||||
ctxt.Logf("auto-SPWRITE: %s %v\n", cursym.Name, p)
|
||||
if !ctxt.IsAsm {
|
||||
ctxt.Diag("invalid auto-SPWRITE in non-assembly")
|
||||
ctxt.DiagFlush()
|
||||
log.Fatalf("bad SPWRITE")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Rewrite MOV pseudo-instructions. This cannot be done in
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ import (
|
|||
"cmd/internal/obj"
|
||||
"cmd/internal/objabi"
|
||||
"cmd/internal/sys"
|
||||
"log"
|
||||
"math"
|
||||
)
|
||||
|
||||
|
|
@ -545,6 +546,21 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym, newprog obj.ProgAlloc) {
|
|||
p.From.Reg = REGSP
|
||||
}
|
||||
}
|
||||
|
||||
if p.To.Type == obj.TYPE_REG && p.To.Reg == REGSP && p.Spadj == 0 {
|
||||
f := c.cursym.Func()
|
||||
if f.FuncFlag&objabi.FuncFlag_SPWRITE == 0 {
|
||||
c.cursym.Func().FuncFlag |= objabi.FuncFlag_SPWRITE
|
||||
if ctxt.Debugvlog || !ctxt.IsAsm {
|
||||
ctxt.Logf("auto-SPWRITE: %s\n", c.cursym.Name)
|
||||
if !ctxt.IsAsm {
|
||||
ctxt.Diag("invalid auto-SPWRITE in non-assembly")
|
||||
ctxt.DiagFlush()
|
||||
log.Fatalf("bad SPWRITE")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if wasSplit {
|
||||
c.stacksplitPost(pLast, pPre, pPreempt, autosize) // emit post part of split check
|
||||
|
|
|
|||
|
|
@ -187,7 +187,7 @@ func (p *Prog) WriteInstructionString(w io.Writer) {
|
|||
// In short, print one of these two:
|
||||
// TEXT foo(SB), DUPOK|NOSPLIT, $0
|
||||
// TEXT foo(SB), $0
|
||||
s := p.From.Sym.Attribute.TextAttrString()
|
||||
s := p.From.Sym.TextAttrString()
|
||||
if s != "" {
|
||||
fmt.Fprintf(w, "%s%s", sep, s)
|
||||
sep = ", "
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ import (
|
|||
"cmd/internal/objabi"
|
||||
"cmd/internal/src"
|
||||
"cmd/internal/sys"
|
||||
"log"
|
||||
"math"
|
||||
"strings"
|
||||
)
|
||||
|
|
@ -839,6 +840,20 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym, newprog obj.ProgAlloc) {
|
|||
|
||||
switch p.As {
|
||||
default:
|
||||
if p.To.Type == obj.TYPE_REG && p.To.Reg == REG_SP && p.As != ACMPL && p.As != ACMPQ {
|
||||
f := cursym.Func()
|
||||
if f.FuncFlag&objabi.FuncFlag_SPWRITE == 0 {
|
||||
f.FuncFlag |= objabi.FuncFlag_SPWRITE
|
||||
if ctxt.Debugvlog || !ctxt.IsAsm {
|
||||
ctxt.Logf("auto-SPWRITE: %s %v\n", cursym.Name, p)
|
||||
if !ctxt.IsAsm {
|
||||
ctxt.Diag("invalid auto-SPWRITE in non-assembly")
|
||||
ctxt.DiagFlush()
|
||||
log.Fatalf("bad SPWRITE")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
continue
|
||||
|
||||
case APUSHL, APUSHFL:
|
||||
|
|
|
|||
|
|
@ -4,97 +4,89 @@
|
|||
|
||||
package objabi
|
||||
|
||||
import "strings"
|
||||
|
||||
// A FuncFlag records bits about a function, passed to the runtime.
|
||||
type FuncFlag uint8
|
||||
|
||||
// Note: This list must match the list in runtime/symtab.go.
|
||||
const (
|
||||
FuncFlag_TOPFRAME = 1 << iota
|
||||
FuncFlag_SPWRITE
|
||||
)
|
||||
|
||||
// A FuncID identifies particular functions that need to be treated
|
||||
// specially by the runtime.
|
||||
// Note that in some situations involving plugins, there may be multiple
|
||||
// copies of a particular special runtime function.
|
||||
// Note: this list must match the list in runtime/symtab.go.
|
||||
type FuncID uint8
|
||||
|
||||
// Note: this list must match the list in runtime/symtab.go.
|
||||
const (
|
||||
FuncID_normal FuncID = iota // not a special function
|
||||
FuncID_runtime_main
|
||||
FuncID_asmcgocall
|
||||
FuncID_asyncPreempt
|
||||
FuncID_cgocallback
|
||||
FuncID_debugCallV1
|
||||
FuncID_externalthreadhandler
|
||||
FuncID_gcBgMarkWorker
|
||||
FuncID_goexit
|
||||
FuncID_gogo
|
||||
FuncID_gopanic
|
||||
FuncID_handleAsyncEvent
|
||||
FuncID_jmpdefer
|
||||
FuncID_mcall
|
||||
FuncID_morestack
|
||||
FuncID_mstart
|
||||
FuncID_rt0_go
|
||||
FuncID_asmcgocall
|
||||
FuncID_sigpanic
|
||||
FuncID_runfinq
|
||||
FuncID_gcBgMarkWorker
|
||||
FuncID_systemstack_switch
|
||||
FuncID_systemstack
|
||||
FuncID_cgocallback
|
||||
FuncID_gogo
|
||||
FuncID_externalthreadhandler
|
||||
FuncID_debugCallV1
|
||||
FuncID_gopanic
|
||||
FuncID_panicwrap
|
||||
FuncID_handleAsyncEvent
|
||||
FuncID_asyncPreempt
|
||||
FuncID_rt0_go
|
||||
FuncID_runfinq
|
||||
FuncID_runtime_main
|
||||
FuncID_sigpanic
|
||||
FuncID_systemstack
|
||||
FuncID_systemstack_switch
|
||||
FuncID_wrapper // any autogenerated code (hash/eq algorithms, method wrappers, etc.)
|
||||
)
|
||||
|
||||
var funcIDs = map[string]FuncID{
|
||||
"asmcgocall": FuncID_asmcgocall,
|
||||
"asyncPreempt": FuncID_asyncPreempt,
|
||||
"cgocallback": FuncID_cgocallback,
|
||||
"debugCallV1": FuncID_debugCallV1,
|
||||
"externalthreadhandler": FuncID_externalthreadhandler,
|
||||
"gcBgMarkWorker": FuncID_gcBgMarkWorker,
|
||||
"go": FuncID_rt0_go,
|
||||
"goexit": FuncID_goexit,
|
||||
"gogo": FuncID_gogo,
|
||||
"gopanic": FuncID_gopanic,
|
||||
"handleAsyncEvent": FuncID_handleAsyncEvent,
|
||||
"jmpdefer": FuncID_jmpdefer,
|
||||
"main": FuncID_runtime_main,
|
||||
"mcall": FuncID_mcall,
|
||||
"morestack": FuncID_morestack,
|
||||
"mstart": FuncID_mstart,
|
||||
"panicwrap": FuncID_panicwrap,
|
||||
"runfinq": FuncID_runfinq,
|
||||
"sigpanic": FuncID_sigpanic,
|
||||
"switch": FuncID_systemstack_switch,
|
||||
"systemstack": FuncID_systemstack,
|
||||
|
||||
// Don't show in call stack but otherwise not special.
|
||||
"deferreturn": FuncID_wrapper,
|
||||
"runOpenDeferFrame": FuncID_wrapper,
|
||||
"reflectcallSave": FuncID_wrapper,
|
||||
}
|
||||
|
||||
// Get the function ID for the named function in the named file.
|
||||
// The function should be package-qualified.
|
||||
func GetFuncID(name string, isWrapper bool) FuncID {
|
||||
if isWrapper {
|
||||
return FuncID_wrapper
|
||||
}
|
||||
switch name {
|
||||
case "runtime.main":
|
||||
return FuncID_runtime_main
|
||||
case "runtime.goexit":
|
||||
return FuncID_goexit
|
||||
case "runtime.jmpdefer":
|
||||
return FuncID_jmpdefer
|
||||
case "runtime.mcall":
|
||||
return FuncID_mcall
|
||||
case "runtime.morestack":
|
||||
return FuncID_morestack
|
||||
case "runtime.mstart":
|
||||
return FuncID_mstart
|
||||
case "runtime.rt0_go":
|
||||
return FuncID_rt0_go
|
||||
case "runtime.asmcgocall":
|
||||
return FuncID_asmcgocall
|
||||
case "runtime.sigpanic":
|
||||
return FuncID_sigpanic
|
||||
case "runtime.runfinq":
|
||||
return FuncID_runfinq
|
||||
case "runtime.gcBgMarkWorker":
|
||||
return FuncID_gcBgMarkWorker
|
||||
case "runtime.systemstack_switch":
|
||||
return FuncID_systemstack_switch
|
||||
case "runtime.systemstack":
|
||||
return FuncID_systemstack
|
||||
case "runtime.cgocallback":
|
||||
return FuncID_cgocallback
|
||||
case "runtime.gogo":
|
||||
return FuncID_gogo
|
||||
case "runtime.externalthreadhandler":
|
||||
return FuncID_externalthreadhandler
|
||||
case "runtime.debugCallV1":
|
||||
return FuncID_debugCallV1
|
||||
case "runtime.gopanic":
|
||||
return FuncID_gopanic
|
||||
case "runtime.panicwrap":
|
||||
return FuncID_panicwrap
|
||||
case "runtime.handleAsyncEvent":
|
||||
return FuncID_handleAsyncEvent
|
||||
case "runtime.asyncPreempt":
|
||||
return FuncID_asyncPreempt
|
||||
case "runtime.deferreturn":
|
||||
// Don't show in the call stack (used when invoking defer functions)
|
||||
return FuncID_wrapper
|
||||
case "runtime.runOpenDeferFrame":
|
||||
// Don't show in the call stack (used when invoking defer functions)
|
||||
return FuncID_wrapper
|
||||
case "runtime.reflectcallSave":
|
||||
// Don't show in the call stack (used when invoking defer functions)
|
||||
return FuncID_wrapper
|
||||
if strings.HasPrefix(name, "runtime.") {
|
||||
if id, ok := funcIDs[name[len("runtime."):]]; ok {
|
||||
return id
|
||||
}
|
||||
}
|
||||
return FuncID_normal
|
||||
}
|
||||
|
|
|
|||
|
|
@ -137,7 +137,7 @@ func init() {
|
|||
}
|
||||
|
||||
// Note: must agree with runtime.framepointer_enabled.
|
||||
var Framepointer_enabled = GOARCH == "amd64" || GOARCH == "arm64" && (GOOS == "linux" || GOOS == "darwin" || GOOS == "ios")
|
||||
var Framepointer_enabled = GOARCH == "amd64" || GOARCH == "arm64"
|
||||
|
||||
func addexp(s string) {
|
||||
// Could do general integer parsing here, but the runtime copy doesn't yet.
|
||||
|
|
|
|||
|
|
@ -189,6 +189,8 @@ func (f *peFile) goarch() string {
|
|||
return "amd64"
|
||||
case pe.IMAGE_FILE_MACHINE_ARMNT:
|
||||
return "arm"
|
||||
case pe.IMAGE_FILE_MACHINE_ARM64:
|
||||
return "arm64"
|
||||
default:
|
||||
return ""
|
||||
}
|
||||
|
|
|
|||
|
|
@ -568,6 +568,40 @@ func machoreloc1(arch *sys.Arch, out *ld.OutBuf, ldr *loader.Loader, s loader.Sy
|
|||
return true
|
||||
}
|
||||
|
||||
func pereloc1(arch *sys.Arch, out *ld.OutBuf, ldr *loader.Loader, s loader.Sym, r loader.ExtReloc, sectoff int64) bool {
|
||||
var v uint32
|
||||
|
||||
rs := r.Xsym
|
||||
rt := r.Type
|
||||
|
||||
if ldr.SymDynid(rs) < 0 {
|
||||
ldr.Errorf(s, "reloc %d (%s) to non-coff symbol %s type=%d (%s)", rt, sym.RelocName(arch, rt), ldr.SymName(rs), ldr.SymType(rs), ldr.SymType(rs))
|
||||
return false
|
||||
}
|
||||
|
||||
out.Write32(uint32(sectoff))
|
||||
out.Write32(uint32(ldr.SymDynid(rs)))
|
||||
|
||||
switch rt {
|
||||
default:
|
||||
return false
|
||||
|
||||
case objabi.R_DWARFSECREF:
|
||||
v = ld.IMAGE_REL_ARM64_SECREL
|
||||
|
||||
case objabi.R_ADDR:
|
||||
if r.Size == 8 {
|
||||
v = ld.IMAGE_REL_ARM64_ADDR64
|
||||
} else {
|
||||
v = ld.IMAGE_REL_ARM64_ADDR32
|
||||
}
|
||||
}
|
||||
|
||||
out.Write16(uint16(v))
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
func archreloc(target *ld.Target, ldr *loader.Loader, syms *ld.ArchSyms, r loader.Reloc, s loader.Sym, val int64) (int64, int, bool) {
|
||||
const noExtReloc = 0
|
||||
const isOk = true
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@ func Init() (*sys.Arch, ld.Arch) {
|
|||
GenSymsLate: gensymlate,
|
||||
Machoreloc1: machoreloc1,
|
||||
MachorelocSize: 8,
|
||||
PEreloc1: pereloc1,
|
||||
|
||||
Androiddynld: "/system/bin/linker64",
|
||||
Linuxdynld: "/lib/ld-linux-aarch64.so.1",
|
||||
|
|
@ -108,5 +109,9 @@ func archinit(ctxt *ld.Link) {
|
|||
if *ld.FlagRound == -1 {
|
||||
*ld.FlagRound = 16384 // 16K page alignment
|
||||
}
|
||||
|
||||
case objabi.Hwindows: /* PE executable */
|
||||
// ld.HEADR, ld.FlagTextAddr, ld.FlagRound are set in ld.Peinit
|
||||
return
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ func (mode *BuildMode) Set(s string) error {
|
|||
return fmt.Errorf("invalid buildmode: %q", s)
|
||||
case "exe":
|
||||
switch objabi.GOOS + "/" + objabi.GOARCH {
|
||||
case "darwin/arm64", "windows/arm": // On these platforms, everything is PIE
|
||||
case "darwin/arm64", "windows/arm", "windows/arm64": // On these platforms, everything is PIE
|
||||
*mode = BuildModePIE
|
||||
default:
|
||||
*mode = BuildModeExe
|
||||
|
|
@ -65,7 +65,7 @@ func (mode *BuildMode) Set(s string) error {
|
|||
}
|
||||
case "windows":
|
||||
switch objabi.GOARCH {
|
||||
case "amd64", "386", "arm":
|
||||
case "amd64", "386", "arm", "arm64":
|
||||
default:
|
||||
return badmode()
|
||||
}
|
||||
|
|
@ -220,7 +220,7 @@ func mustLinkExternal(ctxt *Link) (res bool, reason string) {
|
|||
case BuildModePIE:
|
||||
switch objabi.GOOS + "/" + objabi.GOARCH {
|
||||
case "linux/amd64", "linux/arm64", "android/arm64":
|
||||
case "windows/386", "windows/amd64", "windows/arm":
|
||||
case "windows/386", "windows/amd64", "windows/arm", "windows/arm64":
|
||||
case "darwin/amd64", "darwin/arm64":
|
||||
default:
|
||||
// Internal linking does not support TLS_IE.
|
||||
|
|
|
|||
|
|
@ -91,6 +91,10 @@ func (d *deadcodePass) init() {
|
|||
names = append(names, exp)
|
||||
}
|
||||
|
||||
if d.ctxt.Debugvlog > 1 {
|
||||
d.ctxt.Logf("deadcode start names: %v\n", names)
|
||||
}
|
||||
|
||||
for _, name := range names {
|
||||
// Mark symbol as a data/ABI0 symbol.
|
||||
d.mark(d.ldr.Lookup(name, 0), 0)
|
||||
|
|
|
|||
|
|
@ -1454,7 +1454,7 @@ func (d *dwctxt) writeframes(fs loader.Sym) dwarfSecInfo {
|
|||
// Emit a FDE, Section 6.4.1.
|
||||
// First build the section contents into a byte buffer.
|
||||
deltaBuf = deltaBuf[:0]
|
||||
if haslr && d.ldr.AttrTopFrame(fn) {
|
||||
if haslr && fi.TopFrame() {
|
||||
// Mark the link register as having an undefined value.
|
||||
// This stops call stack unwinders progressing any further.
|
||||
// TODO: similar mark on non-LR architectures.
|
||||
|
|
@ -1480,7 +1480,7 @@ func (d *dwctxt) writeframes(fs loader.Sym) dwarfSecInfo {
|
|||
spdelta += int64(d.arch.PtrSize)
|
||||
}
|
||||
|
||||
if haslr && !d.ldr.AttrTopFrame(fn) {
|
||||
if haslr && !fi.TopFrame() {
|
||||
// TODO(bryanpkc): This is imprecise. In general, the instruction
|
||||
// that stores the return address to the stack frame is not the
|
||||
// same one that allocates the frame.
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ func Main(arch *sys.Arch, theArch Arch) {
|
|||
}
|
||||
|
||||
final := gorootFinal()
|
||||
addstrdata1(ctxt, "runtime/internal/sys.DefaultGoroot="+final)
|
||||
addstrdata1(ctxt, "runtime.defaultGOROOT="+final)
|
||||
addstrdata1(ctxt, "cmd/internal/objabi.defaultGOROOT="+final)
|
||||
|
||||
// TODO(matloob): define these above and then check flag values here
|
||||
|
|
|
|||
|
|
@ -796,7 +796,14 @@ func writeFuncs(ctxt *Link, sb *loader.SymbolBuilder, funcs []loader.Sym, inlSym
|
|||
}
|
||||
off = uint32(sb.SetUint8(ctxt.Arch, int64(off), uint8(funcID)))
|
||||
|
||||
off += 2 // pad
|
||||
// flag uint8
|
||||
var flag objabi.FuncFlag
|
||||
if fi.Valid() {
|
||||
flag = fi.FuncFlag()
|
||||
}
|
||||
off = uint32(sb.SetUint8(ctxt.Arch, int64(off), uint8(flag)))
|
||||
|
||||
off += 1 // pad
|
||||
|
||||
// nfuncdata must be the final entry.
|
||||
funcdata, funcdataoff = funcData(fi, 0, funcdata, funcdataoff)
|
||||
|
|
|
|||
|
|
@ -42,11 +42,11 @@ type IMAGE_EXPORT_DIRECTORY struct {
|
|||
AddressOfNameOrdinals uint32
|
||||
}
|
||||
|
||||
const (
|
||||
PEBASE = 0x00400000
|
||||
)
|
||||
|
||||
var (
|
||||
// PEBASE is the base address for the executable.
|
||||
// It is small for 32-bit and large for 64-bit.
|
||||
PEBASE int64
|
||||
|
||||
// SectionAlignment must be greater than or equal to FileAlignment.
|
||||
// The default is the page size for the architecture.
|
||||
PESECTALIGN int64 = 0x1000
|
||||
|
|
@ -69,6 +69,7 @@ const (
|
|||
IMAGE_SCN_ALIGN_32BYTES = 0x600000
|
||||
)
|
||||
|
||||
// See https://docs.microsoft.com/en-us/windows/win32/debug/pe-format.
|
||||
// TODO(crawshaw): add these constants to debug/pe.
|
||||
const (
|
||||
// TODO: the Microsoft doco says IMAGE_SYM_DTYPE_ARRAY is 3 and IMAGE_SYM_DTYPE_FUNCTION is 2
|
||||
|
|
@ -95,6 +96,25 @@ const (
|
|||
IMAGE_REL_ARM_BRANCH11 = 0x0004
|
||||
IMAGE_REL_ARM_SECREL = 0x000F
|
||||
|
||||
IMAGE_REL_ARM64_ABSOLUTE = 0x0000
|
||||
IMAGE_REL_ARM64_ADDR32 = 0x0001
|
||||
IMAGE_REL_ARM64_ADDR32NB = 0x0002
|
||||
IMAGE_REL_ARM64_BRANCH26 = 0x0003
|
||||
IMAGE_REL_ARM64_PAGEBASE_REL21 = 0x0004
|
||||
IMAGE_REL_ARM64_REL21 = 0x0005
|
||||
IMAGE_REL_ARM64_PAGEOFFSET_12A = 0x0006
|
||||
IMAGE_REL_ARM64_PAGEOFFSET_12L = 0x0007
|
||||
IMAGE_REL_ARM64_SECREL = 0x0008
|
||||
IMAGE_REL_ARM64_SECREL_LOW12A = 0x0009
|
||||
IMAGE_REL_ARM64_SECREL_HIGH12A = 0x000A
|
||||
IMAGE_REL_ARM64_SECREL_LOW12L = 0x000B
|
||||
IMAGE_REL_ARM64_TOKEN = 0x000C
|
||||
IMAGE_REL_ARM64_SECTION = 0x000D
|
||||
IMAGE_REL_ARM64_ADDR64 = 0x000E
|
||||
IMAGE_REL_ARM64_BRANCH19 = 0x000F
|
||||
IMAGE_REL_ARM64_BRANCH14 = 0x0010
|
||||
IMAGE_REL_ARM64_REL32 = 0x0011
|
||||
|
||||
IMAGE_REL_BASED_HIGHLOW = 3
|
||||
IMAGE_REL_BASED_DIR64 = 10
|
||||
)
|
||||
|
|
@ -316,8 +336,8 @@ func (sect *peSection) checkOffset(off int64) {
|
|||
// checkSegment verifies COFF section sect matches address
|
||||
// and file offset provided in segment seg.
|
||||
func (sect *peSection) checkSegment(seg *sym.Segment) {
|
||||
if seg.Vaddr-PEBASE != uint64(sect.virtualAddress) {
|
||||
Errorf(nil, "%s.VirtualAddress = %#x, want %#x", sect.name, uint64(int64(sect.virtualAddress)), uint64(int64(seg.Vaddr-PEBASE)))
|
||||
if seg.Vaddr-uint64(PEBASE) != uint64(sect.virtualAddress) {
|
||||
Errorf(nil, "%s.VirtualAddress = %#x, want %#x", sect.name, uint64(int64(sect.virtualAddress)), uint64(int64(seg.Vaddr-uint64(PEBASE))))
|
||||
errorexit()
|
||||
}
|
||||
if seg.Fileoff != uint64(sect.pointerToRawData) {
|
||||
|
|
@ -465,6 +485,8 @@ func (f *peFile) addInitArray(ctxt *Link) *peSection {
|
|||
size = 8
|
||||
case "arm":
|
||||
size = 4
|
||||
case "arm64":
|
||||
size = 8
|
||||
}
|
||||
sect := f.addSection(".ctors", size, size)
|
||||
sect.characteristics = IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ
|
||||
|
|
@ -477,7 +499,7 @@ func (f *peFile) addInitArray(ctxt *Link) *peSection {
|
|||
switch objabi.GOARCH {
|
||||
case "386", "arm":
|
||||
ctxt.Out.Write32(uint32(addr))
|
||||
case "amd64":
|
||||
case "amd64", "arm64":
|
||||
ctxt.Out.Write64(addr)
|
||||
}
|
||||
return sect
|
||||
|
|
@ -594,6 +616,8 @@ dwarfLoop:
|
|||
ctxt.Out.Write16(IMAGE_REL_AMD64_ADDR64)
|
||||
case "arm":
|
||||
ctxt.Out.Write16(IMAGE_REL_ARM_ADDR32)
|
||||
case "arm64":
|
||||
ctxt.Out.Write16(IMAGE_REL_ARM64_ADDR64)
|
||||
}
|
||||
return 1
|
||||
})
|
||||
|
|
@ -788,6 +812,8 @@ func (f *peFile) writeFileHeader(ctxt *Link) {
|
|||
fh.Machine = pe.IMAGE_FILE_MACHINE_I386
|
||||
case sys.ARM:
|
||||
fh.Machine = pe.IMAGE_FILE_MACHINE_ARMNT
|
||||
case sys.ARM64:
|
||||
fh.Machine = pe.IMAGE_FILE_MACHINE_ARM64
|
||||
}
|
||||
|
||||
fh.NumberOfSections = uint16(len(f.sections))
|
||||
|
|
@ -852,8 +878,8 @@ func (f *peFile) writeOptionalHeader(ctxt *Link) {
|
|||
}
|
||||
oh64.BaseOfCode = f.textSect.virtualAddress
|
||||
oh.BaseOfCode = f.textSect.virtualAddress
|
||||
oh64.ImageBase = PEBASE
|
||||
oh.ImageBase = PEBASE
|
||||
oh64.ImageBase = uint64(PEBASE)
|
||||
oh.ImageBase = uint32(PEBASE)
|
||||
oh64.SectionAlignment = uint32(PESECTALIGN)
|
||||
oh.SectionAlignment = uint32(PESECTALIGN)
|
||||
oh64.FileAlignment = uint32(PEFILEALIGN)
|
||||
|
|
@ -891,13 +917,7 @@ func (f *peFile) writeOptionalHeader(ctxt *Link) {
|
|||
oh.DllCharacteristics |= pe.IMAGE_DLLCHARACTERISTICS_NX_COMPAT
|
||||
|
||||
// The DLL can be relocated at load time.
|
||||
switch ctxt.Arch.Family {
|
||||
case sys.AMD64, sys.I386:
|
||||
if ctxt.BuildMode == BuildModePIE {
|
||||
oh64.DllCharacteristics |= pe.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE
|
||||
oh.DllCharacteristics |= pe.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE
|
||||
}
|
||||
case sys.ARM:
|
||||
if needPEBaseReloc(ctxt) {
|
||||
oh64.DllCharacteristics |= pe.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE
|
||||
oh.DllCharacteristics |= pe.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE
|
||||
}
|
||||
|
|
@ -975,18 +995,23 @@ var pefile peFile
|
|||
func Peinit(ctxt *Link) {
|
||||
var l int
|
||||
|
||||
switch ctxt.Arch.Family {
|
||||
// 64-bit architectures
|
||||
case sys.AMD64:
|
||||
if ctxt.Arch.PtrSize == 8 {
|
||||
// 64-bit architectures
|
||||
pe64 = 1
|
||||
PEBASE = 1 << 32
|
||||
if ctxt.Arch.Family == sys.AMD64 {
|
||||
// TODO(rsc): For cgo we currently use 32-bit relocations
|
||||
// that fail when PEBASE is too large.
|
||||
// We need to fix this, but for now, use a smaller PEBASE.
|
||||
PEBASE = 1 << 22
|
||||
}
|
||||
var oh64 pe.OptionalHeader64
|
||||
l = binary.Size(&oh64)
|
||||
|
||||
// 32-bit architectures
|
||||
default:
|
||||
} else {
|
||||
// 32-bit architectures
|
||||
PEBASE = 1 << 22
|
||||
var oh pe.OptionalHeader32
|
||||
l = binary.Size(&oh)
|
||||
|
||||
}
|
||||
|
||||
if ctxt.LinkMode == LinkExternal {
|
||||
|
|
@ -1210,7 +1235,7 @@ func addimports(ctxt *Link, datsect *peSection) {
|
|||
endoff := ctxt.Out.Offset()
|
||||
|
||||
// write FirstThunks (allocated in .data section)
|
||||
ftbase := uint64(ldr.SymValue(dynamic)) - uint64(datsect.virtualAddress) - PEBASE
|
||||
ftbase := uint64(ldr.SymValue(dynamic)) - uint64(datsect.virtualAddress) - uint64(PEBASE)
|
||||
|
||||
ctxt.Out.SeekSet(int64(uint64(datsect.pointerToRawData) + ftbase))
|
||||
for d := dr; d != nil; d = d.next {
|
||||
|
|
@ -1463,17 +1488,18 @@ func addPEBaseRelocSym(ldr *loader.Loader, s loader.Sym, rt *peBaseRelocTable) {
|
|||
}
|
||||
}
|
||||
|
||||
func needPEBaseReloc(ctxt *Link) bool {
|
||||
// Non-PIE x86 binaries don't need the base relocation table.
|
||||
// Everyone else does.
|
||||
if (ctxt.Arch.Family == sys.I386 || ctxt.Arch.Family == sys.AMD64) && ctxt.BuildMode != BuildModePIE {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
func addPEBaseReloc(ctxt *Link) {
|
||||
// Arm does not work without base relocation table.
|
||||
// 386 and amd64 will only require the table for BuildModePIE.
|
||||
switch ctxt.Arch.Family {
|
||||
default:
|
||||
if !needPEBaseReloc(ctxt) {
|
||||
return
|
||||
case sys.I386, sys.AMD64:
|
||||
if ctxt.BuildMode != BuildModePIE {
|
||||
return
|
||||
}
|
||||
case sys.ARM:
|
||||
}
|
||||
|
||||
var rt peBaseRelocTable
|
||||
|
|
@ -1562,12 +1588,6 @@ func addpersrc(ctxt *Link) {
|
|||
}
|
||||
|
||||
func asmbPe(ctxt *Link) {
|
||||
switch ctxt.Arch.Family {
|
||||
default:
|
||||
Exitf("unknown PE architecture: %v", ctxt.Arch.Family)
|
||||
case sys.AMD64, sys.I386, sys.ARM:
|
||||
}
|
||||
|
||||
t := pefile.addSection(".text", int(Segtext.Length), int(Segtext.Length))
|
||||
t.characteristics = IMAGE_SCN_CNT_CODE | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_READ
|
||||
if ctxt.LinkMode == LinkExternal {
|
||||
|
|
|
|||
|
|
@ -241,7 +241,6 @@ type Loader struct {
|
|||
attrExternal Bitmap // external symbols, indexed by ext sym index
|
||||
|
||||
attrReadOnly map[Sym]bool // readonly data for this sym
|
||||
attrTopFrame map[Sym]struct{} // top frame symbols
|
||||
attrSpecial map[Sym]struct{} // "special" frame symbols
|
||||
attrCgoExportDynamic map[Sym]struct{} // "cgo_export_dynamic" symbols
|
||||
attrCgoExportStatic map[Sym]struct{} // "cgo_export_static" symbols
|
||||
|
|
@ -349,7 +348,6 @@ func NewLoader(flags uint32, elfsetstring elfsetstringFunc, reporter *ErrorRepor
|
|||
plt: make(map[Sym]int32),
|
||||
got: make(map[Sym]int32),
|
||||
dynid: make(map[Sym]int32),
|
||||
attrTopFrame: make(map[Sym]struct{}),
|
||||
attrSpecial: make(map[Sym]struct{}),
|
||||
attrCgoExportDynamic: make(map[Sym]struct{}),
|
||||
attrCgoExportStatic: make(map[Sym]struct{}),
|
||||
|
|
@ -1009,24 +1007,6 @@ func (l *Loader) SetAttrExternal(i Sym, v bool) {
|
|||
}
|
||||
}
|
||||
|
||||
// AttrTopFrame returns true for a function symbol that is an entry
|
||||
// point, meaning that unwinders should stop when they hit this
|
||||
// function.
|
||||
func (l *Loader) AttrTopFrame(i Sym) bool {
|
||||
_, ok := l.attrTopFrame[i]
|
||||
return ok
|
||||
}
|
||||
|
||||
// SetAttrTopFrame sets the "top frame" property for a symbol (see
|
||||
// AttrTopFrame).
|
||||
func (l *Loader) SetAttrTopFrame(i Sym, v bool) {
|
||||
if v {
|
||||
l.attrTopFrame[i] = struct{}{}
|
||||
} else {
|
||||
delete(l.attrTopFrame, i)
|
||||
}
|
||||
}
|
||||
|
||||
// AttrSpecial returns true for a symbols that do not have their
|
||||
// address (i.e. Value) computed by the usual mechanism of
|
||||
// data.go:dodata() & data.go:address().
|
||||
|
|
@ -1905,7 +1885,11 @@ func (fi *FuncInfo) Locals() int {
|
|||
}
|
||||
|
||||
func (fi *FuncInfo) FuncID() objabi.FuncID {
|
||||
return objabi.FuncID((*goobj.FuncInfo)(nil).ReadFuncID(fi.data))
|
||||
return (*goobj.FuncInfo)(nil).ReadFuncID(fi.data)
|
||||
}
|
||||
|
||||
func (fi *FuncInfo) FuncFlag() objabi.FuncFlag {
|
||||
return (*goobj.FuncInfo)(nil).ReadFuncFlag(fi.data)
|
||||
}
|
||||
|
||||
func (fi *FuncInfo) Pcsp() Sym {
|
||||
|
|
@ -1992,6 +1976,13 @@ func (fi *FuncInfo) File(k int) goobj.CUFileIndex {
|
|||
return (*goobj.FuncInfo)(nil).ReadFile(fi.data, fi.lengths.FileOff, uint32(k))
|
||||
}
|
||||
|
||||
// TopFrame returns true if the function associated with this FuncInfo
|
||||
// is an entry point, meaning that unwinders should stop when they hit
|
||||
// this function.
|
||||
func (fi *FuncInfo) TopFrame() bool {
|
||||
return (fi.FuncFlag() & objabi.FuncFlag_TOPFRAME) != 0
|
||||
}
|
||||
|
||||
type InlTreeNode struct {
|
||||
Parent int32
|
||||
File goobj.CUFileIndex
|
||||
|
|
@ -2151,9 +2142,6 @@ func (st *loadState) preloadSyms(r *oReader, kind int) {
|
|||
}
|
||||
gi := st.addSym(name, v, r, i, kind, osym)
|
||||
r.syms[i] = gi
|
||||
if osym.TopFrame() {
|
||||
l.SetAttrTopFrame(gi, true)
|
||||
}
|
||||
if osym.Local() {
|
||||
l.SetAttrLocal(gi, true)
|
||||
}
|
||||
|
|
@ -2411,7 +2399,6 @@ func (l *Loader) CopyAttributes(src Sym, dst Sym) {
|
|||
// when copying attributes from a dupOK ABI wrapper symbol to
|
||||
// the real target symbol (which may not be marked dupOK).
|
||||
}
|
||||
l.SetAttrTopFrame(dst, l.AttrTopFrame(src))
|
||||
l.SetAttrSpecial(dst, l.AttrSpecial(src))
|
||||
l.SetAttrCgoExportDynamic(dst, l.AttrCgoExportDynamic(src))
|
||||
l.SetAttrCgoExportStatic(dst, l.AttrCgoExportStatic(src))
|
||||
|
|
|
|||
6
src/cmd/vendor/golang.org/x/sys/unix/mkerrors.sh
generated
vendored
6
src/cmd/vendor/golang.org/x/sys/unix/mkerrors.sh
generated
vendored
|
|
@ -65,6 +65,7 @@ includes_Darwin='
|
|||
#include <sys/ptrace.h>
|
||||
#include <sys/select.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/un.h>
|
||||
#include <sys/sockio.h>
|
||||
#include <sys/sys_domain.h>
|
||||
#include <sys/sysctl.h>
|
||||
|
|
@ -204,6 +205,7 @@ struct ltchars {
|
|||
#include <linux/devlink.h>
|
||||
#include <linux/dm-ioctl.h>
|
||||
#include <linux/errqueue.h>
|
||||
#include <linux/ethtool_netlink.h>
|
||||
#include <linux/falloc.h>
|
||||
#include <linux/fanotify.h>
|
||||
#include <linux/filter.h>
|
||||
|
|
@ -479,7 +481,7 @@ ccflags="$@"
|
|||
$2 ~ /^LOCK_(SH|EX|NB|UN)$/ ||
|
||||
$2 ~ /^LO_(KEY|NAME)_SIZE$/ ||
|
||||
$2 ~ /^LOOP_(CLR|CTL|GET|SET)_/ ||
|
||||
$2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|MCAST|EVFILT|NOTE|EV|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR)_/ ||
|
||||
$2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|ICMP6|TCP|MCAST|EVFILT|NOTE|EV|SHUT|PROT|MAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR|LOCAL)_/ ||
|
||||
$2 ~ /^TP_STATUS_/ ||
|
||||
$2 ~ /^FALLOC_/ ||
|
||||
$2 == "ICMPV6_FILTER" ||
|
||||
|
|
@ -561,7 +563,9 @@ ccflags="$@"
|
|||
$2 ~ /^(HDIO|WIN|SMART)_/ ||
|
||||
$2 ~ /^CRYPTO_/ ||
|
||||
$2 ~ /^TIPC_/ ||
|
||||
$2 !~ "DEVLINK_RELOAD_LIMITS_VALID_MASK" &&
|
||||
$2 ~ /^DEVLINK_/ ||
|
||||
$2 ~ /^ETHTOOL_/ ||
|
||||
$2 ~ /^LWTUNNEL_IP/ ||
|
||||
$2 !~ "WMESGLEN" &&
|
||||
$2 ~ /^W[A-Z0-9]+$/ ||
|
||||
|
|
|
|||
11
src/cmd/vendor/golang.org/x/sys/unix/ptrace_darwin.go
generated
vendored
Normal file
11
src/cmd/vendor/golang.org/x/sys/unix/ptrace_darwin.go
generated
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
// Copyright 2020 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// +build darwin,!ios
|
||||
|
||||
package unix
|
||||
|
||||
func ptrace(request int, pid int, addr uintptr, data uintptr) error {
|
||||
return ptrace1(request, pid, addr, data)
|
||||
}
|
||||
11
src/cmd/vendor/golang.org/x/sys/unix/ptrace_ios.go
generated
vendored
Normal file
11
src/cmd/vendor/golang.org/x/sys/unix/ptrace_ios.go
generated
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
// Copyright 2020 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
// +build ios
|
||||
|
||||
package unix
|
||||
|
||||
func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
|
||||
return ENOTSUP
|
||||
}
|
||||
10
src/cmd/vendor/golang.org/x/sys/unix/syscall_aix.go
generated
vendored
10
src/cmd/vendor/golang.org/x/sys/unix/syscall_aix.go
generated
vendored
|
|
@ -419,8 +419,8 @@ func (w WaitStatus) TrapCause() int { return -1 }
|
|||
//sys Mknod(path string, mode uint32, dev int) (err error)
|
||||
//sys Mknodat(dirfd int, path string, mode uint32, dev int) (err error)
|
||||
//sys Nanosleep(time *Timespec, leftover *Timespec) (err error)
|
||||
//sys Open(path string, mode int, perm uint32) (fd int, err error) = open64
|
||||
//sys Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
|
||||
//sys Open(path string, mode int, perm uint32) (fd int, err error) = open64
|
||||
//sys Openat(dirfd int, path string, flags int, mode uint32) (fd int, err error)
|
||||
//sys read(fd int, p []byte) (n int, err error)
|
||||
//sys Readlink(path string, buf []byte) (n int, err error)
|
||||
//sys Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error)
|
||||
|
|
@ -439,8 +439,8 @@ func (w WaitStatus) TrapCause() int { return -1 }
|
|||
//sysnb Times(tms *Tms) (ticks uintptr, err error)
|
||||
//sysnb Umask(mask int) (oldmask int)
|
||||
//sysnb Uname(buf *Utsname) (err error)
|
||||
//sys Unlink(path string) (err error)
|
||||
//sys Unlinkat(dirfd int, path string, flags int) (err error)
|
||||
//sys Unlink(path string) (err error)
|
||||
//sys Unlinkat(dirfd int, path string, flags int) (err error)
|
||||
//sys Ustat(dev int, ubuf *Ustat_t) (err error)
|
||||
//sys write(fd int, p []byte) (n int, err error)
|
||||
//sys readlen(fd int, p *byte, np int) (n int, err error) = read
|
||||
|
|
@ -514,7 +514,7 @@ func Munmap(b []byte) (err error) {
|
|||
//sys Munlock(b []byte) (err error)
|
||||
//sys Munlockall() (err error)
|
||||
|
||||
//sysnb pipe(p *[2]_C_int) (err error)
|
||||
//sysnb pipe(p *[2]_C_int) (err error)
|
||||
|
||||
func Pipe(p []int) (err error) {
|
||||
if len(p) != 2 {
|
||||
|
|
|
|||
8
src/cmd/vendor/golang.org/x/sys/unix/syscall_bsd.go
generated
vendored
8
src/cmd/vendor/golang.org/x/sys/unix/syscall_bsd.go
generated
vendored
|
|
@ -318,7 +318,7 @@ func Getsockname(fd int) (sa Sockaddr, err error) {
|
|||
return anyToSockaddr(fd, &rsa)
|
||||
}
|
||||
|
||||
//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error)
|
||||
//sysnb socketpair(domain int, typ int, proto int, fd *[2]int32) (err error)
|
||||
|
||||
// GetsockoptString returns the string value of the socket option opt for the
|
||||
// socket associated with fd at the given socket level.
|
||||
|
|
@ -332,8 +332,8 @@ func GetsockoptString(fd, level, opt int) (string, error) {
|
|||
return string(buf[:vallen-1]), nil
|
||||
}
|
||||
|
||||
//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)
|
||||
//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)
|
||||
//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)
|
||||
//sys sendto(s int, buf []byte, flags int, to unsafe.Pointer, addrlen _Socklen) (err error)
|
||||
//sys recvmsg(s int, msg *Msghdr, flags int) (n int, err error)
|
||||
|
||||
func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {
|
||||
|
|
@ -626,7 +626,7 @@ func Futimes(fd int, tv []Timeval) error {
|
|||
return futimes(fd, (*[2]Timeval)(unsafe.Pointer(&tv[0])))
|
||||
}
|
||||
|
||||
//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error)
|
||||
//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error)
|
||||
|
||||
func Poll(fds []PollFd, timeout int) (n int, err error) {
|
||||
if len(fds) == 0 {
|
||||
|
|
|
|||
24
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin.go
generated
vendored
24
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin.go
generated
vendored
|
|
@ -119,13 +119,16 @@ type attrList struct {
|
|||
Forkattr uint32
|
||||
}
|
||||
|
||||
//sysnb pipe() (r int, w int, err error)
|
||||
//sysnb pipe(p *[2]int32) (err error)
|
||||
|
||||
func Pipe(p []int) (err error) {
|
||||
if len(p) != 2 {
|
||||
return EINVAL
|
||||
}
|
||||
p[0], p[1], err = pipe()
|
||||
var x [2]int32
|
||||
err = pipe(&x)
|
||||
p[0] = int(x[0])
|
||||
p[1] = int(x[1])
|
||||
return
|
||||
}
|
||||
|
||||
|
|
@ -269,7 +272,7 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
|
|||
options)
|
||||
}
|
||||
|
||||
//sys setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error)
|
||||
//sys setattrlist(path *byte, list unsafe.Pointer, buf unsafe.Pointer, size uintptr, options int) (err error)
|
||||
|
||||
func utimensat(dirfd int, path string, times *[2]Timespec, flags int) error {
|
||||
// Darwin doesn't support SYS_UTIMENSAT
|
||||
|
|
@ -317,7 +320,7 @@ func IoctlSetIfreqMTU(fd int, ifreq *IfreqMTU) error {
|
|||
return err
|
||||
}
|
||||
|
||||
//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS_SYSCTL
|
||||
//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS_SYSCTL
|
||||
|
||||
func Uname(uname *Utsname) error {
|
||||
mib := []_C_int{CTL_KERN, KERN_OSTYPE}
|
||||
|
|
@ -375,6 +378,15 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
|
|||
return
|
||||
}
|
||||
|
||||
// GetsockoptXucred is a getsockopt wrapper that returns an Xucred struct.
|
||||
// The usual level and opt are SOL_LOCAL and LOCAL_PEERCRED, respectively.
|
||||
func GetsockoptXucred(fd, level, opt int) (*Xucred, error) {
|
||||
x := new(Xucred)
|
||||
vallen := _Socklen(unsafe.Sizeof(Xucred{}))
|
||||
err := getsockopt(fd, level, opt, unsafe.Pointer(x), &vallen)
|
||||
return x, err
|
||||
}
|
||||
|
||||
//sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error)
|
||||
|
||||
/*
|
||||
|
|
@ -469,8 +481,8 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
|
|||
//sys Unlinkat(dirfd int, path string, flags int) (err error)
|
||||
//sys Unmount(path string, flags int) (err error)
|
||||
//sys write(fd int, p []byte) (n int, err error)
|
||||
//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
|
||||
//sys munmap(addr uintptr, length uintptr) (err error)
|
||||
//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
|
||||
//sys munmap(addr uintptr, length uintptr) (err error)
|
||||
//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ
|
||||
//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE
|
||||
|
||||
|
|
|
|||
2
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin_386.go
generated
vendored
2
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin_386.go
generated
vendored
|
|
@ -45,6 +45,6 @@ func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr,
|
|||
//sys Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64
|
||||
//sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT64
|
||||
//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64
|
||||
//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
|
||||
//sys ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) = SYS_ptrace
|
||||
//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64
|
||||
//sys Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64
|
||||
|
|
|
|||
2
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
generated
vendored
2
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
generated
vendored
|
|
@ -45,6 +45,6 @@ func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr,
|
|||
//sys Fstatfs(fd int, stat *Statfs_t) (err error) = SYS_FSTATFS64
|
||||
//sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT64
|
||||
//sys Lstat(path string, stat *Stat_t) (err error) = SYS_LSTAT64
|
||||
//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
|
||||
//sys ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) = SYS_ptrace
|
||||
//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64
|
||||
//sys Statfs(path string, stat *Statfs_t) (err error) = SYS_STATFS64
|
||||
|
|
|
|||
2
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go
generated
vendored
2
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin_arm.go
generated
vendored
|
|
@ -6,7 +6,7 @@ package unix
|
|||
|
||||
import "syscall"
|
||||
|
||||
func ptrace(request int, pid int, addr uintptr, data uintptr) error {
|
||||
func ptrace1(request int, pid int, addr uintptr, data uintptr) error {
|
||||
return ENOTSUP
|
||||
}
|
||||
|
||||
|
|
|
|||
2
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
generated
vendored
2
src/cmd/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
generated
vendored
|
|
@ -45,6 +45,6 @@ func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr,
|
|||
//sys Fstatfs(fd int, stat *Statfs_t) (err error)
|
||||
//sys getfsstat(buf unsafe.Pointer, size uintptr, flags int) (n int, err error) = SYS_GETFSSTAT
|
||||
//sys Lstat(path string, stat *Stat_t) (err error)
|
||||
//sys ptrace(request int, pid int, addr uintptr, data uintptr) (err error)
|
||||
//sys ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) = SYS_ptrace
|
||||
//sys Stat(path string, stat *Stat_t) (err error)
|
||||
//sys Statfs(path string, stat *Statfs_t) (err error)
|
||||
|
|
|
|||
17
src/cmd/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
generated
vendored
17
src/cmd/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
generated
vendored
|
|
@ -95,7 +95,7 @@ func direntNamlen(buf []byte) (uint64, bool) {
|
|||
return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))
|
||||
}
|
||||
|
||||
//sysnb pipe() (r int, w int, err error)
|
||||
//sysnb pipe() (r int, w int, err error)
|
||||
|
||||
func Pipe(p []int) (err error) {
|
||||
if len(p) != 2 {
|
||||
|
|
@ -105,16 +105,13 @@ func Pipe(p []int) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
//sysnb pipe2(flags int) (r int, w int, err error)
|
||||
|
||||
func Pipe2(p []int, flags int) error {
|
||||
func Pipe2(p []int, flags int) (err error) {
|
||||
if len(p) != 2 {
|
||||
return EINVAL
|
||||
}
|
||||
var pp [2]_C_int
|
||||
err := pipe2(&pp, flags)
|
||||
p[0] = int(pp[0])
|
||||
p[1] = int(pp[1])
|
||||
p[0], p[1], err = pipe2(flags)
|
||||
return err
|
||||
}
|
||||
|
||||
|
|
@ -170,7 +167,7 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
|
|||
|
||||
//sys ioctl(fd int, req uint, arg uintptr) (err error)
|
||||
|
||||
//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
|
||||
//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
|
||||
|
||||
func sysctlUname(mib []_C_int, old *byte, oldlen *uintptr) error {
|
||||
err := sysctl(mib, old, oldlen, nil, 0)
|
||||
|
|
@ -337,8 +334,8 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
|
|||
//sys Unlinkat(dirfd int, path string, flags int) (err error)
|
||||
//sys Unmount(path string, flags int) (err error)
|
||||
//sys write(fd int, p []byte) (n int, err error)
|
||||
//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
|
||||
//sys munmap(addr uintptr, length uintptr) (err error)
|
||||
//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
|
||||
//sys munmap(addr uintptr, length uintptr) (err error)
|
||||
//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ
|
||||
//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE
|
||||
//sys accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error)
|
||||
|
|
|
|||
8
src/cmd/vendor/golang.org/x/sys/unix/syscall_freebsd.go
generated
vendored
8
src/cmd/vendor/golang.org/x/sys/unix/syscall_freebsd.go
generated
vendored
|
|
@ -188,9 +188,9 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
|
|||
return ENOSYS
|
||||
}
|
||||
|
||||
//sys ioctl(fd int, req uint, arg uintptr) (err error)
|
||||
//sys ioctl(fd int, req uint, arg uintptr) (err error)
|
||||
|
||||
//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
|
||||
//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
|
||||
|
||||
func Uname(uname *Utsname) error {
|
||||
mib := []_C_int{CTL_KERN, KERN_OSTYPE}
|
||||
|
|
@ -665,8 +665,8 @@ func PtraceSingleStep(pid int) (err error) {
|
|||
//sys Unlinkat(dirfd int, path string, flags int) (err error)
|
||||
//sys Unmount(path string, flags int) (err error)
|
||||
//sys write(fd int, p []byte) (n int, err error)
|
||||
//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
|
||||
//sys munmap(addr uintptr, length uintptr) (err error)
|
||||
//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
|
||||
//sys munmap(addr uintptr, length uintptr) (err error)
|
||||
//sys readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ
|
||||
//sys writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE
|
||||
//sys accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error)
|
||||
|
|
|
|||
13
src/cmd/vendor/golang.org/x/sys/unix/syscall_illumos.go
generated
vendored
13
src/cmd/vendor/golang.org/x/sys/unix/syscall_illumos.go
generated
vendored
|
|
@ -75,16 +75,3 @@ func Accept4(fd int, flags int) (nfd int, sa Sockaddr, err error) {
|
|||
}
|
||||
return
|
||||
}
|
||||
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
|
||||
func Pipe2(p []int, flags int) error {
|
||||
if len(p) != 2 {
|
||||
return EINVAL
|
||||
}
|
||||
var pp [2]_C_int
|
||||
err := pipe2(&pp, flags)
|
||||
p[0] = int(pp[0])
|
||||
p[1] = int(pp[1])
|
||||
return err
|
||||
}
|
||||
|
|
|
|||
18
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux.go
generated
vendored
18
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux.go
generated
vendored
|
|
@ -1482,8 +1482,8 @@ func KeyctlRestrictKeyring(ringid int, keyType string, restriction string) error
|
|||
return keyctlRestrictKeyringByType(KEYCTL_RESTRICT_KEYRING, ringid, keyType, restriction)
|
||||
}
|
||||
|
||||
//sys keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) = SYS_KEYCTL
|
||||
//sys keyctlRestrictKeyring(cmd int, arg2 int) (err error) = SYS_KEYCTL
|
||||
//sys keyctlRestrictKeyringByType(cmd int, arg2 int, keyType string, restriction string) (err error) = SYS_KEYCTL
|
||||
//sys keyctlRestrictKeyring(cmd int, arg2 int) (err error) = SYS_KEYCTL
|
||||
|
||||
func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {
|
||||
var msg Msghdr
|
||||
|
|
@ -1860,8 +1860,8 @@ func Getpgrp() (pid int) {
|
|||
//sys Nanosleep(time *Timespec, leftover *Timespec) (err error)
|
||||
//sys PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error)
|
||||
//sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT
|
||||
//sysnb prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64
|
||||
//sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error)
|
||||
//sysnb prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64
|
||||
//sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error)
|
||||
//sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) = SYS_PSELECT6
|
||||
//sys read(fd int, p []byte) (n int, err error)
|
||||
//sys Removexattr(path string, attr string) (err error)
|
||||
|
|
@ -1934,9 +1934,9 @@ func Signalfd(fd int, sigmask *Sigset_t, flags int) (newfd int, err error) {
|
|||
//sys Syncfs(fd int) (err error)
|
||||
//sysnb Sysinfo(info *Sysinfo_t) (err error)
|
||||
//sys Tee(rfd int, wfd int, len int, flags int) (n int64, err error)
|
||||
//sysnb TimerfdCreate(clockid int, flags int) (fd int, err error)
|
||||
//sysnb TimerfdGettime(fd int, currValue *ItimerSpec) (err error)
|
||||
//sysnb TimerfdSettime(fd int, flags int, newValue *ItimerSpec, oldValue *ItimerSpec) (err error)
|
||||
//sysnb TimerfdCreate(clockid int, flags int) (fd int, err error)
|
||||
//sysnb TimerfdGettime(fd int, currValue *ItimerSpec) (err error)
|
||||
//sysnb TimerfdSettime(fd int, flags int, newValue *ItimerSpec, oldValue *ItimerSpec) (err error)
|
||||
//sysnb Tgkill(tgid int, tid int, sig syscall.Signal) (err error)
|
||||
//sysnb Times(tms *Tms) (ticks uintptr, err error)
|
||||
//sysnb Umask(mask int) (oldmask int)
|
||||
|
|
@ -2196,8 +2196,8 @@ func Faccessat(dirfd int, path string, mode uint32, flags int) (err error) {
|
|||
return EACCES
|
||||
}
|
||||
|
||||
//sys nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) = SYS_NAME_TO_HANDLE_AT
|
||||
//sys openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) = SYS_OPEN_BY_HANDLE_AT
|
||||
//sys nameToHandleAt(dirFD int, pathname string, fh *fileHandle, mountID *_C_int, flags int) (err error) = SYS_NAME_TO_HANDLE_AT
|
||||
//sys openByHandleAt(mountFD int, fh *fileHandle, flags int) (fd int, err error) = SYS_OPEN_BY_HANDLE_AT
|
||||
|
||||
// fileHandle is the argument to nameToHandleAt and openByHandleAt. We
|
||||
// originally tried to generate it via unix/linux/types.go with "type
|
||||
|
|
|
|||
6
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_386.go
generated
vendored
6
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_386.go
generated
vendored
|
|
@ -31,7 +31,7 @@ func Pipe(p []int) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
|
||||
func Pipe2(p []int, flags int) (err error) {
|
||||
if len(p) != 2 {
|
||||
|
|
@ -98,7 +98,7 @@ type rlimit32 struct {
|
|||
Max uint32
|
||||
}
|
||||
|
||||
//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT
|
||||
//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT
|
||||
|
||||
const rlimInf32 = ^uint32(0)
|
||||
const rlimInf64 = ^uint64(0)
|
||||
|
|
@ -129,7 +129,7 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
|
||||
//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
|
||||
|
||||
func Setrlimit(resource int, rlim *Rlimit) (err error) {
|
||||
err = prlimit(0, resource, rlim, nil)
|
||||
|
|
|
|||
2
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
generated
vendored
2
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
generated
vendored
|
|
@ -138,7 +138,7 @@ func Pipe(p []int) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
|
||||
func Pipe2(p []int, flags int) (err error) {
|
||||
if len(p) != 2 {
|
||||
|
|
|
|||
10
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
generated
vendored
10
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
generated
vendored
|
|
@ -35,7 +35,7 @@ func Pipe(p []int) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
|
||||
func Pipe2(p []int, flags int) (err error) {
|
||||
if len(p) != 2 {
|
||||
|
|
@ -129,8 +129,8 @@ func Utime(path string, buf *Utimbuf) error {
|
|||
|
||||
//sys utimes(path string, times *[2]Timeval) (err error)
|
||||
|
||||
//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
|
||||
//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
|
||||
//sys Pread(fd int, p []byte, offset int64) (n int, err error) = SYS_PREAD64
|
||||
//sys Pwrite(fd int, p []byte, offset int64) (n int, err error) = SYS_PWRITE64
|
||||
//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64
|
||||
//sys Ftruncate(fd int, length int64) (err error) = SYS_FTRUNCATE64
|
||||
|
||||
|
|
@ -177,7 +177,7 @@ type rlimit32 struct {
|
|||
Max uint32
|
||||
}
|
||||
|
||||
//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_UGETRLIMIT
|
||||
//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_UGETRLIMIT
|
||||
|
||||
const rlimInf32 = ^uint32(0)
|
||||
const rlimInf64 = ^uint64(0)
|
||||
|
|
@ -208,7 +208,7 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
|
||||
//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
|
||||
|
||||
func Setrlimit(resource int, rlim *Rlimit) (err error) {
|
||||
err = prlimit(0, resource, rlim, nil)
|
||||
|
|
|
|||
2
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
generated
vendored
2
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
generated
vendored
|
|
@ -155,7 +155,7 @@ func Pipe(p []int) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
|
||||
func Pipe2(p []int, flags int) (err error) {
|
||||
if len(p) != 2 {
|
||||
|
|
|
|||
2
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
generated
vendored
2
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
generated
vendored
|
|
@ -104,7 +104,7 @@ func Pipe(p []int) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
|
||||
func Pipe2(p []int, flags int) (err error) {
|
||||
if len(p) != 2 {
|
||||
|
|
|
|||
8
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
generated
vendored
8
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
generated
vendored
|
|
@ -112,7 +112,7 @@ func setTimeval(sec, usec int64) Timeval {
|
|||
return Timeval{Sec: int32(sec), Usec: int32(usec)}
|
||||
}
|
||||
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
|
||||
func Pipe2(p []int, flags int) (err error) {
|
||||
if len(p) != 2 {
|
||||
|
|
@ -125,7 +125,7 @@ func Pipe2(p []int, flags int) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
//sysnb pipe() (p1 int, p2 int, err error)
|
||||
//sysnb pipe() (p1 int, p2 int, err error)
|
||||
|
||||
func Pipe(p []int) (err error) {
|
||||
if len(p) != 2 {
|
||||
|
|
@ -153,7 +153,7 @@ type rlimit32 struct {
|
|||
Max uint32
|
||||
}
|
||||
|
||||
//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT
|
||||
//sysnb getrlimit(resource int, rlim *rlimit32) (err error) = SYS_GETRLIMIT
|
||||
|
||||
func Getrlimit(resource int, rlim *Rlimit) (err error) {
|
||||
err = prlimit(0, resource, nil, rlim)
|
||||
|
|
@ -181,7 +181,7 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
|
||||
//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
|
||||
|
||||
func Setrlimit(resource int, rlim *Rlimit) (err error) {
|
||||
err = prlimit(0, resource, rlim, nil)
|
||||
|
|
|
|||
4
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
generated
vendored
4
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
generated
vendored
|
|
@ -99,7 +99,7 @@ func (cmsg *Cmsghdr) SetLen(length int) {
|
|||
cmsg.Len = uint64(length)
|
||||
}
|
||||
|
||||
//sysnb pipe(p *[2]_C_int) (err error)
|
||||
//sysnb pipe(p *[2]_C_int) (err error)
|
||||
|
||||
func Pipe(p []int) (err error) {
|
||||
if len(p) != 2 {
|
||||
|
|
@ -112,7 +112,7 @@ func Pipe(p []int) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
|
||||
func Pipe2(p []int, flags int) (err error) {
|
||||
if len(p) != 2 {
|
||||
|
|
|
|||
2
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
generated
vendored
2
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
generated
vendored
|
|
@ -154,7 +154,7 @@ func Pipe(p []int) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
|
||||
func Pipe2(p []int, flags int) (err error) {
|
||||
if len(p) != 2 {
|
||||
|
|
|
|||
2
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
generated
vendored
2
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
generated
vendored
|
|
@ -76,7 +76,7 @@ func setTimeval(sec, usec int64) Timeval {
|
|||
return Timeval{Sec: sec, Usec: usec}
|
||||
}
|
||||
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
|
||||
func Pipe(p []int) (err error) {
|
||||
if len(p) != 2 {
|
||||
|
|
|
|||
4
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
generated
vendored
4
src/cmd/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
generated
vendored
|
|
@ -115,7 +115,7 @@ func (cmsg *Cmsghdr) SetLen(length int) {
|
|||
cmsg.Len = uint64(length)
|
||||
}
|
||||
|
||||
//sysnb pipe(p *[2]_C_int) (err error)
|
||||
//sysnb pipe(p *[2]_C_int) (err error)
|
||||
|
||||
func Pipe(p []int) (err error) {
|
||||
if len(p) != 2 {
|
||||
|
|
@ -128,7 +128,7 @@ func Pipe(p []int) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
|
||||
func Pipe2(p []int, flags int) (err error) {
|
||||
if len(p) != 2 {
|
||||
|
|
|
|||
21
src/cmd/vendor/golang.org/x/sys/unix/syscall_netbsd.go
generated
vendored
21
src/cmd/vendor/golang.org/x/sys/unix/syscall_netbsd.go
generated
vendored
|
|
@ -110,7 +110,8 @@ func direntNamlen(buf []byte) (uint64, bool) {
|
|||
return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))
|
||||
}
|
||||
|
||||
//sysnb pipe() (fd1 int, fd2 int, err error)
|
||||
//sysnb pipe() (fd1 int, fd2 int, err error)
|
||||
|
||||
func Pipe(p []int) (err error) {
|
||||
if len(p) != 2 {
|
||||
return EINVAL
|
||||
|
|
@ -119,7 +120,21 @@ func Pipe(p []int) (err error) {
|
|||
return
|
||||
}
|
||||
|
||||
//sys Getdents(fd int, buf []byte) (n int, err error)
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
|
||||
func Pipe2(p []int, flags int) error {
|
||||
if len(p) != 2 {
|
||||
return EINVAL
|
||||
}
|
||||
var pp [2]_C_int
|
||||
err := pipe2(&pp, flags)
|
||||
p[0] = int(pp[0])
|
||||
p[1] = int(pp[1])
|
||||
return err
|
||||
}
|
||||
|
||||
//sys Getdents(fd int, buf []byte) (n int, err error)
|
||||
|
||||
func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
|
||||
n, err = Getdents(fd, buf)
|
||||
if err != nil || basep == nil {
|
||||
|
|
@ -159,7 +174,7 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
|
|||
|
||||
//sys ioctl(fd int, req uint, arg uintptr) (err error)
|
||||
|
||||
//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
|
||||
//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
|
||||
|
||||
func IoctlGetPtmget(fd int, req uint) (*Ptmget, error) {
|
||||
var value Ptmget
|
||||
|
|
|
|||
4
src/cmd/vendor/golang.org/x/sys/unix/syscall_openbsd.go
generated
vendored
4
src/cmd/vendor/golang.org/x/sys/unix/syscall_openbsd.go
generated
vendored
|
|
@ -92,7 +92,7 @@ func Pipe2(p []int, flags int) error {
|
|||
return err
|
||||
}
|
||||
|
||||
//sys Getdents(fd int, buf []byte) (n int, err error)
|
||||
//sys Getdents(fd int, buf []byte) (n int, err error)
|
||||
func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
|
||||
n, err = Getdents(fd, buf)
|
||||
if err != nil || basep == nil {
|
||||
|
|
@ -154,7 +154,7 @@ func setattrlistTimes(path string, times []Timespec, flags int) error {
|
|||
|
||||
//sys ioctl(fd int, req uint, arg uintptr) (err error)
|
||||
|
||||
//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
|
||||
//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
|
||||
|
||||
//sys ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error)
|
||||
|
||||
|
|
|
|||
16
src/cmd/vendor/golang.org/x/sys/unix/syscall_solaris.go
generated
vendored
16
src/cmd/vendor/golang.org/x/sys/unix/syscall_solaris.go
generated
vendored
|
|
@ -68,6 +68,19 @@ func Pipe(p []int) (err error) {
|
|||
return nil
|
||||
}
|
||||
|
||||
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
|
||||
|
||||
func Pipe2(p []int, flags int) error {
|
||||
if len(p) != 2 {
|
||||
return EINVAL
|
||||
}
|
||||
var pp [2]_C_int
|
||||
err := pipe2(&pp, flags)
|
||||
p[0] = int(pp[0])
|
||||
p[1] = int(pp[1])
|
||||
return err
|
||||
}
|
||||
|
||||
func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
|
||||
if sa.Port < 0 || sa.Port > 0xFFFF {
|
||||
return nil, 0, EINVAL
|
||||
|
|
@ -566,7 +579,7 @@ func IoctlGetTermio(fd int, req uint) (*Termio, error) {
|
|||
return &value, err
|
||||
}
|
||||
|
||||
//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error)
|
||||
//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error)
|
||||
|
||||
func Poll(fds []PollFd, timeout int) (n int, err error) {
|
||||
if len(fds) == 0 {
|
||||
|
|
@ -669,6 +682,7 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
|
|||
//sys Statvfs(path string, vfsstat *Statvfs_t) (err error)
|
||||
//sys Symlink(path string, link string) (err error)
|
||||
//sys Sync() (err error)
|
||||
//sys Sysconf(which int) (n int64, err error)
|
||||
//sysnb Times(tms *Tms) (ticks uintptr, err error)
|
||||
//sys Truncate(path string, length int64) (err error)
|
||||
//sys Fsync(fd int) (err error)
|
||||
|
|
|
|||
26
src/cmd/vendor/golang.org/x/sys/unix/timestruct.go
generated
vendored
26
src/cmd/vendor/golang.org/x/sys/unix/timestruct.go
generated
vendored
|
|
@ -8,12 +8,10 @@ package unix
|
|||
|
||||
import "time"
|
||||
|
||||
// TimespecToNsec converts a Timespec value into a number of
|
||||
// nanoseconds since the Unix epoch.
|
||||
func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
|
||||
// TimespecToNSec returns the time stored in ts as nanoseconds.
|
||||
func TimespecToNsec(ts Timespec) int64 { return ts.Nano() }
|
||||
|
||||
// NsecToTimespec takes a number of nanoseconds since the Unix epoch
|
||||
// and returns the corresponding Timespec value.
|
||||
// NsecToTimespec converts a number of nanoseconds into a Timespec.
|
||||
func NsecToTimespec(nsec int64) Timespec {
|
||||
sec := nsec / 1e9
|
||||
nsec = nsec % 1e9
|
||||
|
|
@ -42,12 +40,10 @@ func TimeToTimespec(t time.Time) (Timespec, error) {
|
|||
return ts, nil
|
||||
}
|
||||
|
||||
// TimevalToNsec converts a Timeval value into a number of nanoseconds
|
||||
// since the Unix epoch.
|
||||
func TimevalToNsec(tv Timeval) int64 { return int64(tv.Sec)*1e9 + int64(tv.Usec)*1e3 }
|
||||
// TimevalToNsec returns the time stored in tv as nanoseconds.
|
||||
func TimevalToNsec(tv Timeval) int64 { return tv.Nano() }
|
||||
|
||||
// NsecToTimeval takes a number of nanoseconds since the Unix epoch
|
||||
// and returns the corresponding Timeval value.
|
||||
// NsecToTimeval converts a number of nanoseconds into a Timeval.
|
||||
func NsecToTimeval(nsec int64) Timeval {
|
||||
nsec += 999 // round up to microsecond
|
||||
usec := nsec % 1e9 / 1e3
|
||||
|
|
@ -59,24 +55,22 @@ func NsecToTimeval(nsec int64) Timeval {
|
|||
return setTimeval(sec, usec)
|
||||
}
|
||||
|
||||
// Unix returns ts as the number of seconds and nanoseconds elapsed since the
|
||||
// Unix epoch.
|
||||
// Unix returns the time stored in ts as seconds plus nanoseconds.
|
||||
func (ts *Timespec) Unix() (sec int64, nsec int64) {
|
||||
return int64(ts.Sec), int64(ts.Nsec)
|
||||
}
|
||||
|
||||
// Unix returns tv as the number of seconds and nanoseconds elapsed since the
|
||||
// Unix epoch.
|
||||
// Unix returns the time stored in tv as seconds plus nanoseconds.
|
||||
func (tv *Timeval) Unix() (sec int64, nsec int64) {
|
||||
return int64(tv.Sec), int64(tv.Usec) * 1000
|
||||
}
|
||||
|
||||
// Nano returns ts as the number of nanoseconds elapsed since the Unix epoch.
|
||||
// Nano returns the time stored in ts as nanoseconds.
|
||||
func (ts *Timespec) Nano() int64 {
|
||||
return int64(ts.Sec)*1e9 + int64(ts.Nsec)
|
||||
}
|
||||
|
||||
// Nano returns tv as the number of nanoseconds elapsed since the Unix epoch.
|
||||
// Nano returns the time stored in tv as nanoseconds.
|
||||
func (tv *Timeval) Nano() int64 {
|
||||
return int64(tv.Sec)*1e9 + int64(tv.Usec)*1000
|
||||
}
|
||||
|
|
|
|||
62
src/cmd/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
generated
vendored
62
src/cmd/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
generated
vendored
|
|
@ -32,7 +32,7 @@ const (
|
|||
AF_LAT = 0xe
|
||||
AF_LINK = 0x12
|
||||
AF_LOCAL = 0x1
|
||||
AF_MAX = 0x28
|
||||
AF_MAX = 0x29
|
||||
AF_NATM = 0x1f
|
||||
AF_NDRV = 0x1b
|
||||
AF_NETBIOS = 0x21
|
||||
|
|
@ -49,6 +49,7 @@ const (
|
|||
AF_UNIX = 0x1
|
||||
AF_UNSPEC = 0x0
|
||||
AF_UTUN = 0x26
|
||||
AF_VSOCK = 0x28
|
||||
ALTWERASE = 0x200
|
||||
ATTR_BIT_MAP_COUNT = 0x5
|
||||
ATTR_CMN_ACCESSMASK = 0x20000
|
||||
|
|
@ -83,7 +84,7 @@ const (
|
|||
ATTR_CMN_PAROBJID = 0x80
|
||||
ATTR_CMN_RETURNED_ATTRS = 0x80000000
|
||||
ATTR_CMN_SCRIPT = 0x100
|
||||
ATTR_CMN_SETMASK = 0x41c7ff00
|
||||
ATTR_CMN_SETMASK = 0x51c7ff00
|
||||
ATTR_CMN_USERACCESS = 0x200000
|
||||
ATTR_CMN_UUID = 0x800000
|
||||
ATTR_CMN_VALIDMASK = 0xffffffff
|
||||
|
|
@ -357,7 +358,7 @@ const (
|
|||
DLT_LINUX_SLL = 0x71
|
||||
DLT_LOOP = 0x6c
|
||||
DLT_LTALK = 0x72
|
||||
DLT_MATCHING_MAX = 0xf5
|
||||
DLT_MATCHING_MAX = 0x10a
|
||||
DLT_MATCHING_MIN = 0x68
|
||||
DLT_MFR = 0xb6
|
||||
DLT_MOST = 0xd3
|
||||
|
|
@ -398,6 +399,7 @@ const (
|
|||
DLT_SYMANTEC_FIREWALL = 0x63
|
||||
DLT_TZSP = 0x80
|
||||
DLT_USB = 0xba
|
||||
DLT_USB_DARWIN = 0x10a
|
||||
DLT_USB_LINUX = 0xbd
|
||||
DLT_USB_LINUX_MMAPPED = 0xdc
|
||||
DLT_USER0 = 0x93
|
||||
|
|
@ -442,8 +444,8 @@ const (
|
|||
EVFILT_PROC = -0x5
|
||||
EVFILT_READ = -0x1
|
||||
EVFILT_SIGNAL = -0x6
|
||||
EVFILT_SYSCOUNT = 0xf
|
||||
EVFILT_THREADMARKER = 0xf
|
||||
EVFILT_SYSCOUNT = 0x11
|
||||
EVFILT_THREADMARKER = 0x11
|
||||
EVFILT_TIMER = -0x7
|
||||
EVFILT_USER = -0xa
|
||||
EVFILT_VM = -0xc
|
||||
|
|
@ -481,9 +483,12 @@ const (
|
|||
FSOPT_NOINMEMUPDATE = 0x2
|
||||
FSOPT_PACK_INVAL_ATTRS = 0x8
|
||||
FSOPT_REPORT_FULLSIZE = 0x4
|
||||
FSOPT_RETURN_REALDEV = 0x200
|
||||
F_ADDFILESIGS = 0x3d
|
||||
F_ADDFILESIGS_FOR_DYLD_SIM = 0x53
|
||||
F_ADDFILESIGS_INFO = 0x67
|
||||
F_ADDFILESIGS_RETURN = 0x61
|
||||
F_ADDFILESUPPL = 0x68
|
||||
F_ADDSIGS = 0x3b
|
||||
F_ALLOCATEALL = 0x4
|
||||
F_ALLOCATECONTIG = 0x2
|
||||
|
|
@ -505,8 +510,10 @@ const (
|
|||
F_GETOWN = 0x5
|
||||
F_GETPATH = 0x32
|
||||
F_GETPATH_MTMINFO = 0x47
|
||||
F_GETPATH_NOFIRMLINK = 0x66
|
||||
F_GETPROTECTIONCLASS = 0x3f
|
||||
F_GETPROTECTIONLEVEL = 0x4d
|
||||
F_GETSIGSINFO = 0x69
|
||||
F_GLOBAL_NOCACHE = 0x37
|
||||
F_LOG2PHYS = 0x31
|
||||
F_LOG2PHYS_EXT = 0x41
|
||||
|
|
@ -531,6 +538,7 @@ const (
|
|||
F_SETPROTECTIONCLASS = 0x40
|
||||
F_SETSIZE = 0x2b
|
||||
F_SINGLE_WRITER = 0x4c
|
||||
F_SPECULATIVE_READ = 0x65
|
||||
F_THAW_FS = 0x36
|
||||
F_TRANSCODEKEY = 0x4b
|
||||
F_TRIM_ACTIVE_FILE = 0x64
|
||||
|
|
@ -562,6 +570,7 @@ const (
|
|||
IFF_UP = 0x1
|
||||
IFNAMSIZ = 0x10
|
||||
IFT_1822 = 0x2
|
||||
IFT_6LOWPAN = 0x40
|
||||
IFT_AAL5 = 0x31
|
||||
IFT_ARCNET = 0x23
|
||||
IFT_ARCNETPLUS = 0x24
|
||||
|
|
@ -766,6 +775,9 @@ const (
|
|||
IPV6_2292PKTINFO = 0x13
|
||||
IPV6_2292PKTOPTIONS = 0x19
|
||||
IPV6_2292RTHDR = 0x18
|
||||
IPV6_ADDR_MC_FLAGS_PREFIX = 0x20
|
||||
IPV6_ADDR_MC_FLAGS_TRANSIENT = 0x10
|
||||
IPV6_ADDR_MC_FLAGS_UNICAST_BASED = 0x30
|
||||
IPV6_BINDV6ONLY = 0x1b
|
||||
IPV6_BOUND_IF = 0x7d
|
||||
IPV6_CHECKSUM = 0x1a
|
||||
|
|
@ -775,7 +787,7 @@ const (
|
|||
IPV6_FAITH = 0x1d
|
||||
IPV6_FLOWINFO_MASK = 0xffffff0f
|
||||
IPV6_FLOWLABEL_MASK = 0xffff0f00
|
||||
IPV6_FLOW_ECN_MASK = 0x300
|
||||
IPV6_FLOW_ECN_MASK = 0x3000
|
||||
IPV6_FRAGTTL = 0x3c
|
||||
IPV6_FW_ADD = 0x1e
|
||||
IPV6_FW_DEL = 0x1f
|
||||
|
|
@ -818,6 +830,7 @@ const (
|
|||
IP_DEFAULT_MULTICAST_LOOP = 0x1
|
||||
IP_DEFAULT_MULTICAST_TTL = 0x1
|
||||
IP_DF = 0x4000
|
||||
IP_DONTFRAG = 0x1c
|
||||
IP_DROP_MEMBERSHIP = 0xd
|
||||
IP_DROP_SOURCE_MEMBERSHIP = 0x47
|
||||
IP_DUMMYNET_CONFIGURE = 0x3c
|
||||
|
|
@ -889,6 +902,12 @@ const (
|
|||
KERN_OSRELEASE = 0x2
|
||||
KERN_OSTYPE = 0x1
|
||||
KERN_VERSION = 0x4
|
||||
LOCAL_PEERCRED = 0x1
|
||||
LOCAL_PEEREPID = 0x3
|
||||
LOCAL_PEEREUUID = 0x5
|
||||
LOCAL_PEERPID = 0x2
|
||||
LOCAL_PEERTOKEN = 0x6
|
||||
LOCAL_PEERUUID = 0x4
|
||||
LOCK_EX = 0x2
|
||||
LOCK_NB = 0x4
|
||||
LOCK_SH = 0x1
|
||||
|
|
@ -904,6 +923,7 @@ const (
|
|||
MADV_SEQUENTIAL = 0x2
|
||||
MADV_WILLNEED = 0x3
|
||||
MADV_ZERO_WIRED_PAGES = 0x6
|
||||
MAP_32BIT = 0x8000
|
||||
MAP_ANON = 0x1000
|
||||
MAP_ANONYMOUS = 0x1000
|
||||
MAP_COPY = 0x2
|
||||
|
|
@ -920,6 +940,17 @@ const (
|
|||
MAP_RESILIENT_CODESIGN = 0x2000
|
||||
MAP_RESILIENT_MEDIA = 0x4000
|
||||
MAP_SHARED = 0x1
|
||||
MAP_TRANSLATED_ALLOW_EXECUTE = 0x20000
|
||||
MAP_UNIX03 = 0x40000
|
||||
MCAST_BLOCK_SOURCE = 0x54
|
||||
MCAST_EXCLUDE = 0x2
|
||||
MCAST_INCLUDE = 0x1
|
||||
MCAST_JOIN_GROUP = 0x50
|
||||
MCAST_JOIN_SOURCE_GROUP = 0x52
|
||||
MCAST_LEAVE_GROUP = 0x51
|
||||
MCAST_LEAVE_SOURCE_GROUP = 0x53
|
||||
MCAST_UNBLOCK_SOURCE = 0x55
|
||||
MCAST_UNDEFINED = 0x0
|
||||
MCL_CURRENT = 0x1
|
||||
MCL_FUTURE = 0x2
|
||||
MNT_ASYNC = 0x40
|
||||
|
|
@ -931,6 +962,7 @@ const (
|
|||
MNT_DOVOLFS = 0x8000
|
||||
MNT_DWAIT = 0x4
|
||||
MNT_EXPORTED = 0x100
|
||||
MNT_EXT_ROOT_DATA_VOL = 0x1
|
||||
MNT_FORCE = 0x80000
|
||||
MNT_IGNORE_OWNERSHIP = 0x200000
|
||||
MNT_JOURNALED = 0x800000
|
||||
|
|
@ -947,12 +979,15 @@ const (
|
|||
MNT_QUOTA = 0x2000
|
||||
MNT_RDONLY = 0x1
|
||||
MNT_RELOAD = 0x40000
|
||||
MNT_REMOVABLE = 0x200
|
||||
MNT_ROOTFS = 0x4000
|
||||
MNT_SNAPSHOT = 0x40000000
|
||||
MNT_STRICTATIME = 0x80000000
|
||||
MNT_SYNCHRONOUS = 0x2
|
||||
MNT_UNION = 0x20
|
||||
MNT_UNKNOWNPERMISSIONS = 0x200000
|
||||
MNT_UPDATE = 0x10000
|
||||
MNT_VISFLAGMASK = 0x17f0f5ff
|
||||
MNT_VISFLAGMASK = 0xd7f0f7ff
|
||||
MNT_WAIT = 0x1
|
||||
MSG_CTRUNC = 0x20
|
||||
MSG_DONTROUTE = 0x4
|
||||
|
|
@ -963,6 +998,7 @@ const (
|
|||
MSG_HAVEMORE = 0x2000
|
||||
MSG_HOLD = 0x800
|
||||
MSG_NEEDSA = 0x10000
|
||||
MSG_NOSIGNAL = 0x80000
|
||||
MSG_OOB = 0x1
|
||||
MSG_PEEK = 0x2
|
||||
MSG_RCVMORE = 0x4000
|
||||
|
|
@ -979,9 +1015,10 @@ const (
|
|||
NET_RT_DUMP = 0x1
|
||||
NET_RT_DUMP2 = 0x7
|
||||
NET_RT_FLAGS = 0x2
|
||||
NET_RT_FLAGS_PRIV = 0xa
|
||||
NET_RT_IFLIST = 0x3
|
||||
NET_RT_IFLIST2 = 0x6
|
||||
NET_RT_MAXID = 0xa
|
||||
NET_RT_MAXID = 0xb
|
||||
NET_RT_STAT = 0x4
|
||||
NET_RT_TRASH = 0x5
|
||||
NFDBITS = 0x20
|
||||
|
|
@ -1019,6 +1056,7 @@ const (
|
|||
NOTE_LEEWAY = 0x10
|
||||
NOTE_LINK = 0x10
|
||||
NOTE_LOWAT = 0x1
|
||||
NOTE_MACHTIME = 0x100
|
||||
NOTE_MACH_CONTINUOUS_TIME = 0x80
|
||||
NOTE_NONE = 0x80
|
||||
NOTE_NSECONDS = 0x4
|
||||
|
|
@ -1065,6 +1103,7 @@ const (
|
|||
O_NDELAY = 0x4
|
||||
O_NOCTTY = 0x20000
|
||||
O_NOFOLLOW = 0x100
|
||||
O_NOFOLLOW_ANY = 0x20000000
|
||||
O_NONBLOCK = 0x4
|
||||
O_POPUP = 0x80000000
|
||||
O_RDONLY = 0x0
|
||||
|
|
@ -1136,6 +1175,7 @@ const (
|
|||
RTF_BROADCAST = 0x400000
|
||||
RTF_CLONING = 0x100
|
||||
RTF_CONDEMNED = 0x2000000
|
||||
RTF_DEAD = 0x20000000
|
||||
RTF_DELCLONE = 0x80
|
||||
RTF_DONE = 0x40
|
||||
RTF_DYNAMIC = 0x10
|
||||
|
|
@ -1143,6 +1183,7 @@ const (
|
|||
RTF_HOST = 0x4
|
||||
RTF_IFREF = 0x4000000
|
||||
RTF_IFSCOPE = 0x1000000
|
||||
RTF_LLDATA = 0x400
|
||||
RTF_LLINFO = 0x400
|
||||
RTF_LOCAL = 0x200000
|
||||
RTF_MODIFIED = 0x20
|
||||
|
|
@ -1210,6 +1251,7 @@ const (
|
|||
SIOCGDRVSPEC = 0xc028697b
|
||||
SIOCGETVLAN = 0xc020697f
|
||||
SIOCGHIWAT = 0x40047301
|
||||
SIOCGIF6LOWPAN = 0xc02069c5
|
||||
SIOCGIFADDR = 0xc0206921
|
||||
SIOCGIFALTMTU = 0xc0206948
|
||||
SIOCGIFASYNCMAP = 0xc020697c
|
||||
|
|
@ -1220,6 +1262,7 @@ const (
|
|||
SIOCGIFDEVMTU = 0xc0206944
|
||||
SIOCGIFDSTADDR = 0xc0206922
|
||||
SIOCGIFFLAGS = 0xc0206911
|
||||
SIOCGIFFUNCTIONALTYPE = 0xc02069ad
|
||||
SIOCGIFGENERIC = 0xc020693a
|
||||
SIOCGIFKPI = 0xc0206987
|
||||
SIOCGIFMAC = 0xc0206982
|
||||
|
|
@ -1233,6 +1276,7 @@ const (
|
|||
SIOCGIFSTATUS = 0xc331693d
|
||||
SIOCGIFVLAN = 0xc020697f
|
||||
SIOCGIFWAKEFLAGS = 0xc0206988
|
||||
SIOCGIFXMEDIA = 0xc02c6948
|
||||
SIOCGLOWAT = 0x40047303
|
||||
SIOCGPGRP = 0x40047309
|
||||
SIOCIFCREATE = 0xc0206978
|
||||
|
|
@ -1243,6 +1287,7 @@ const (
|
|||
SIOCSDRVSPEC = 0x8028697b
|
||||
SIOCSETVLAN = 0x8020697e
|
||||
SIOCSHIWAT = 0x80047300
|
||||
SIOCSIF6LOWPAN = 0x802069c4
|
||||
SIOCSIFADDR = 0x8020690c
|
||||
SIOCSIFALTMTU = 0x80206945
|
||||
SIOCSIFASYNCMAP = 0x8020697d
|
||||
|
|
@ -1270,6 +1315,7 @@ const (
|
|||
SOCK_RDM = 0x4
|
||||
SOCK_SEQPACKET = 0x5
|
||||
SOCK_STREAM = 0x1
|
||||
SOL_LOCAL = 0x0
|
||||
SOL_SOCKET = 0xffff
|
||||
SOMAXCONN = 0x80
|
||||
SO_ACCEPTCONN = 0x2
|
||||
|
|
|
|||
62
src/cmd/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
generated
vendored
62
src/cmd/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
generated
vendored
|
|
@ -32,7 +32,7 @@ const (
|
|||
AF_LAT = 0xe
|
||||
AF_LINK = 0x12
|
||||
AF_LOCAL = 0x1
|
||||
AF_MAX = 0x28
|
||||
AF_MAX = 0x29
|
||||
AF_NATM = 0x1f
|
||||
AF_NDRV = 0x1b
|
||||
AF_NETBIOS = 0x21
|
||||
|
|
@ -49,6 +49,7 @@ const (
|
|||
AF_UNIX = 0x1
|
||||
AF_UNSPEC = 0x0
|
||||
AF_UTUN = 0x26
|
||||
AF_VSOCK = 0x28
|
||||
ALTWERASE = 0x200
|
||||
ATTR_BIT_MAP_COUNT = 0x5
|
||||
ATTR_CMN_ACCESSMASK = 0x20000
|
||||
|
|
@ -83,7 +84,7 @@ const (
|
|||
ATTR_CMN_PAROBJID = 0x80
|
||||
ATTR_CMN_RETURNED_ATTRS = 0x80000000
|
||||
ATTR_CMN_SCRIPT = 0x100
|
||||
ATTR_CMN_SETMASK = 0x41c7ff00
|
||||
ATTR_CMN_SETMASK = 0x51c7ff00
|
||||
ATTR_CMN_USERACCESS = 0x200000
|
||||
ATTR_CMN_UUID = 0x800000
|
||||
ATTR_CMN_VALIDMASK = 0xffffffff
|
||||
|
|
@ -357,7 +358,7 @@ const (
|
|||
DLT_LINUX_SLL = 0x71
|
||||
DLT_LOOP = 0x6c
|
||||
DLT_LTALK = 0x72
|
||||
DLT_MATCHING_MAX = 0xf5
|
||||
DLT_MATCHING_MAX = 0x10a
|
||||
DLT_MATCHING_MIN = 0x68
|
||||
DLT_MFR = 0xb6
|
||||
DLT_MOST = 0xd3
|
||||
|
|
@ -398,6 +399,7 @@ const (
|
|||
DLT_SYMANTEC_FIREWALL = 0x63
|
||||
DLT_TZSP = 0x80
|
||||
DLT_USB = 0xba
|
||||
DLT_USB_DARWIN = 0x10a
|
||||
DLT_USB_LINUX = 0xbd
|
||||
DLT_USB_LINUX_MMAPPED = 0xdc
|
||||
DLT_USER0 = 0x93
|
||||
|
|
@ -442,8 +444,8 @@ const (
|
|||
EVFILT_PROC = -0x5
|
||||
EVFILT_READ = -0x1
|
||||
EVFILT_SIGNAL = -0x6
|
||||
EVFILT_SYSCOUNT = 0xf
|
||||
EVFILT_THREADMARKER = 0xf
|
||||
EVFILT_SYSCOUNT = 0x11
|
||||
EVFILT_THREADMARKER = 0x11
|
||||
EVFILT_TIMER = -0x7
|
||||
EVFILT_USER = -0xa
|
||||
EVFILT_VM = -0xc
|
||||
|
|
@ -481,9 +483,12 @@ const (
|
|||
FSOPT_NOINMEMUPDATE = 0x2
|
||||
FSOPT_PACK_INVAL_ATTRS = 0x8
|
||||
FSOPT_REPORT_FULLSIZE = 0x4
|
||||
FSOPT_RETURN_REALDEV = 0x200
|
||||
F_ADDFILESIGS = 0x3d
|
||||
F_ADDFILESIGS_FOR_DYLD_SIM = 0x53
|
||||
F_ADDFILESIGS_INFO = 0x67
|
||||
F_ADDFILESIGS_RETURN = 0x61
|
||||
F_ADDFILESUPPL = 0x68
|
||||
F_ADDSIGS = 0x3b
|
||||
F_ALLOCATEALL = 0x4
|
||||
F_ALLOCATECONTIG = 0x2
|
||||
|
|
@ -505,8 +510,10 @@ const (
|
|||
F_GETOWN = 0x5
|
||||
F_GETPATH = 0x32
|
||||
F_GETPATH_MTMINFO = 0x47
|
||||
F_GETPATH_NOFIRMLINK = 0x66
|
||||
F_GETPROTECTIONCLASS = 0x3f
|
||||
F_GETPROTECTIONLEVEL = 0x4d
|
||||
F_GETSIGSINFO = 0x69
|
||||
F_GLOBAL_NOCACHE = 0x37
|
||||
F_LOG2PHYS = 0x31
|
||||
F_LOG2PHYS_EXT = 0x41
|
||||
|
|
@ -531,6 +538,7 @@ const (
|
|||
F_SETPROTECTIONCLASS = 0x40
|
||||
F_SETSIZE = 0x2b
|
||||
F_SINGLE_WRITER = 0x4c
|
||||
F_SPECULATIVE_READ = 0x65
|
||||
F_THAW_FS = 0x36
|
||||
F_TRANSCODEKEY = 0x4b
|
||||
F_TRIM_ACTIVE_FILE = 0x64
|
||||
|
|
@ -562,6 +570,7 @@ const (
|
|||
IFF_UP = 0x1
|
||||
IFNAMSIZ = 0x10
|
||||
IFT_1822 = 0x2
|
||||
IFT_6LOWPAN = 0x40
|
||||
IFT_AAL5 = 0x31
|
||||
IFT_ARCNET = 0x23
|
||||
IFT_ARCNETPLUS = 0x24
|
||||
|
|
@ -766,6 +775,9 @@ const (
|
|||
IPV6_2292PKTINFO = 0x13
|
||||
IPV6_2292PKTOPTIONS = 0x19
|
||||
IPV6_2292RTHDR = 0x18
|
||||
IPV6_ADDR_MC_FLAGS_PREFIX = 0x20
|
||||
IPV6_ADDR_MC_FLAGS_TRANSIENT = 0x10
|
||||
IPV6_ADDR_MC_FLAGS_UNICAST_BASED = 0x30
|
||||
IPV6_BINDV6ONLY = 0x1b
|
||||
IPV6_BOUND_IF = 0x7d
|
||||
IPV6_CHECKSUM = 0x1a
|
||||
|
|
@ -775,7 +787,7 @@ const (
|
|||
IPV6_FAITH = 0x1d
|
||||
IPV6_FLOWINFO_MASK = 0xffffff0f
|
||||
IPV6_FLOWLABEL_MASK = 0xffff0f00
|
||||
IPV6_FLOW_ECN_MASK = 0x300
|
||||
IPV6_FLOW_ECN_MASK = 0x3000
|
||||
IPV6_FRAGTTL = 0x3c
|
||||
IPV6_FW_ADD = 0x1e
|
||||
IPV6_FW_DEL = 0x1f
|
||||
|
|
@ -818,6 +830,7 @@ const (
|
|||
IP_DEFAULT_MULTICAST_LOOP = 0x1
|
||||
IP_DEFAULT_MULTICAST_TTL = 0x1
|
||||
IP_DF = 0x4000
|
||||
IP_DONTFRAG = 0x1c
|
||||
IP_DROP_MEMBERSHIP = 0xd
|
||||
IP_DROP_SOURCE_MEMBERSHIP = 0x47
|
||||
IP_DUMMYNET_CONFIGURE = 0x3c
|
||||
|
|
@ -889,6 +902,12 @@ const (
|
|||
KERN_OSRELEASE = 0x2
|
||||
KERN_OSTYPE = 0x1
|
||||
KERN_VERSION = 0x4
|
||||
LOCAL_PEERCRED = 0x1
|
||||
LOCAL_PEEREPID = 0x3
|
||||
LOCAL_PEEREUUID = 0x5
|
||||
LOCAL_PEERPID = 0x2
|
||||
LOCAL_PEERTOKEN = 0x6
|
||||
LOCAL_PEERUUID = 0x4
|
||||
LOCK_EX = 0x2
|
||||
LOCK_NB = 0x4
|
||||
LOCK_SH = 0x1
|
||||
|
|
@ -904,6 +923,7 @@ const (
|
|||
MADV_SEQUENTIAL = 0x2
|
||||
MADV_WILLNEED = 0x3
|
||||
MADV_ZERO_WIRED_PAGES = 0x6
|
||||
MAP_32BIT = 0x8000
|
||||
MAP_ANON = 0x1000
|
||||
MAP_ANONYMOUS = 0x1000
|
||||
MAP_COPY = 0x2
|
||||
|
|
@ -920,6 +940,17 @@ const (
|
|||
MAP_RESILIENT_CODESIGN = 0x2000
|
||||
MAP_RESILIENT_MEDIA = 0x4000
|
||||
MAP_SHARED = 0x1
|
||||
MAP_TRANSLATED_ALLOW_EXECUTE = 0x20000
|
||||
MAP_UNIX03 = 0x40000
|
||||
MCAST_BLOCK_SOURCE = 0x54
|
||||
MCAST_EXCLUDE = 0x2
|
||||
MCAST_INCLUDE = 0x1
|
||||
MCAST_JOIN_GROUP = 0x50
|
||||
MCAST_JOIN_SOURCE_GROUP = 0x52
|
||||
MCAST_LEAVE_GROUP = 0x51
|
||||
MCAST_LEAVE_SOURCE_GROUP = 0x53
|
||||
MCAST_UNBLOCK_SOURCE = 0x55
|
||||
MCAST_UNDEFINED = 0x0
|
||||
MCL_CURRENT = 0x1
|
||||
MCL_FUTURE = 0x2
|
||||
MNT_ASYNC = 0x40
|
||||
|
|
@ -931,6 +962,7 @@ const (
|
|||
MNT_DOVOLFS = 0x8000
|
||||
MNT_DWAIT = 0x4
|
||||
MNT_EXPORTED = 0x100
|
||||
MNT_EXT_ROOT_DATA_VOL = 0x1
|
||||
MNT_FORCE = 0x80000
|
||||
MNT_IGNORE_OWNERSHIP = 0x200000
|
||||
MNT_JOURNALED = 0x800000
|
||||
|
|
@ -947,12 +979,15 @@ const (
|
|||
MNT_QUOTA = 0x2000
|
||||
MNT_RDONLY = 0x1
|
||||
MNT_RELOAD = 0x40000
|
||||
MNT_REMOVABLE = 0x200
|
||||
MNT_ROOTFS = 0x4000
|
||||
MNT_SNAPSHOT = 0x40000000
|
||||
MNT_STRICTATIME = 0x80000000
|
||||
MNT_SYNCHRONOUS = 0x2
|
||||
MNT_UNION = 0x20
|
||||
MNT_UNKNOWNPERMISSIONS = 0x200000
|
||||
MNT_UPDATE = 0x10000
|
||||
MNT_VISFLAGMASK = 0x17f0f5ff
|
||||
MNT_VISFLAGMASK = 0xd7f0f7ff
|
||||
MNT_WAIT = 0x1
|
||||
MSG_CTRUNC = 0x20
|
||||
MSG_DONTROUTE = 0x4
|
||||
|
|
@ -963,6 +998,7 @@ const (
|
|||
MSG_HAVEMORE = 0x2000
|
||||
MSG_HOLD = 0x800
|
||||
MSG_NEEDSA = 0x10000
|
||||
MSG_NOSIGNAL = 0x80000
|
||||
MSG_OOB = 0x1
|
||||
MSG_PEEK = 0x2
|
||||
MSG_RCVMORE = 0x4000
|
||||
|
|
@ -979,9 +1015,10 @@ const (
|
|||
NET_RT_DUMP = 0x1
|
||||
NET_RT_DUMP2 = 0x7
|
||||
NET_RT_FLAGS = 0x2
|
||||
NET_RT_FLAGS_PRIV = 0xa
|
||||
NET_RT_IFLIST = 0x3
|
||||
NET_RT_IFLIST2 = 0x6
|
||||
NET_RT_MAXID = 0xa
|
||||
NET_RT_MAXID = 0xb
|
||||
NET_RT_STAT = 0x4
|
||||
NET_RT_TRASH = 0x5
|
||||
NFDBITS = 0x20
|
||||
|
|
@ -1019,6 +1056,7 @@ const (
|
|||
NOTE_LEEWAY = 0x10
|
||||
NOTE_LINK = 0x10
|
||||
NOTE_LOWAT = 0x1
|
||||
NOTE_MACHTIME = 0x100
|
||||
NOTE_MACH_CONTINUOUS_TIME = 0x80
|
||||
NOTE_NONE = 0x80
|
||||
NOTE_NSECONDS = 0x4
|
||||
|
|
@ -1065,6 +1103,7 @@ const (
|
|||
O_NDELAY = 0x4
|
||||
O_NOCTTY = 0x20000
|
||||
O_NOFOLLOW = 0x100
|
||||
O_NOFOLLOW_ANY = 0x20000000
|
||||
O_NONBLOCK = 0x4
|
||||
O_POPUP = 0x80000000
|
||||
O_RDONLY = 0x0
|
||||
|
|
@ -1136,6 +1175,7 @@ const (
|
|||
RTF_BROADCAST = 0x400000
|
||||
RTF_CLONING = 0x100
|
||||
RTF_CONDEMNED = 0x2000000
|
||||
RTF_DEAD = 0x20000000
|
||||
RTF_DELCLONE = 0x80
|
||||
RTF_DONE = 0x40
|
||||
RTF_DYNAMIC = 0x10
|
||||
|
|
@ -1143,6 +1183,7 @@ const (
|
|||
RTF_HOST = 0x4
|
||||
RTF_IFREF = 0x4000000
|
||||
RTF_IFSCOPE = 0x1000000
|
||||
RTF_LLDATA = 0x400
|
||||
RTF_LLINFO = 0x400
|
||||
RTF_LOCAL = 0x200000
|
||||
RTF_MODIFIED = 0x20
|
||||
|
|
@ -1210,6 +1251,7 @@ const (
|
|||
SIOCGDRVSPEC = 0xc028697b
|
||||
SIOCGETVLAN = 0xc020697f
|
||||
SIOCGHIWAT = 0x40047301
|
||||
SIOCGIF6LOWPAN = 0xc02069c5
|
||||
SIOCGIFADDR = 0xc0206921
|
||||
SIOCGIFALTMTU = 0xc0206948
|
||||
SIOCGIFASYNCMAP = 0xc020697c
|
||||
|
|
@ -1220,6 +1262,7 @@ const (
|
|||
SIOCGIFDEVMTU = 0xc0206944
|
||||
SIOCGIFDSTADDR = 0xc0206922
|
||||
SIOCGIFFLAGS = 0xc0206911
|
||||
SIOCGIFFUNCTIONALTYPE = 0xc02069ad
|
||||
SIOCGIFGENERIC = 0xc020693a
|
||||
SIOCGIFKPI = 0xc0206987
|
||||
SIOCGIFMAC = 0xc0206982
|
||||
|
|
@ -1233,6 +1276,7 @@ const (
|
|||
SIOCGIFSTATUS = 0xc331693d
|
||||
SIOCGIFVLAN = 0xc020697f
|
||||
SIOCGIFWAKEFLAGS = 0xc0206988
|
||||
SIOCGIFXMEDIA = 0xc02c6948
|
||||
SIOCGLOWAT = 0x40047303
|
||||
SIOCGPGRP = 0x40047309
|
||||
SIOCIFCREATE = 0xc0206978
|
||||
|
|
@ -1243,6 +1287,7 @@ const (
|
|||
SIOCSDRVSPEC = 0x8028697b
|
||||
SIOCSETVLAN = 0x8020697e
|
||||
SIOCSHIWAT = 0x80047300
|
||||
SIOCSIF6LOWPAN = 0x802069c4
|
||||
SIOCSIFADDR = 0x8020690c
|
||||
SIOCSIFALTMTU = 0x80206945
|
||||
SIOCSIFASYNCMAP = 0x8020697d
|
||||
|
|
@ -1270,6 +1315,7 @@ const (
|
|||
SOCK_RDM = 0x4
|
||||
SOCK_SEQPACKET = 0x5
|
||||
SOCK_STREAM = 0x1
|
||||
SOL_LOCAL = 0x0
|
||||
SOL_SOCKET = 0xffff
|
||||
SOMAXCONN = 0x80
|
||||
SO_ACCEPTCONN = 0x2
|
||||
|
|
|
|||
157
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux.go
generated
vendored
157
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux.go
generated
vendored
|
|
@ -65,6 +65,7 @@ const (
|
|||
ALG_OP_ENCRYPT = 0x1
|
||||
ALG_SET_AEAD_ASSOCLEN = 0x4
|
||||
ALG_SET_AEAD_AUTHSIZE = 0x5
|
||||
ALG_SET_DRBG_ENTROPY = 0x6
|
||||
ALG_SET_IV = 0x2
|
||||
ALG_SET_KEY = 0x1
|
||||
ALG_SET_OP = 0x3
|
||||
|
|
@ -179,8 +180,10 @@ const (
|
|||
BPF_F_ANY_ALIGNMENT = 0x2
|
||||
BPF_F_QUERY_EFFECTIVE = 0x1
|
||||
BPF_F_REPLACE = 0x4
|
||||
BPF_F_SLEEPABLE = 0x10
|
||||
BPF_F_STRICT_ALIGNMENT = 0x1
|
||||
BPF_F_TEST_RND_HI32 = 0x4
|
||||
BPF_F_TEST_RUN_ON_CPU = 0x1
|
||||
BPF_F_TEST_STATE_FREQ = 0x8
|
||||
BPF_H = 0x8
|
||||
BPF_IMM = 0x0
|
||||
|
|
@ -219,6 +222,7 @@ const (
|
|||
BPF_NET_OFF = -0x100000
|
||||
BPF_OBJ_NAME_LEN = 0x10
|
||||
BPF_OR = 0x40
|
||||
BPF_PSEUDO_BTF_ID = 0x3
|
||||
BPF_PSEUDO_CALL = 0x1
|
||||
BPF_PSEUDO_MAP_FD = 0x1
|
||||
BPF_PSEUDO_MAP_VALUE = 0x2
|
||||
|
|
@ -309,6 +313,7 @@ const (
|
|||
CAN_J1939 = 0x7
|
||||
CAN_MAX_DLC = 0x8
|
||||
CAN_MAX_DLEN = 0x8
|
||||
CAN_MAX_RAW_DLC = 0xf
|
||||
CAN_MCNET = 0x5
|
||||
CAN_MTU = 0x10
|
||||
CAN_NPROTO = 0x8
|
||||
|
|
@ -429,10 +434,13 @@ const (
|
|||
DEBUGFS_MAGIC = 0x64626720
|
||||
DEVLINK_CMD_ESWITCH_MODE_GET = 0x1d
|
||||
DEVLINK_CMD_ESWITCH_MODE_SET = 0x1e
|
||||
DEVLINK_FLASH_OVERWRITE_IDENTIFIERS = 0x2
|
||||
DEVLINK_FLASH_OVERWRITE_SETTINGS = 0x1
|
||||
DEVLINK_GENL_MCGRP_CONFIG_NAME = "config"
|
||||
DEVLINK_GENL_NAME = "devlink"
|
||||
DEVLINK_GENL_VERSION = 0x1
|
||||
DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX = 0x14
|
||||
DEVLINK_SUPPORTED_FLASH_OVERWRITE_SECTIONS = 0x3
|
||||
DEVMEM_MAGIC = 0x454d444d
|
||||
DEVPTS_SUPER_MAGIC = 0x1cd1
|
||||
DMA_BUF_MAGIC = 0x444d4142
|
||||
|
|
@ -477,9 +485,9 @@ const (
|
|||
DM_UUID_FLAG = 0x4000
|
||||
DM_UUID_LEN = 0x81
|
||||
DM_VERSION = 0xc138fd00
|
||||
DM_VERSION_EXTRA = "-ioctl (2020-02-27)"
|
||||
DM_VERSION_EXTRA = "-ioctl (2020-10-01)"
|
||||
DM_VERSION_MAJOR = 0x4
|
||||
DM_VERSION_MINOR = 0x2a
|
||||
DM_VERSION_MINOR = 0x2b
|
||||
DM_VERSION_PATCHLEVEL = 0x0
|
||||
DT_BLK = 0x6
|
||||
DT_CHR = 0x2
|
||||
|
|
@ -520,6 +528,119 @@ const (
|
|||
EPOLL_CTL_DEL = 0x2
|
||||
EPOLL_CTL_MOD = 0x3
|
||||
EROFS_SUPER_MAGIC_V1 = 0xe0f5e1e2
|
||||
ESP_V4_FLOW = 0xa
|
||||
ESP_V6_FLOW = 0xc
|
||||
ETHER_FLOW = 0x12
|
||||
ETHTOOL_BUSINFO_LEN = 0x20
|
||||
ETHTOOL_EROMVERS_LEN = 0x20
|
||||
ETHTOOL_FEC_AUTO = 0x2
|
||||
ETHTOOL_FEC_BASER = 0x10
|
||||
ETHTOOL_FEC_LLRS = 0x20
|
||||
ETHTOOL_FEC_NONE = 0x1
|
||||
ETHTOOL_FEC_OFF = 0x4
|
||||
ETHTOOL_FEC_RS = 0x8
|
||||
ETHTOOL_FLAG_ALL = 0x7
|
||||
ETHTOOL_FLAG_COMPACT_BITSETS = 0x1
|
||||
ETHTOOL_FLAG_OMIT_REPLY = 0x2
|
||||
ETHTOOL_FLAG_STATS = 0x4
|
||||
ETHTOOL_FLASHDEV = 0x33
|
||||
ETHTOOL_FLASH_MAX_FILENAME = 0x80
|
||||
ETHTOOL_FWVERS_LEN = 0x20
|
||||
ETHTOOL_F_COMPAT = 0x4
|
||||
ETHTOOL_F_UNSUPPORTED = 0x1
|
||||
ETHTOOL_F_WISH = 0x2
|
||||
ETHTOOL_GCHANNELS = 0x3c
|
||||
ETHTOOL_GCOALESCE = 0xe
|
||||
ETHTOOL_GDRVINFO = 0x3
|
||||
ETHTOOL_GEEE = 0x44
|
||||
ETHTOOL_GEEPROM = 0xb
|
||||
ETHTOOL_GENL_NAME = "ethtool"
|
||||
ETHTOOL_GENL_VERSION = 0x1
|
||||
ETHTOOL_GET_DUMP_DATA = 0x40
|
||||
ETHTOOL_GET_DUMP_FLAG = 0x3f
|
||||
ETHTOOL_GET_TS_INFO = 0x41
|
||||
ETHTOOL_GFEATURES = 0x3a
|
||||
ETHTOOL_GFECPARAM = 0x50
|
||||
ETHTOOL_GFLAGS = 0x25
|
||||
ETHTOOL_GGRO = 0x2b
|
||||
ETHTOOL_GGSO = 0x23
|
||||
ETHTOOL_GLINK = 0xa
|
||||
ETHTOOL_GLINKSETTINGS = 0x4c
|
||||
ETHTOOL_GMODULEEEPROM = 0x43
|
||||
ETHTOOL_GMODULEINFO = 0x42
|
||||
ETHTOOL_GMSGLVL = 0x7
|
||||
ETHTOOL_GPAUSEPARAM = 0x12
|
||||
ETHTOOL_GPERMADDR = 0x20
|
||||
ETHTOOL_GPFLAGS = 0x27
|
||||
ETHTOOL_GPHYSTATS = 0x4a
|
||||
ETHTOOL_GREGS = 0x4
|
||||
ETHTOOL_GRINGPARAM = 0x10
|
||||
ETHTOOL_GRSSH = 0x46
|
||||
ETHTOOL_GRXCLSRLALL = 0x30
|
||||
ETHTOOL_GRXCLSRLCNT = 0x2e
|
||||
ETHTOOL_GRXCLSRULE = 0x2f
|
||||
ETHTOOL_GRXCSUM = 0x14
|
||||
ETHTOOL_GRXFH = 0x29
|
||||
ETHTOOL_GRXFHINDIR = 0x38
|
||||
ETHTOOL_GRXNTUPLE = 0x36
|
||||
ETHTOOL_GRXRINGS = 0x2d
|
||||
ETHTOOL_GSET = 0x1
|
||||
ETHTOOL_GSG = 0x18
|
||||
ETHTOOL_GSSET_INFO = 0x37
|
||||
ETHTOOL_GSTATS = 0x1d
|
||||
ETHTOOL_GSTRINGS = 0x1b
|
||||
ETHTOOL_GTSO = 0x1e
|
||||
ETHTOOL_GTUNABLE = 0x48
|
||||
ETHTOOL_GTXCSUM = 0x16
|
||||
ETHTOOL_GUFO = 0x21
|
||||
ETHTOOL_GWOL = 0x5
|
||||
ETHTOOL_MCGRP_MONITOR_NAME = "monitor"
|
||||
ETHTOOL_NWAY_RST = 0x9
|
||||
ETHTOOL_PERQUEUE = 0x4b
|
||||
ETHTOOL_PHYS_ID = 0x1c
|
||||
ETHTOOL_PHY_EDPD_DFLT_TX_MSECS = 0xffff
|
||||
ETHTOOL_PHY_EDPD_DISABLE = 0x0
|
||||
ETHTOOL_PHY_EDPD_NO_TX = 0xfffe
|
||||
ETHTOOL_PHY_FAST_LINK_DOWN_OFF = 0xff
|
||||
ETHTOOL_PHY_FAST_LINK_DOWN_ON = 0x0
|
||||
ETHTOOL_PHY_GTUNABLE = 0x4e
|
||||
ETHTOOL_PHY_STUNABLE = 0x4f
|
||||
ETHTOOL_RESET = 0x34
|
||||
ETHTOOL_RXNTUPLE_ACTION_CLEAR = -0x2
|
||||
ETHTOOL_RXNTUPLE_ACTION_DROP = -0x1
|
||||
ETHTOOL_RX_FLOW_SPEC_RING = 0xffffffff
|
||||
ETHTOOL_RX_FLOW_SPEC_RING_VF = 0xff00000000
|
||||
ETHTOOL_RX_FLOW_SPEC_RING_VF_OFF = 0x20
|
||||
ETHTOOL_SCHANNELS = 0x3d
|
||||
ETHTOOL_SCOALESCE = 0xf
|
||||
ETHTOOL_SEEE = 0x45
|
||||
ETHTOOL_SEEPROM = 0xc
|
||||
ETHTOOL_SET_DUMP = 0x3e
|
||||
ETHTOOL_SFEATURES = 0x3b
|
||||
ETHTOOL_SFECPARAM = 0x51
|
||||
ETHTOOL_SFLAGS = 0x26
|
||||
ETHTOOL_SGRO = 0x2c
|
||||
ETHTOOL_SGSO = 0x24
|
||||
ETHTOOL_SLINKSETTINGS = 0x4d
|
||||
ETHTOOL_SMSGLVL = 0x8
|
||||
ETHTOOL_SPAUSEPARAM = 0x13
|
||||
ETHTOOL_SPFLAGS = 0x28
|
||||
ETHTOOL_SRINGPARAM = 0x11
|
||||
ETHTOOL_SRSSH = 0x47
|
||||
ETHTOOL_SRXCLSRLDEL = 0x31
|
||||
ETHTOOL_SRXCLSRLINS = 0x32
|
||||
ETHTOOL_SRXCSUM = 0x15
|
||||
ETHTOOL_SRXFH = 0x2a
|
||||
ETHTOOL_SRXFHINDIR = 0x39
|
||||
ETHTOOL_SRXNTUPLE = 0x35
|
||||
ETHTOOL_SSET = 0x2
|
||||
ETHTOOL_SSG = 0x19
|
||||
ETHTOOL_STSO = 0x1f
|
||||
ETHTOOL_STUNABLE = 0x49
|
||||
ETHTOOL_STXCSUM = 0x17
|
||||
ETHTOOL_SUFO = 0x22
|
||||
ETHTOOL_SWOL = 0x6
|
||||
ETHTOOL_TEST = 0x1a
|
||||
ETH_P_1588 = 0x88f7
|
||||
ETH_P_8021AD = 0x88a8
|
||||
ETH_P_8021AH = 0x88e7
|
||||
|
|
@ -544,6 +665,7 @@ const (
|
|||
ETH_P_CAIF = 0xf7
|
||||
ETH_P_CAN = 0xc
|
||||
ETH_P_CANFD = 0xd
|
||||
ETH_P_CFM = 0x8902
|
||||
ETH_P_CONTROL = 0x16
|
||||
ETH_P_CUST = 0x6006
|
||||
ETH_P_DDCMP = 0x6
|
||||
|
|
@ -714,7 +836,6 @@ const (
|
|||
FSCRYPT_POLICY_FLAGS_PAD_4 = 0x0
|
||||
FSCRYPT_POLICY_FLAGS_PAD_8 = 0x1
|
||||
FSCRYPT_POLICY_FLAGS_PAD_MASK = 0x3
|
||||
FSCRYPT_POLICY_FLAGS_VALID = 0x1f
|
||||
FSCRYPT_POLICY_FLAG_DIRECT_KEY = 0x4
|
||||
FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32 = 0x10
|
||||
FSCRYPT_POLICY_FLAG_IV_INO_LBLK_64 = 0x8
|
||||
|
|
@ -745,7 +866,7 @@ const (
|
|||
FS_POLICY_FLAGS_PAD_4 = 0x0
|
||||
FS_POLICY_FLAGS_PAD_8 = 0x1
|
||||
FS_POLICY_FLAGS_PAD_MASK = 0x3
|
||||
FS_POLICY_FLAGS_VALID = 0x1f
|
||||
FS_POLICY_FLAGS_VALID = 0x7
|
||||
FS_VERITY_FL = 0x100000
|
||||
FS_VERITY_HASH_ALG_SHA256 = 0x1
|
||||
FS_VERITY_HASH_ALG_SHA512 = 0x2
|
||||
|
|
@ -989,6 +1110,7 @@ const (
|
|||
IPV6_DONTFRAG = 0x3e
|
||||
IPV6_DROP_MEMBERSHIP = 0x15
|
||||
IPV6_DSTOPTS = 0x3b
|
||||
IPV6_FLOW = 0x11
|
||||
IPV6_FREEBIND = 0x4e
|
||||
IPV6_HDRINCL = 0x24
|
||||
IPV6_HOPLIMIT = 0x34
|
||||
|
|
@ -1017,6 +1139,7 @@ const (
|
|||
IPV6_PMTUDISC_WANT = 0x1
|
||||
IPV6_RECVDSTOPTS = 0x3a
|
||||
IPV6_RECVERR = 0x19
|
||||
IPV6_RECVERR_RFC4884 = 0x1f
|
||||
IPV6_RECVFRAGSIZE = 0x4d
|
||||
IPV6_RECVHOPLIMIT = 0x33
|
||||
IPV6_RECVHOPOPTS = 0x35
|
||||
|
|
@ -1038,6 +1161,7 @@ const (
|
|||
IPV6_TRANSPARENT = 0x4b
|
||||
IPV6_UNICAST_HOPS = 0x10
|
||||
IPV6_UNICAST_IF = 0x4c
|
||||
IPV6_USER_FLOW = 0xe
|
||||
IPV6_V6ONLY = 0x1a
|
||||
IPV6_XFRM_POLICY = 0x23
|
||||
IP_ADD_MEMBERSHIP = 0x23
|
||||
|
|
@ -1080,6 +1204,7 @@ const (
|
|||
IP_PMTUDISC_PROBE = 0x3
|
||||
IP_PMTUDISC_WANT = 0x1
|
||||
IP_RECVERR = 0xb
|
||||
IP_RECVERR_RFC4884 = 0x1a
|
||||
IP_RECVFRAGSIZE = 0x19
|
||||
IP_RECVOPTS = 0x6
|
||||
IP_RECVORIGDSTADDR = 0x14
|
||||
|
|
@ -1094,6 +1219,7 @@ const (
|
|||
IP_TTL = 0x2
|
||||
IP_UNBLOCK_SOURCE = 0x25
|
||||
IP_UNICAST_IF = 0x32
|
||||
IP_USER_FLOW = 0xd
|
||||
IP_XFRM_POLICY = 0x11
|
||||
ISOFS_SUPER_MAGIC = 0x9660
|
||||
ISTRIP = 0x20
|
||||
|
|
@ -1331,6 +1457,7 @@ const (
|
|||
MS_NOREMOTELOCK = 0x8000000
|
||||
MS_NOSEC = 0x10000000
|
||||
MS_NOSUID = 0x2
|
||||
MS_NOSYMFOLLOW = 0x100
|
||||
MS_NOUSER = -0x80000000
|
||||
MS_POSIXACL = 0x10000
|
||||
MS_PRIVATE = 0x40000
|
||||
|
|
@ -1572,7 +1699,7 @@ const (
|
|||
PERF_MEM_REMOTE_REMOTE = 0x1
|
||||
PERF_MEM_REMOTE_SHIFT = 0x25
|
||||
PERF_MEM_SNOOPX_FWD = 0x1
|
||||
PERF_MEM_SNOOPX_SHIFT = 0x25
|
||||
PERF_MEM_SNOOPX_SHIFT = 0x26
|
||||
PERF_MEM_SNOOP_HIT = 0x4
|
||||
PERF_MEM_SNOOP_HITM = 0x10
|
||||
PERF_MEM_SNOOP_MISS = 0x8
|
||||
|
|
@ -1672,6 +1799,13 @@ const (
|
|||
PR_MCE_KILL_SET = 0x1
|
||||
PR_MPX_DISABLE_MANAGEMENT = 0x2c
|
||||
PR_MPX_ENABLE_MANAGEMENT = 0x2b
|
||||
PR_MTE_TAG_MASK = 0x7fff8
|
||||
PR_MTE_TAG_SHIFT = 0x3
|
||||
PR_MTE_TCF_ASYNC = 0x4
|
||||
PR_MTE_TCF_MASK = 0x6
|
||||
PR_MTE_TCF_NONE = 0x0
|
||||
PR_MTE_TCF_SHIFT = 0x1
|
||||
PR_MTE_TCF_SYNC = 0x2
|
||||
PR_PAC_APDAKEY = 0x4
|
||||
PR_PAC_APDBKEY = 0x8
|
||||
PR_PAC_APGAKEY = 0x10
|
||||
|
|
@ -1709,6 +1843,7 @@ const (
|
|||
PR_SET_SECCOMP = 0x16
|
||||
PR_SET_SECUREBITS = 0x1c
|
||||
PR_SET_SPECULATION_CTRL = 0x35
|
||||
PR_SET_SYSCALL_USER_DISPATCH = 0x3b
|
||||
PR_SET_TAGGED_ADDR_CTRL = 0x37
|
||||
PR_SET_THP_DISABLE = 0x29
|
||||
PR_SET_TIMERSLACK = 0x1d
|
||||
|
|
@ -1728,6 +1863,8 @@ const (
|
|||
PR_SVE_SET_VL_ONEXEC = 0x40000
|
||||
PR_SVE_VL_INHERIT = 0x20000
|
||||
PR_SVE_VL_LEN_MASK = 0xffff
|
||||
PR_SYS_DISPATCH_OFF = 0x0
|
||||
PR_SYS_DISPATCH_ON = 0x1
|
||||
PR_TAGGED_ADDR_ENABLE = 0x1
|
||||
PR_TASK_PERF_EVENTS_DISABLE = 0x1f
|
||||
PR_TASK_PERF_EVENTS_ENABLE = 0x20
|
||||
|
|
@ -1973,12 +2110,13 @@ const (
|
|||
RTM_SETLINK = 0x13
|
||||
RTM_SETNEIGHTBL = 0x43
|
||||
RTNH_ALIGNTO = 0x4
|
||||
RTNH_COMPARE_MASK = 0x19
|
||||
RTNH_COMPARE_MASK = 0x59
|
||||
RTNH_F_DEAD = 0x1
|
||||
RTNH_F_LINKDOWN = 0x10
|
||||
RTNH_F_OFFLOAD = 0x8
|
||||
RTNH_F_ONLINK = 0x4
|
||||
RTNH_F_PERVASIVE = 0x2
|
||||
RTNH_F_TRAP = 0x40
|
||||
RTNH_F_UNRESOLVED = 0x20
|
||||
RTN_MAX = 0xb
|
||||
RTPROT_BABEL = 0x2a
|
||||
|
|
@ -2206,7 +2344,7 @@ const (
|
|||
STATX_ATTR_APPEND = 0x20
|
||||
STATX_ATTR_AUTOMOUNT = 0x1000
|
||||
STATX_ATTR_COMPRESSED = 0x4
|
||||
STATX_ATTR_DAX = 0x2000
|
||||
STATX_ATTR_DAX = 0x200000
|
||||
STATX_ATTR_ENCRYPTED = 0x800
|
||||
STATX_ATTR_IMMUTABLE = 0x10
|
||||
STATX_ATTR_MOUNT_ROOT = 0x2000
|
||||
|
|
@ -2325,6 +2463,8 @@ const (
|
|||
TCP_TX_DELAY = 0x25
|
||||
TCP_ULP = 0x1f
|
||||
TCP_USER_TIMEOUT = 0x12
|
||||
TCP_V4_FLOW = 0x1
|
||||
TCP_V6_FLOW = 0x5
|
||||
TCP_WINDOW_CLAMP = 0xa
|
||||
TCP_ZEROCOPY_RECEIVE = 0x23
|
||||
TFD_TIMER_ABSTIME = 0x1
|
||||
|
|
@ -2390,6 +2530,7 @@ const (
|
|||
TIPC_NODE_STATE = 0x0
|
||||
TIPC_OK = 0x0
|
||||
TIPC_PUBLISHED = 0x1
|
||||
TIPC_REKEYING_NOW = 0xffffffff
|
||||
TIPC_RESERVED_TYPES = 0x40
|
||||
TIPC_RETDATA = 0x2
|
||||
TIPC_SERVICE_ADDR = 0x2
|
||||
|
|
@ -2446,10 +2587,12 @@ const (
|
|||
VMADDR_CID_HOST = 0x2
|
||||
VMADDR_CID_HYPERVISOR = 0x0
|
||||
VMADDR_CID_LOCAL = 0x1
|
||||
VMADDR_FLAG_TO_HOST = 0x1
|
||||
VMADDR_PORT_ANY = 0xffffffff
|
||||
VM_SOCKETS_INVALID_VERSION = 0xffffffff
|
||||
VQUIT = 0x1
|
||||
VT0 = 0x0
|
||||
WAKE_MAGIC = 0x20
|
||||
WALL = 0x40000000
|
||||
WCLONE = 0x80000000
|
||||
WCONTINUED = 0x8
|
||||
|
|
|
|||
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
generated
vendored
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
generated
vendored
|
|
@ -4,7 +4,7 @@
|
|||
// +build 386,linux
|
||||
|
||||
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 _const.go
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/_const.go
|
||||
|
||||
package unix
|
||||
|
||||
|
|
@ -165,6 +165,7 @@ const (
|
|||
PERF_EVENT_IOC_SET_OUTPUT = 0x2405
|
||||
PPPIOCATTACH = 0x4004743d
|
||||
PPPIOCATTCHAN = 0x40047438
|
||||
PPPIOCBRIDGECHAN = 0x40047435
|
||||
PPPIOCCONNECT = 0x4004743a
|
||||
PPPIOCDETACH = 0x4004743c
|
||||
PPPIOCDISCONN = 0x7439
|
||||
|
|
@ -192,6 +193,7 @@ const (
|
|||
PPPIOCSPASS = 0x40087447
|
||||
PPPIOCSRASYNCMAP = 0x40047454
|
||||
PPPIOCSXASYNCMAP = 0x4020744f
|
||||
PPPIOCUNBRIDGECHAN = 0x7434
|
||||
PPPIOCXFERUNIT = 0x744e
|
||||
PR_SET_PTRACER_ANY = 0xffffffff
|
||||
PTRACE_GETFPREGS = 0xe
|
||||
|
|
@ -268,6 +270,7 @@ const (
|
|||
SO_BROADCAST = 0x6
|
||||
SO_BSDCOMPAT = 0xe
|
||||
SO_BUSY_POLL = 0x2e
|
||||
SO_BUSY_POLL_BUDGET = 0x46
|
||||
SO_CNX_ADVICE = 0x35
|
||||
SO_COOKIE = 0x39
|
||||
SO_DETACH_REUSEPORT_BPF = 0x44
|
||||
|
|
@ -290,6 +293,7 @@ const (
|
|||
SO_PEERCRED = 0x11
|
||||
SO_PEERGROUPS = 0x3b
|
||||
SO_PEERSEC = 0x1f
|
||||
SO_PREFER_BUSY_POLL = 0x45
|
||||
SO_PROTOCOL = 0x26
|
||||
SO_RCVBUF = 0x8
|
||||
SO_RCVBUFFORCE = 0x21
|
||||
|
|
|
|||
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
generated
vendored
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
generated
vendored
|
|
@ -4,7 +4,7 @@
|
|||
// +build amd64,linux
|
||||
|
||||
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 _const.go
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/_const.go
|
||||
|
||||
package unix
|
||||
|
||||
|
|
@ -165,6 +165,7 @@ const (
|
|||
PERF_EVENT_IOC_SET_OUTPUT = 0x2405
|
||||
PPPIOCATTACH = 0x4004743d
|
||||
PPPIOCATTCHAN = 0x40047438
|
||||
PPPIOCBRIDGECHAN = 0x40047435
|
||||
PPPIOCCONNECT = 0x4004743a
|
||||
PPPIOCDETACH = 0x4004743c
|
||||
PPPIOCDISCONN = 0x7439
|
||||
|
|
@ -192,6 +193,7 @@ const (
|
|||
PPPIOCSPASS = 0x40107447
|
||||
PPPIOCSRASYNCMAP = 0x40047454
|
||||
PPPIOCSXASYNCMAP = 0x4020744f
|
||||
PPPIOCUNBRIDGECHAN = 0x7434
|
||||
PPPIOCXFERUNIT = 0x744e
|
||||
PR_SET_PTRACER_ANY = 0xffffffffffffffff
|
||||
PTRACE_ARCH_PRCTL = 0x1e
|
||||
|
|
@ -269,6 +271,7 @@ const (
|
|||
SO_BROADCAST = 0x6
|
||||
SO_BSDCOMPAT = 0xe
|
||||
SO_BUSY_POLL = 0x2e
|
||||
SO_BUSY_POLL_BUDGET = 0x46
|
||||
SO_CNX_ADVICE = 0x35
|
||||
SO_COOKIE = 0x39
|
||||
SO_DETACH_REUSEPORT_BPF = 0x44
|
||||
|
|
@ -291,6 +294,7 @@ const (
|
|||
SO_PEERCRED = 0x11
|
||||
SO_PEERGROUPS = 0x3b
|
||||
SO_PEERSEC = 0x1f
|
||||
SO_PREFER_BUSY_POLL = 0x45
|
||||
SO_PROTOCOL = 0x26
|
||||
SO_RCVBUF = 0x8
|
||||
SO_RCVBUFFORCE = 0x21
|
||||
|
|
|
|||
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
generated
vendored
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
generated
vendored
|
|
@ -4,7 +4,7 @@
|
|||
// +build arm,linux
|
||||
|
||||
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
|
||||
|
||||
package unix
|
||||
|
||||
|
|
@ -163,6 +163,7 @@ const (
|
|||
PERF_EVENT_IOC_SET_OUTPUT = 0x2405
|
||||
PPPIOCATTACH = 0x4004743d
|
||||
PPPIOCATTCHAN = 0x40047438
|
||||
PPPIOCBRIDGECHAN = 0x40047435
|
||||
PPPIOCCONNECT = 0x4004743a
|
||||
PPPIOCDETACH = 0x4004743c
|
||||
PPPIOCDISCONN = 0x7439
|
||||
|
|
@ -190,6 +191,7 @@ const (
|
|||
PPPIOCSPASS = 0x40087447
|
||||
PPPIOCSRASYNCMAP = 0x40047454
|
||||
PPPIOCSXASYNCMAP = 0x4020744f
|
||||
PPPIOCUNBRIDGECHAN = 0x7434
|
||||
PPPIOCXFERUNIT = 0x744e
|
||||
PR_SET_PTRACER_ANY = 0xffffffff
|
||||
PTRACE_GETCRUNCHREGS = 0x19
|
||||
|
|
@ -275,6 +277,7 @@ const (
|
|||
SO_BROADCAST = 0x6
|
||||
SO_BSDCOMPAT = 0xe
|
||||
SO_BUSY_POLL = 0x2e
|
||||
SO_BUSY_POLL_BUDGET = 0x46
|
||||
SO_CNX_ADVICE = 0x35
|
||||
SO_COOKIE = 0x39
|
||||
SO_DETACH_REUSEPORT_BPF = 0x44
|
||||
|
|
@ -297,6 +300,7 @@ const (
|
|||
SO_PEERCRED = 0x11
|
||||
SO_PEERGROUPS = 0x3b
|
||||
SO_PEERSEC = 0x1f
|
||||
SO_PREFER_BUSY_POLL = 0x45
|
||||
SO_PROTOCOL = 0x26
|
||||
SO_RCVBUF = 0x8
|
||||
SO_RCVBUFFORCE = 0x21
|
||||
|
|
|
|||
9
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
generated
vendored
9
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
generated
vendored
|
|
@ -4,7 +4,7 @@
|
|||
// +build arm64,linux
|
||||
|
||||
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/_const.go
|
||||
|
||||
package unix
|
||||
|
||||
|
|
@ -166,6 +166,7 @@ const (
|
|||
PERF_EVENT_IOC_SET_OUTPUT = 0x2405
|
||||
PPPIOCATTACH = 0x4004743d
|
||||
PPPIOCATTCHAN = 0x40047438
|
||||
PPPIOCBRIDGECHAN = 0x40047435
|
||||
PPPIOCCONNECT = 0x4004743a
|
||||
PPPIOCDETACH = 0x4004743c
|
||||
PPPIOCDISCONN = 0x7439
|
||||
|
|
@ -193,9 +194,13 @@ const (
|
|||
PPPIOCSPASS = 0x40107447
|
||||
PPPIOCSRASYNCMAP = 0x40047454
|
||||
PPPIOCSXASYNCMAP = 0x4020744f
|
||||
PPPIOCUNBRIDGECHAN = 0x7434
|
||||
PPPIOCXFERUNIT = 0x744e
|
||||
PROT_BTI = 0x10
|
||||
PROT_MTE = 0x20
|
||||
PR_SET_PTRACER_ANY = 0xffffffffffffffff
|
||||
PTRACE_PEEKMTETAGS = 0x21
|
||||
PTRACE_POKEMTETAGS = 0x22
|
||||
PTRACE_SYSEMU = 0x1f
|
||||
PTRACE_SYSEMU_SINGLESTEP = 0x20
|
||||
RLIMIT_AS = 0x9
|
||||
|
|
@ -262,6 +267,7 @@ const (
|
|||
SO_BROADCAST = 0x6
|
||||
SO_BSDCOMPAT = 0xe
|
||||
SO_BUSY_POLL = 0x2e
|
||||
SO_BUSY_POLL_BUDGET = 0x46
|
||||
SO_CNX_ADVICE = 0x35
|
||||
SO_COOKIE = 0x39
|
||||
SO_DETACH_REUSEPORT_BPF = 0x44
|
||||
|
|
@ -284,6 +290,7 @@ const (
|
|||
SO_PEERCRED = 0x11
|
||||
SO_PEERGROUPS = 0x3b
|
||||
SO_PEERSEC = 0x1f
|
||||
SO_PREFER_BUSY_POLL = 0x45
|
||||
SO_PROTOCOL = 0x26
|
||||
SO_RCVBUF = 0x8
|
||||
SO_RCVBUFFORCE = 0x21
|
||||
|
|
|
|||
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
generated
vendored
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
generated
vendored
|
|
@ -4,7 +4,7 @@
|
|||
// +build mips,linux
|
||||
|
||||
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
|
||||
|
||||
package unix
|
||||
|
||||
|
|
@ -163,6 +163,7 @@ const (
|
|||
PERF_EVENT_IOC_SET_OUTPUT = 0x20002405
|
||||
PPPIOCATTACH = 0x8004743d
|
||||
PPPIOCATTCHAN = 0x80047438
|
||||
PPPIOCBRIDGECHAN = 0x80047435
|
||||
PPPIOCCONNECT = 0x8004743a
|
||||
PPPIOCDETACH = 0x8004743c
|
||||
PPPIOCDISCONN = 0x20007439
|
||||
|
|
@ -190,6 +191,7 @@ const (
|
|||
PPPIOCSPASS = 0x80087447
|
||||
PPPIOCSRASYNCMAP = 0x80047454
|
||||
PPPIOCSXASYNCMAP = 0x8020744f
|
||||
PPPIOCUNBRIDGECHAN = 0x20007434
|
||||
PPPIOCXFERUNIT = 0x2000744e
|
||||
PR_SET_PTRACER_ANY = 0xffffffff
|
||||
PTRACE_GETFPREGS = 0xe
|
||||
|
|
@ -268,6 +270,7 @@ const (
|
|||
SO_BROADCAST = 0x20
|
||||
SO_BSDCOMPAT = 0xe
|
||||
SO_BUSY_POLL = 0x2e
|
||||
SO_BUSY_POLL_BUDGET = 0x46
|
||||
SO_CNX_ADVICE = 0x35
|
||||
SO_COOKIE = 0x39
|
||||
SO_DETACH_REUSEPORT_BPF = 0x44
|
||||
|
|
@ -290,6 +293,7 @@ const (
|
|||
SO_PEERCRED = 0x12
|
||||
SO_PEERGROUPS = 0x3b
|
||||
SO_PEERSEC = 0x1e
|
||||
SO_PREFER_BUSY_POLL = 0x45
|
||||
SO_PROTOCOL = 0x1028
|
||||
SO_RCVBUF = 0x1002
|
||||
SO_RCVBUFFORCE = 0x21
|
||||
|
|
|
|||
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
generated
vendored
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
generated
vendored
|
|
@ -4,7 +4,7 @@
|
|||
// +build mips64,linux
|
||||
|
||||
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
|
||||
|
||||
package unix
|
||||
|
||||
|
|
@ -163,6 +163,7 @@ const (
|
|||
PERF_EVENT_IOC_SET_OUTPUT = 0x20002405
|
||||
PPPIOCATTACH = 0x8004743d
|
||||
PPPIOCATTCHAN = 0x80047438
|
||||
PPPIOCBRIDGECHAN = 0x80047435
|
||||
PPPIOCCONNECT = 0x8004743a
|
||||
PPPIOCDETACH = 0x8004743c
|
||||
PPPIOCDISCONN = 0x20007439
|
||||
|
|
@ -190,6 +191,7 @@ const (
|
|||
PPPIOCSPASS = 0x80107447
|
||||
PPPIOCSRASYNCMAP = 0x80047454
|
||||
PPPIOCSXASYNCMAP = 0x8020744f
|
||||
PPPIOCUNBRIDGECHAN = 0x20007434
|
||||
PPPIOCXFERUNIT = 0x2000744e
|
||||
PR_SET_PTRACER_ANY = 0xffffffffffffffff
|
||||
PTRACE_GETFPREGS = 0xe
|
||||
|
|
@ -268,6 +270,7 @@ const (
|
|||
SO_BROADCAST = 0x20
|
||||
SO_BSDCOMPAT = 0xe
|
||||
SO_BUSY_POLL = 0x2e
|
||||
SO_BUSY_POLL_BUDGET = 0x46
|
||||
SO_CNX_ADVICE = 0x35
|
||||
SO_COOKIE = 0x39
|
||||
SO_DETACH_REUSEPORT_BPF = 0x44
|
||||
|
|
@ -290,6 +293,7 @@ const (
|
|||
SO_PEERCRED = 0x12
|
||||
SO_PEERGROUPS = 0x3b
|
||||
SO_PEERSEC = 0x1e
|
||||
SO_PREFER_BUSY_POLL = 0x45
|
||||
SO_PROTOCOL = 0x1028
|
||||
SO_RCVBUF = 0x1002
|
||||
SO_RCVBUFFORCE = 0x21
|
||||
|
|
|
|||
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
generated
vendored
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
generated
vendored
|
|
@ -4,7 +4,7 @@
|
|||
// +build mips64le,linux
|
||||
|
||||
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
|
||||
|
||||
package unix
|
||||
|
||||
|
|
@ -163,6 +163,7 @@ const (
|
|||
PERF_EVENT_IOC_SET_OUTPUT = 0x20002405
|
||||
PPPIOCATTACH = 0x8004743d
|
||||
PPPIOCATTCHAN = 0x80047438
|
||||
PPPIOCBRIDGECHAN = 0x80047435
|
||||
PPPIOCCONNECT = 0x8004743a
|
||||
PPPIOCDETACH = 0x8004743c
|
||||
PPPIOCDISCONN = 0x20007439
|
||||
|
|
@ -190,6 +191,7 @@ const (
|
|||
PPPIOCSPASS = 0x80107447
|
||||
PPPIOCSRASYNCMAP = 0x80047454
|
||||
PPPIOCSXASYNCMAP = 0x8020744f
|
||||
PPPIOCUNBRIDGECHAN = 0x20007434
|
||||
PPPIOCXFERUNIT = 0x2000744e
|
||||
PR_SET_PTRACER_ANY = 0xffffffffffffffff
|
||||
PTRACE_GETFPREGS = 0xe
|
||||
|
|
@ -268,6 +270,7 @@ const (
|
|||
SO_BROADCAST = 0x20
|
||||
SO_BSDCOMPAT = 0xe
|
||||
SO_BUSY_POLL = 0x2e
|
||||
SO_BUSY_POLL_BUDGET = 0x46
|
||||
SO_CNX_ADVICE = 0x35
|
||||
SO_COOKIE = 0x39
|
||||
SO_DETACH_REUSEPORT_BPF = 0x44
|
||||
|
|
@ -290,6 +293,7 @@ const (
|
|||
SO_PEERCRED = 0x12
|
||||
SO_PEERGROUPS = 0x3b
|
||||
SO_PEERSEC = 0x1e
|
||||
SO_PREFER_BUSY_POLL = 0x45
|
||||
SO_PROTOCOL = 0x1028
|
||||
SO_RCVBUF = 0x1002
|
||||
SO_RCVBUFFORCE = 0x21
|
||||
|
|
|
|||
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
generated
vendored
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
generated
vendored
|
|
@ -4,7 +4,7 @@
|
|||
// +build mipsle,linux
|
||||
|
||||
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
|
||||
|
||||
package unix
|
||||
|
||||
|
|
@ -163,6 +163,7 @@ const (
|
|||
PERF_EVENT_IOC_SET_OUTPUT = 0x20002405
|
||||
PPPIOCATTACH = 0x8004743d
|
||||
PPPIOCATTCHAN = 0x80047438
|
||||
PPPIOCBRIDGECHAN = 0x80047435
|
||||
PPPIOCCONNECT = 0x8004743a
|
||||
PPPIOCDETACH = 0x8004743c
|
||||
PPPIOCDISCONN = 0x20007439
|
||||
|
|
@ -190,6 +191,7 @@ const (
|
|||
PPPIOCSPASS = 0x80087447
|
||||
PPPIOCSRASYNCMAP = 0x80047454
|
||||
PPPIOCSXASYNCMAP = 0x8020744f
|
||||
PPPIOCUNBRIDGECHAN = 0x20007434
|
||||
PPPIOCXFERUNIT = 0x2000744e
|
||||
PR_SET_PTRACER_ANY = 0xffffffff
|
||||
PTRACE_GETFPREGS = 0xe
|
||||
|
|
@ -268,6 +270,7 @@ const (
|
|||
SO_BROADCAST = 0x20
|
||||
SO_BSDCOMPAT = 0xe
|
||||
SO_BUSY_POLL = 0x2e
|
||||
SO_BUSY_POLL_BUDGET = 0x46
|
||||
SO_CNX_ADVICE = 0x35
|
||||
SO_COOKIE = 0x39
|
||||
SO_DETACH_REUSEPORT_BPF = 0x44
|
||||
|
|
@ -290,6 +293,7 @@ const (
|
|||
SO_PEERCRED = 0x12
|
||||
SO_PEERGROUPS = 0x3b
|
||||
SO_PEERSEC = 0x1e
|
||||
SO_PREFER_BUSY_POLL = 0x45
|
||||
SO_PROTOCOL = 0x1028
|
||||
SO_RCVBUF = 0x1002
|
||||
SO_RCVBUFFORCE = 0x21
|
||||
|
|
|
|||
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
generated
vendored
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
generated
vendored
|
|
@ -4,7 +4,7 @@
|
|||
// +build ppc64,linux
|
||||
|
||||
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
|
||||
|
||||
package unix
|
||||
|
||||
|
|
@ -165,6 +165,7 @@ const (
|
|||
PERF_EVENT_IOC_SET_OUTPUT = 0x20002405
|
||||
PPPIOCATTACH = 0x8004743d
|
||||
PPPIOCATTCHAN = 0x80047438
|
||||
PPPIOCBRIDGECHAN = 0x80047435
|
||||
PPPIOCCONNECT = 0x8004743a
|
||||
PPPIOCDETACH = 0x8004743c
|
||||
PPPIOCDISCONN = 0x20007439
|
||||
|
|
@ -192,6 +193,7 @@ const (
|
|||
PPPIOCSPASS = 0x80107447
|
||||
PPPIOCSRASYNCMAP = 0x80047454
|
||||
PPPIOCSXASYNCMAP = 0x8020744f
|
||||
PPPIOCUNBRIDGECHAN = 0x20007434
|
||||
PPPIOCXFERUNIT = 0x2000744e
|
||||
PROT_SAO = 0x10
|
||||
PR_SET_PTRACER_ANY = 0xffffffffffffffff
|
||||
|
|
@ -327,6 +329,7 @@ const (
|
|||
SO_BROADCAST = 0x6
|
||||
SO_BSDCOMPAT = 0xe
|
||||
SO_BUSY_POLL = 0x2e
|
||||
SO_BUSY_POLL_BUDGET = 0x46
|
||||
SO_CNX_ADVICE = 0x35
|
||||
SO_COOKIE = 0x39
|
||||
SO_DETACH_REUSEPORT_BPF = 0x44
|
||||
|
|
@ -349,6 +352,7 @@ const (
|
|||
SO_PEERCRED = 0x15
|
||||
SO_PEERGROUPS = 0x3b
|
||||
SO_PEERSEC = 0x1f
|
||||
SO_PREFER_BUSY_POLL = 0x45
|
||||
SO_PROTOCOL = 0x26
|
||||
SO_RCVBUF = 0x8
|
||||
SO_RCVBUFFORCE = 0x21
|
||||
|
|
|
|||
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
generated
vendored
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
generated
vendored
|
|
@ -4,7 +4,7 @@
|
|||
// +build ppc64le,linux
|
||||
|
||||
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
|
||||
|
||||
package unix
|
||||
|
||||
|
|
@ -165,6 +165,7 @@ const (
|
|||
PERF_EVENT_IOC_SET_OUTPUT = 0x20002405
|
||||
PPPIOCATTACH = 0x8004743d
|
||||
PPPIOCATTCHAN = 0x80047438
|
||||
PPPIOCBRIDGECHAN = 0x80047435
|
||||
PPPIOCCONNECT = 0x8004743a
|
||||
PPPIOCDETACH = 0x8004743c
|
||||
PPPIOCDISCONN = 0x20007439
|
||||
|
|
@ -192,6 +193,7 @@ const (
|
|||
PPPIOCSPASS = 0x80107447
|
||||
PPPIOCSRASYNCMAP = 0x80047454
|
||||
PPPIOCSXASYNCMAP = 0x8020744f
|
||||
PPPIOCUNBRIDGECHAN = 0x20007434
|
||||
PPPIOCXFERUNIT = 0x2000744e
|
||||
PROT_SAO = 0x10
|
||||
PR_SET_PTRACER_ANY = 0xffffffffffffffff
|
||||
|
|
@ -327,6 +329,7 @@ const (
|
|||
SO_BROADCAST = 0x6
|
||||
SO_BSDCOMPAT = 0xe
|
||||
SO_BUSY_POLL = 0x2e
|
||||
SO_BUSY_POLL_BUDGET = 0x46
|
||||
SO_CNX_ADVICE = 0x35
|
||||
SO_COOKIE = 0x39
|
||||
SO_DETACH_REUSEPORT_BPF = 0x44
|
||||
|
|
@ -349,6 +352,7 @@ const (
|
|||
SO_PEERCRED = 0x15
|
||||
SO_PEERGROUPS = 0x3b
|
||||
SO_PEERSEC = 0x1f
|
||||
SO_PREFER_BUSY_POLL = 0x45
|
||||
SO_PROTOCOL = 0x26
|
||||
SO_RCVBUF = 0x8
|
||||
SO_RCVBUFFORCE = 0x21
|
||||
|
|
|
|||
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
generated
vendored
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
generated
vendored
|
|
@ -4,7 +4,7 @@
|
|||
// +build riscv64,linux
|
||||
|
||||
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
|
||||
|
||||
package unix
|
||||
|
||||
|
|
@ -163,6 +163,7 @@ const (
|
|||
PERF_EVENT_IOC_SET_OUTPUT = 0x2405
|
||||
PPPIOCATTACH = 0x4004743d
|
||||
PPPIOCATTCHAN = 0x40047438
|
||||
PPPIOCBRIDGECHAN = 0x40047435
|
||||
PPPIOCCONNECT = 0x4004743a
|
||||
PPPIOCDETACH = 0x4004743c
|
||||
PPPIOCDISCONN = 0x7439
|
||||
|
|
@ -190,6 +191,7 @@ const (
|
|||
PPPIOCSPASS = 0x40107447
|
||||
PPPIOCSRASYNCMAP = 0x40047454
|
||||
PPPIOCSXASYNCMAP = 0x4020744f
|
||||
PPPIOCUNBRIDGECHAN = 0x7434
|
||||
PPPIOCXFERUNIT = 0x744e
|
||||
PR_SET_PTRACER_ANY = 0xffffffffffffffff
|
||||
RLIMIT_AS = 0x9
|
||||
|
|
@ -256,6 +258,7 @@ const (
|
|||
SO_BROADCAST = 0x6
|
||||
SO_BSDCOMPAT = 0xe
|
||||
SO_BUSY_POLL = 0x2e
|
||||
SO_BUSY_POLL_BUDGET = 0x46
|
||||
SO_CNX_ADVICE = 0x35
|
||||
SO_COOKIE = 0x39
|
||||
SO_DETACH_REUSEPORT_BPF = 0x44
|
||||
|
|
@ -278,6 +281,7 @@ const (
|
|||
SO_PEERCRED = 0x11
|
||||
SO_PEERGROUPS = 0x3b
|
||||
SO_PEERSEC = 0x1f
|
||||
SO_PREFER_BUSY_POLL = 0x45
|
||||
SO_PROTOCOL = 0x26
|
||||
SO_RCVBUF = 0x8
|
||||
SO_RCVBUFFORCE = 0x21
|
||||
|
|
|
|||
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
generated
vendored
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
generated
vendored
|
|
@ -4,7 +4,7 @@
|
|||
// +build s390x,linux
|
||||
|
||||
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/_const.go
|
||||
|
||||
package unix
|
||||
|
||||
|
|
@ -163,6 +163,7 @@ const (
|
|||
PERF_EVENT_IOC_SET_OUTPUT = 0x2405
|
||||
PPPIOCATTACH = 0x4004743d
|
||||
PPPIOCATTCHAN = 0x40047438
|
||||
PPPIOCBRIDGECHAN = 0x40047435
|
||||
PPPIOCCONNECT = 0x4004743a
|
||||
PPPIOCDETACH = 0x4004743c
|
||||
PPPIOCDISCONN = 0x7439
|
||||
|
|
@ -190,6 +191,7 @@ const (
|
|||
PPPIOCSPASS = 0x40107447
|
||||
PPPIOCSRASYNCMAP = 0x40047454
|
||||
PPPIOCSXASYNCMAP = 0x4020744f
|
||||
PPPIOCUNBRIDGECHAN = 0x7434
|
||||
PPPIOCXFERUNIT = 0x744e
|
||||
PR_SET_PTRACER_ANY = 0xffffffffffffffff
|
||||
PTRACE_DISABLE_TE = 0x5010
|
||||
|
|
@ -329,6 +331,7 @@ const (
|
|||
SO_BROADCAST = 0x6
|
||||
SO_BSDCOMPAT = 0xe
|
||||
SO_BUSY_POLL = 0x2e
|
||||
SO_BUSY_POLL_BUDGET = 0x46
|
||||
SO_CNX_ADVICE = 0x35
|
||||
SO_COOKIE = 0x39
|
||||
SO_DETACH_REUSEPORT_BPF = 0x44
|
||||
|
|
@ -351,6 +354,7 @@ const (
|
|||
SO_PEERCRED = 0x11
|
||||
SO_PEERGROUPS = 0x3b
|
||||
SO_PEERSEC = 0x1f
|
||||
SO_PREFER_BUSY_POLL = 0x45
|
||||
SO_PROTOCOL = 0x26
|
||||
SO_RCVBUF = 0x8
|
||||
SO_RCVBUFFORCE = 0x21
|
||||
|
|
|
|||
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
generated
vendored
6
src/cmd/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
generated
vendored
|
|
@ -4,7 +4,7 @@
|
|||
// +build sparc64,linux
|
||||
|
||||
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go
|
||||
// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
|
||||
|
||||
package unix
|
||||
|
||||
|
|
@ -168,6 +168,7 @@ const (
|
|||
PERF_EVENT_IOC_SET_OUTPUT = 0x20002405
|
||||
PPPIOCATTACH = 0x8004743d
|
||||
PPPIOCATTCHAN = 0x80047438
|
||||
PPPIOCBRIDGECHAN = 0x80047435
|
||||
PPPIOCCONNECT = 0x8004743a
|
||||
PPPIOCDETACH = 0x8004743c
|
||||
PPPIOCDISCONN = 0x20007439
|
||||
|
|
@ -195,6 +196,7 @@ const (
|
|||
PPPIOCSPASS = 0x80107447
|
||||
PPPIOCSRASYNCMAP = 0x80047454
|
||||
PPPIOCSXASYNCMAP = 0x8020744f
|
||||
PPPIOCUNBRIDGECHAN = 0x20007434
|
||||
PPPIOCXFERUNIT = 0x2000744e
|
||||
PR_SET_PTRACER_ANY = 0xffffffffffffffff
|
||||
PTRACE_GETFPAREGS = 0x14
|
||||
|
|
@ -322,6 +324,7 @@ const (
|
|||
SO_BROADCAST = 0x20
|
||||
SO_BSDCOMPAT = 0x400
|
||||
SO_BUSY_POLL = 0x30
|
||||
SO_BUSY_POLL_BUDGET = 0x49
|
||||
SO_CNX_ADVICE = 0x37
|
||||
SO_COOKIE = 0x3b
|
||||
SO_DETACH_REUSEPORT_BPF = 0x47
|
||||
|
|
@ -344,6 +347,7 @@ const (
|
|||
SO_PEERCRED = 0x40
|
||||
SO_PEERGROUPS = 0x3d
|
||||
SO_PEERSEC = 0x1e
|
||||
SO_PREFER_BUSY_POLL = 0x48
|
||||
SO_PROTOCOL = 0x1028
|
||||
SO_RCVBUF = 0x1002
|
||||
SO_RCVBUFFORCE = 0x100b
|
||||
|
|
|
|||
8
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go
generated
vendored
8
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go
generated
vendored
|
|
@ -462,10 +462,8 @@ func libc_munlockall_trampoline()
|
|||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func pipe() (r int, w int, err error) {
|
||||
r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0)
|
||||
r = int(r0)
|
||||
w = int(r1)
|
||||
func pipe(p *[2]int32) (err error) {
|
||||
_, _, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), uintptr(unsafe.Pointer(p)), 0, 0)
|
||||
if e1 != 0 {
|
||||
err = errnoErr(e1)
|
||||
}
|
||||
|
|
@ -2381,7 +2379,7 @@ func libc_lstat64_trampoline()
|
|||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
|
||||
func ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) {
|
||||
_, _, e1 := syscall_syscall6(funcPC(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
|
||||
if e1 != 0 {
|
||||
err = errnoErr(e1)
|
||||
|
|
|
|||
8
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
generated
vendored
8
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
generated
vendored
|
|
@ -462,10 +462,8 @@ func libc_munlockall_trampoline()
|
|||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func pipe() (r int, w int, err error) {
|
||||
r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0)
|
||||
r = int(r0)
|
||||
w = int(r1)
|
||||
func pipe(p *[2]int32) (err error) {
|
||||
_, _, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), uintptr(unsafe.Pointer(p)), 0, 0)
|
||||
if e1 != 0 {
|
||||
err = errnoErr(e1)
|
||||
}
|
||||
|
|
@ -2381,7 +2379,7 @@ func libc_lstat64_trampoline()
|
|||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
|
||||
func ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) {
|
||||
_, _, e1 := syscall_syscall6(funcPC(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
|
||||
if e1 != 0 {
|
||||
err = errnoErr(e1)
|
||||
|
|
|
|||
6
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go
generated
vendored
6
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go
generated
vendored
|
|
@ -462,10 +462,8 @@ func libc_munlockall_trampoline()
|
|||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func pipe() (r int, w int, err error) {
|
||||
r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0)
|
||||
r = int(r0)
|
||||
w = int(r1)
|
||||
func pipe(p *[2]int32) (err error) {
|
||||
_, _, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), uintptr(unsafe.Pointer(p)), 0, 0)
|
||||
if e1 != 0 {
|
||||
err = errnoErr(e1)
|
||||
}
|
||||
|
|
|
|||
8
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
generated
vendored
8
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
generated
vendored
|
|
@ -462,10 +462,8 @@ func libc_munlockall_trampoline()
|
|||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func pipe() (r int, w int, err error) {
|
||||
r0, r1, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), 0, 0, 0)
|
||||
r = int(r0)
|
||||
w = int(r1)
|
||||
func pipe(p *[2]int32) (err error) {
|
||||
_, _, e1 := syscall_rawSyscall(funcPC(libc_pipe_trampoline), uintptr(unsafe.Pointer(p)), 0, 0)
|
||||
if e1 != 0 {
|
||||
err = errnoErr(e1)
|
||||
}
|
||||
|
|
@ -2381,7 +2379,7 @@ func libc_lstat_trampoline()
|
|||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func ptrace(request int, pid int, addr uintptr, data uintptr) (err error) {
|
||||
func ptrace1(request int, pid int, addr uintptr, data uintptr) (err error) {
|
||||
_, _, e1 := syscall_syscall6(funcPC(libc_ptrace_trampoline), uintptr(request), uintptr(pid), uintptr(addr), uintptr(data), 0, 0)
|
||||
if e1 != 0 {
|
||||
err = errnoErr(e1)
|
||||
|
|
|
|||
6
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
generated
vendored
6
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
generated
vendored
|
|
@ -362,8 +362,10 @@ func pipe() (r int, w int, err error) {
|
|||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func pipe2(p *[2]_C_int, flags int) (err error) {
|
||||
_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
|
||||
func pipe2(flags int) (r int, w int, err error) {
|
||||
r0, r1, e1 := RawSyscall(SYS_PIPE2, uintptr(flags), 0, 0)
|
||||
r = int(r0)
|
||||
w = int(r1)
|
||||
if e1 != 0 {
|
||||
err = errnoErr(e1)
|
||||
}
|
||||
|
|
|
|||
15
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go
generated
vendored
15
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go
generated
vendored
|
|
@ -14,22 +14,19 @@ import (
|
|||
//go:cgo_import_dynamic libc_writev writev "libc.so"
|
||||
//go:cgo_import_dynamic libc_pwritev pwritev "libc.so"
|
||||
//go:cgo_import_dynamic libc_accept4 accept4 "libsocket.so"
|
||||
//go:cgo_import_dynamic libc_pipe2 pipe2 "libc.so"
|
||||
|
||||
//go:linkname procreadv libc_readv
|
||||
//go:linkname procpreadv libc_preadv
|
||||
//go:linkname procwritev libc_writev
|
||||
//go:linkname procpwritev libc_pwritev
|
||||
//go:linkname procaccept4 libc_accept4
|
||||
//go:linkname procpipe2 libc_pipe2
|
||||
|
||||
var (
|
||||
procreadv,
|
||||
procpreadv,
|
||||
procwritev,
|
||||
procpwritev,
|
||||
procaccept4,
|
||||
procpipe2 syscallFunc
|
||||
procaccept4 syscallFunc
|
||||
)
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
|
@ -102,13 +99,3 @@ func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int,
|
|||
}
|
||||
return
|
||||
}
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func pipe2(p *[2]_C_int, flags int) (err error) {
|
||||
_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procpipe2)), 2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0, 0, 0, 0)
|
||||
if e1 != 0 {
|
||||
err = e1
|
||||
}
|
||||
return
|
||||
}
|
||||
|
|
|
|||
10
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
generated
vendored
10
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
generated
vendored
|
|
@ -362,6 +362,16 @@ func pipe() (fd1 int, fd2 int, err error) {
|
|||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func pipe2(p *[2]_C_int, flags int) (err error) {
|
||||
_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
|
||||
if e1 != 0 {
|
||||
err = errnoErr(e1)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func Getdents(fd int, buf []byte) (n int, err error) {
|
||||
var _p0 unsafe.Pointer
|
||||
if len(buf) > 0 {
|
||||
|
|
|
|||
10
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
generated
vendored
10
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
generated
vendored
|
|
@ -362,6 +362,16 @@ func pipe() (fd1 int, fd2 int, err error) {
|
|||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func pipe2(p *[2]_C_int, flags int) (err error) {
|
||||
_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
|
||||
if e1 != 0 {
|
||||
err = errnoErr(e1)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func Getdents(fd int, buf []byte) (n int, err error) {
|
||||
var _p0 unsafe.Pointer
|
||||
if len(buf) > 0 {
|
||||
|
|
|
|||
10
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
generated
vendored
10
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
generated
vendored
|
|
@ -362,6 +362,16 @@ func pipe() (fd1 int, fd2 int, err error) {
|
|||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func pipe2(p *[2]_C_int, flags int) (err error) {
|
||||
_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
|
||||
if e1 != 0 {
|
||||
err = errnoErr(e1)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func Getdents(fd int, buf []byte) (n int, err error) {
|
||||
var _p0 unsafe.Pointer
|
||||
if len(buf) > 0 {
|
||||
|
|
|
|||
10
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go
generated
vendored
10
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go
generated
vendored
|
|
@ -362,6 +362,16 @@ func pipe() (fd1 int, fd2 int, err error) {
|
|||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func pipe2(p *[2]_C_int, flags int) (err error) {
|
||||
_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
|
||||
if e1 != 0 {
|
||||
err = errnoErr(e1)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func Getdents(fd int, buf []byte) (n int, err error) {
|
||||
var _p0 unsafe.Pointer
|
||||
if len(buf) > 0 {
|
||||
|
|
|
|||
27
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
generated
vendored
27
src/cmd/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
generated
vendored
|
|
@ -11,6 +11,7 @@ import (
|
|||
)
|
||||
|
||||
//go:cgo_import_dynamic libc_pipe pipe "libc.so"
|
||||
//go:cgo_import_dynamic libc_pipe2 pipe2 "libc.so"
|
||||
//go:cgo_import_dynamic libc_getsockname getsockname "libsocket.so"
|
||||
//go:cgo_import_dynamic libc_getcwd getcwd "libc.so"
|
||||
//go:cgo_import_dynamic libc_getgroups getgroups "libc.so"
|
||||
|
|
@ -114,6 +115,7 @@ import (
|
|||
//go:cgo_import_dynamic libc_statvfs statvfs "libc.so"
|
||||
//go:cgo_import_dynamic libc_symlink symlink "libc.so"
|
||||
//go:cgo_import_dynamic libc_sync sync "libc.so"
|
||||
//go:cgo_import_dynamic libc_sysconf sysconf "libc.so"
|
||||
//go:cgo_import_dynamic libc_times times "libc.so"
|
||||
//go:cgo_import_dynamic libc_truncate truncate "libc.so"
|
||||
//go:cgo_import_dynamic libc_fsync fsync "libc.so"
|
||||
|
|
@ -140,6 +142,7 @@ import (
|
|||
//go:cgo_import_dynamic libc_recvfrom recvfrom "libsocket.so"
|
||||
|
||||
//go:linkname procpipe libc_pipe
|
||||
//go:linkname procpipe2 libc_pipe2
|
||||
//go:linkname procgetsockname libc_getsockname
|
||||
//go:linkname procGetcwd libc_getcwd
|
||||
//go:linkname procgetgroups libc_getgroups
|
||||
|
|
@ -243,6 +246,7 @@ import (
|
|||
//go:linkname procStatvfs libc_statvfs
|
||||
//go:linkname procSymlink libc_symlink
|
||||
//go:linkname procSync libc_sync
|
||||
//go:linkname procSysconf libc_sysconf
|
||||
//go:linkname procTimes libc_times
|
||||
//go:linkname procTruncate libc_truncate
|
||||
//go:linkname procFsync libc_fsync
|
||||
|
|
@ -270,6 +274,7 @@ import (
|
|||
|
||||
var (
|
||||
procpipe,
|
||||
procpipe2,
|
||||
procgetsockname,
|
||||
procGetcwd,
|
||||
procgetgroups,
|
||||
|
|
@ -373,6 +378,7 @@ var (
|
|||
procStatvfs,
|
||||
procSymlink,
|
||||
procSync,
|
||||
procSysconf,
|
||||
procTimes,
|
||||
procTruncate,
|
||||
procFsync,
|
||||
|
|
@ -412,6 +418,16 @@ func pipe(p *[2]_C_int) (n int, err error) {
|
|||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func pipe2(p *[2]_C_int, flags int) (err error) {
|
||||
_, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procpipe2)), 2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0, 0, 0, 0)
|
||||
if e1 != 0 {
|
||||
err = e1
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func getsockname(fd int, rsa *RawSockaddrAny, addrlen *_Socklen) (err error) {
|
||||
_, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procgetsockname)), 3, uintptr(fd), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)
|
||||
if e1 != 0 {
|
||||
|
|
@ -1674,6 +1690,17 @@ func Sync() (err error) {
|
|||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func Sysconf(which int) (n int64, err error) {
|
||||
r0, _, e1 := sysvicall6(uintptr(unsafe.Pointer(&procSysconf)), 1, uintptr(which), 0, 0, 0, 0, 0)
|
||||
n = int64(r0)
|
||||
if e1 != 0 {
|
||||
err = e1
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
|
||||
|
||||
func Times(tms *Tms) (ticks uintptr, err error) {
|
||||
r0, _, e1 := rawSysvicall6(uintptr(unsafe.Pointer(&procTimes)), 1, uintptr(unsafe.Pointer(tms)), 0, 0, 0, 0, 0)
|
||||
ticks = uintptr(r0)
|
||||
|
|
|
|||
2
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
generated
vendored
2
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
generated
vendored
|
|
@ -435,4 +435,6 @@ const (
|
|||
SYS_OPENAT2 = 437
|
||||
SYS_PIDFD_GETFD = 438
|
||||
SYS_FACCESSAT2 = 439
|
||||
SYS_PROCESS_MADVISE = 440
|
||||
SYS_EPOLL_PWAIT2 = 441
|
||||
)
|
||||
|
|
|
|||
2
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
generated
vendored
2
src/cmd/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
generated
vendored
|
|
@ -357,4 +357,6 @@ const (
|
|||
SYS_OPENAT2 = 437
|
||||
SYS_PIDFD_GETFD = 438
|
||||
SYS_FACCESSAT2 = 439
|
||||
SYS_PROCESS_MADVISE = 440
|
||||
SYS_EPOLL_PWAIT2 = 441
|
||||
)
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue