From 1eb0465fa596a2d6e9c1a632499989544f0d7e68 Mon Sep 17 00:00:00 2001 From: Keith Randall Date: Mon, 5 Dec 2022 16:26:26 -0800 Subject: cmd/compile: turn off jump tables when spectre retpolines are on Fixes #57097 Change-Id: I6ab659abbca1ae0ac8710674d39aec116fab0baa Reviewed-on: https://go-review.googlesource.com/c/go/+/455336 Reviewed-by: Keith Randall Reviewed-by: Cherry Mui TryBot-Result: Gopher Robot Run-TryBot: Keith Randall --- test/codegen/retpoline.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'test/codegen') diff --git a/test/codegen/retpoline.go b/test/codegen/retpoline.go index 15d6a26615..a04a005e2e 100644 --- a/test/codegen/retpoline.go +++ b/test/codegen/retpoline.go @@ -12,3 +12,31 @@ func CallInterface(x interface{ M() }) { // amd64:`CALL\truntime.retpoline` x.M() } + +// Check to make sure that jump tables are disabled +// when retpoline is on. See issue 57097. +func noJumpTables(x int) int { + switch x { + case 0: + return 0 + case 1: + return 1 + case 2: + return 2 + case 3: + return 3 + case 4: + return 4 + case 5: + return 5 + case 6: + return 6 + case 7: + return 7 + case 8: + return 8 + case 9: + return 9 + } + return 10 +} -- cgit v1.3-5-g9baa