diff --git a/pkg/proc/dump.go b/pkg/proc/dump.go index ee693d6194..1f3faa1364 100644 --- a/pkg/proc/dump.go +++ b/pkg/proc/dump.go @@ -136,6 +136,8 @@ func (t *Target) Dump(out elfwriter.WriteCloserSeeker, flags DumpFlags, state *D fhdr.Machine = elf.EM_386 case "arm64": fhdr.Machine = elf.EM_AARCH64 + case "ppc64le": + fhdr.Machine = elf.EM_PPC64 default: panic("not implemented") } diff --git a/pkg/proc/proc_test.go b/pkg/proc/proc_test.go index 974c80b67d..a9fe6fdba8 100644 --- a/pkg/proc/proc_test.go +++ b/pkg/proc/proc_test.go @@ -3807,7 +3807,8 @@ func TestHaltKeepsSteppingBreakpoints(t *testing.T) { } func TestDisassembleGlobalVars(t *testing.T) { - skipOn(t, "broken - global variable symbolication", "arm64") // On ARM64 symLookup can't look up variables due to how they are loaded, see issue #1778 + skipOn(t, "broken - global variable symbolication", "arm64") // On ARM64 symLookup can't look up variables due to how they are loaded, see issue #1778 + skipOn(t, "broken - global variable symbolication", "ppc64le") // See comment on ARM64 above. // On 386 linux when pie, the genered code use __x86.get_pc_thunk to ensure position-independent. // Locate global variable by // `CALL __x86.get_pc_thunk.ax(SB) 0xb0f7f diff --git a/pkg/proc/test/support.go b/pkg/proc/test/support.go index bd5086738f..e7a30521a9 100644 --- a/pkg/proc/test/support.go +++ b/pkg/proc/test/support.go @@ -337,7 +337,7 @@ func MustSupportFunctionCalls(t *testing.T, testBackend string) { if runtime.GOOS == "darwin" && os.Getenv("TRAVIS") == "true" && runtime.GOARCH == "amd64" { t.Skip("function call injection tests are failing on macOS on Travis-CI (see #1802)") } - if runtime.GOARCH == "386" { + if runtime.GOARCH == "386" || runtime.GOARCH == "ppc64le" { t.Skip(fmt.Errorf("%s does not support FunctionCall for now", runtime.GOARCH)) } if runtime.GOARCH == "arm64" {