runtime: skip known TestSegv failure mode on linux-mips64le-mengzhuo

Also adjust other skips to actually call t.Skip, so that the test
correctly shows as skipped instead of passing.

For #50605

Change-Id: Ied482f231a879224c5a92e2c47a6b21c1593a7da
Reviewed-on: https://go-review.googlesource.com/c/go/+/378554
Trust: Bryan Mills <bcmills@google.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
diff --git a/src/runtime/crash_cgo_test.go b/src/runtime/crash_cgo_test.go
index abaed40..6f1265c 100644
--- a/src/runtime/crash_cgo_test.go
+++ b/src/runtime/crash_cgo_test.go
@@ -622,17 +622,19 @@
 			// No runtime errors like "runtime: unknown pc".
 			switch runtime.GOOS {
 			case "darwin", "illumos", "solaris":
-				// TODO(golang.org/issue/49182): Skip, runtime
-				// throws while attempting to generate
-				// traceback.
-				return
+				// Runtime sometimes throws when generating the traceback.
+				testenv.SkipFlaky(t, 49182)
 			case "linux":
 				if runtime.GOARCH == "386" {
-					// TODO(golang.org/issue/50504): Skip,
-					// runtime throws while attempting to
-					// generate traceback from VDSO call
-					// via asmcgocall.
-					return
+					// Runtime throws when generating a traceback from
+					// a VDSO call via asmcgocall.
+					testenv.SkipFlaky(t, 50504)
+				}
+				if testenv.Builder() == "linux-mips64le-mengzhuo" && strings.Contains(got, "runtime: unknown pc") {
+					// Runtime sometimes throw "unknown pc" when generating the traceback.
+					// Curiously, that doesn't seem to happen on the linux-mips64le-rtrk
+					// builder.
+					testenv.SkipFlaky(t, 50605)
 				}
 			}
 			nowant := "runtime: "