From 165bf241f2f7c72cffd83e278d674ae3ddbd72a1 Mon Sep 17 00:00:00 2001 From: Guoqi Chen Date: Wed, 28 Aug 2024 17:01:15 +0800 Subject: cmd/objdump: add loong64 disassembler support This CL provides vendor support for loong64 disassembler gnu and plan9 syntax. cd $GOROOT/src/cmd go get golang.org/x/arch@master go mod tidy go mod vendor Change-Id: Ic8b888de0aa11cba58cbf559f8f69337d1d69309 Reviewed-on: https://go-review.googlesource.com/c/go/+/609015 Reviewed-by: Meidan Li LUCI-TryBot-Result: Go LUCI Reviewed-by: David Chase Reviewed-by: Dmitri Shuralyov Reviewed-by: sophie zhao --- src/cmd/objdump/objdump_test.go | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'src/cmd/objdump/objdump_test.go') diff --git a/src/cmd/objdump/objdump_test.go b/src/cmd/objdump/objdump_test.go index e78f2d3f96..8f9d228ad2 100644 --- a/src/cmd/objdump/objdump_test.go +++ b/src/cmd/objdump/objdump_test.go @@ -65,6 +65,18 @@ var armGnuNeed = []string{ // for both ARM and AMR64 "cmp", } +var loong64Need = []string{ + "JMP main.main(SB)", + "CALL main.Println(SB)", + "RET", +} + +var loong64GnuNeed = []string{ + "ld.b", + "bl", + "beq", +} + var ppcNeed = []string{ "BR main.main(SB)", "CALL main.Println(SB)", @@ -91,8 +103,6 @@ var s390xGnuNeed = []string{ func mustHaveDisasm(t *testing.T) { switch runtime.GOARCH { - case "loong64": - t.Skipf("skipping on %s", runtime.GOARCH) case "mips", "mipsle", "mips64", "mips64le": t.Skipf("skipping on %s, issue 12559", runtime.GOARCH) case "riscv64": @@ -157,6 +167,8 @@ func testDisasm(t *testing.T, srcfname string, printCode bool, printGnuAsm bool, need = append(need, armNeed...) case "arm64": need = append(need, arm64Need...) + case "loong64": + need = append(need, loong64Need...) case "ppc64", "ppc64le": var pie bool for _, flag := range flags { @@ -183,6 +195,8 @@ func testDisasm(t *testing.T, srcfname string, printCode bool, printGnuAsm bool, need = append(need, i386GnuNeed...) case "arm", "arm64": need = append(need, armGnuNeed...) + case "loong64": + need = append(need, loong64GnuNeed...) case "ppc64", "ppc64le": need = append(need, ppcGnuNeed...) case "s390x": -- cgit v1.3