Revert "liblink, cmd/ld, runtime: remove stackguard1"

This reverts commit ab0535ae3fb45ba734d47542cc4845f27f708d1b.

I think it will remain useful to distinguish code that must
run on a system stack from code that can run on either stack,
even if that distinction is no
longer based on the implementation language.

That is, I expect to add a //go:systemstack comment that,
in terms of the old implementation, tells the compiler,
to pretend this function was written in C.

Change-Id: I33d2ebb2f99ae12496484c6ec8ed07233d693275
Reviewed-on: https://go-review.googlesource.com/2275
Reviewed-by: Russ Cox <rsc@golang.org>
diff --git a/src/runtime/lock_sema.go b/src/runtime/lock_sema.go
index 556551f..c995e08 100644
--- a/src/runtime/lock_sema.go
+++ b/src/runtime/lock_sema.go
@@ -115,7 +115,7 @@
 		throw("runtimeĀ·unlock: lock count")
 	}
 	if gp.m.locks == 0 && gp.preempt { // restore the preemption request in case we've cleared it in newstack
-		gp.stackguard = stackPreempt
+		gp.stackguard0 = stackPreempt
 	}
 }