diff options
Diffstat (limited to 'src/cmd')
| -rw-r--r-- | src/cmd/internal/objabi/stack.go | 15 | ||||
| -rw-r--r-- | src/cmd/link/internal/ld/stackcheck.go | 2 |
2 files changed, 4 insertions, 13 deletions
diff --git a/src/cmd/internal/objabi/stack.go b/src/cmd/internal/objabi/stack.go index 5a2f641a75..7c7ff4e058 100644 --- a/src/cmd/internal/objabi/stack.go +++ b/src/cmd/internal/objabi/stack.go @@ -9,18 +9,9 @@ import ( "internal/buildcfg" ) -// For the linkers. Must match Go definitions. - -const ( - STACKSYSTEM = 0 - StackSystem = STACKSYSTEM -) - -func StackLimit(race bool) int { - // This arithmetic must match that in runtime/stack.go:{_StackGuard,_StackLimit}. - stackGuard := 928*stackGuardMultiplier(race) + StackSystem - stackLimit := stackGuard - StackSystem - abi.StackSmall - return stackLimit +func StackNosplit(race bool) int { + // This arithmetic must match that in runtime/stack.go:stackNosplit. + return abi.StackNosplitBase * stackGuardMultiplier(race) } // stackGuardMultiplier returns a multiplier to apply to the default diff --git a/src/cmd/link/internal/ld/stackcheck.go b/src/cmd/link/internal/ld/stackcheck.go index c82dafe51e..24a96fb996 100644 --- a/src/cmd/link/internal/ld/stackcheck.go +++ b/src/cmd/link/internal/ld/stackcheck.go @@ -61,7 +61,7 @@ func (ctxt *Link) doStackCheck() { // The call to morestack in every splittable function ensures // that there are at least StackLimit bytes available below SP // when morestack returns. - limit := objabi.StackLimit(*flagRace) - sc.callSize + limit := objabi.StackNosplit(*flagRace) - sc.callSize if buildcfg.GOARCH == "arm64" { // Need an extra 8 bytes below SP to save FP. limit -= 8 |
