From 91b01194c9d1ecdf3c29afbfe1ee2201fb265e92 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 9 Oct 2018 16:51:10 +0000 Subject: [PATCH] runtime: skip testSetPanicOnFault for gollvm LLVM doesn't support non-call exception. This test was passing more or less by luck: if the faulting instruction is between two calls with the same landing pad (in instruction layout order, not the program's logic order), it generates a merged PC range that covers the faulting instruction. If the instruction layout order changes, or it uses two different (but may be degenerate) landing pads, this doesn't work. Reviewed-on: https://go-review.googlesource.com/c/140517 From-SVN: r264985 --- gcc/go/gofrontend/MERGE | 2 +- libgo/go/runtime/runtime_test.go | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index 6e783c96d6d..76689a3b50a 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -a9da4d34a2f878a5058f7e7d2beef52aa62471a1 +e32e9aaee598eeb43f9616cf6ca1d11acaa9d167 The first line of this file holds the git revision number of the last merge done from the gofrontend repository. diff --git a/libgo/go/runtime/runtime_test.go b/libgo/go/runtime/runtime_test.go index 995ce257870..222679e048d 100644 --- a/libgo/go/runtime/runtime_test.go +++ b/libgo/go/runtime/runtime_test.go @@ -166,6 +166,9 @@ func TestSetPanicOnFault(t *testing.T) { } func testSetPanicOnFault(t *testing.T, addr uintptr, nfault *int) { + if strings.Contains(Version(), "llvm") { + t.Skip("LLVM doesn't support non-call exception") + } if GOOS == "nacl" { t.Skip("nacl doesn't seem to fault on high addresses") }