diff --git a/pkg/proc/disasm_arm64.go b/pkg/proc/disasm_arm64.go index 39ac3720..5aa033fc 100644 --- a/pkg/proc/disasm_arm64.go +++ b/pkg/proc/disasm_arm64.go @@ -5,8 +5,6 @@ package proc import ( - //"encoding/binary" - "golang.org/x/arch/arm64/arm64asm" ) @@ -99,16 +97,13 @@ type instrseq []arm64asm.Op // Possible stacksplit prologues are inserted by stacksplit in // $GOROOT/src/cmd/internal/obj/arm64/obj7.go. -// The stacksplit prologue will always begin with loading curg in CX, this -// instruction is added by load_g_cx in the same file and is either 1 or 2 -// MOVs. var prologues []instrseq func init() { var tinyStacksplit = instrseq{arm64asm.MOV, arm64asm.CMP, arm64asm.B} var smallStacksplit = instrseq{arm64asm.SUB, arm64asm.CMP, arm64asm.B} var bigStacksplit = instrseq{arm64asm.CMP, arm64asm.B, arm64asm.ADD, arm64asm.SUB, arm64asm.MOV, arm64asm.CMP, arm64asm.B} - var unixGetG = instrseq{arm64asm.MOV} + var unixGetG = instrseq{arm64asm.LDR} prologues = make([]instrseq, 0, 3) for _, getG := range []instrseq{unixGetG} { diff --git a/pkg/proc/proc_test.go b/pkg/proc/proc_test.go index 2140c0f8..904838b0 100644 --- a/pkg/proc/proc_test.go +++ b/pkg/proc/proc_test.go @@ -2136,9 +2136,6 @@ func TestIssue573(t *testing.T) { } func TestTestvariables2Prologue(t *testing.T) { - if runtime.GOARCH == "arm64" { - t.Skip("test is not valid on ARM64") - } withTestProcess("testvariables2", t, func(p proc.Process, fixture protest.Fixture) { addrEntry := p.BinInfo().LookupFunc["main.main"].Entry addrPrologue := findFunctionLocation(p, t, "main.main") diff --git a/service/test/integration2_test.go b/service/test/integration2_test.go index c0ac2246..1ccc8bec 100644 --- a/service/test/integration2_test.go +++ b/service/test/integration2_test.go @@ -1110,9 +1110,6 @@ func clientEvalVariable(t *testing.T, c service.Client, expr string) *api.Variab } func TestSkipPrologue(t *testing.T) { - if runtime.GOARCH == "arm64" { - t.Skip("test is not valid on ARM64") - } withTestClient2("locationsprog2", t, func(c service.Client) { <-c.Continue() @@ -1129,9 +1126,6 @@ func TestSkipPrologue(t *testing.T) { } func TestSkipPrologue2(t *testing.T) { - if runtime.GOARCH == "arm64" { - t.Skip("test is not valid on ARM64") - } withTestClient2("callme", t, func(c service.Client) { callme := findLocationHelper(t, c, "main.callme", false, 1, 0)[0] callmeZ := uint64(clientEvalVariable(t, c, "main.callme").Addr)