go-delve / delve

Delve is a debugger for the Go programming language.
MIT License
23.03k stars 2.14k forks source link

Support for linux/mipsle #1327

Open Asphaltt opened 6 years ago

Asphaltt commented 6 years ago

I want to cross-compile dlv to linux/mipsle.

GOOS=linux GOARCH="mipsle" GOMIPS="softfloat" go build -o ~/go/bin/dlv-mipsle ~/go/src/github.com/derekparker/delve/cmd/dlv/*.go \# github.com/derekparker/delve/pkg/proc ../../go/src/github.com/derekparker/delve/pkg/proc/disasm.go:11:14: undefined: ArchInst

githubrobinlu commented 4 years ago

I need the dlv support for linux/mipsle too.

valenvb commented 3 years ago

This would be really handy - I've got some code I need to debug on an Omega2, no way to get anything on there except to cross compile. Doesn't really seem like there are any alternatives to Delve at the moment either.

With so far only three folks interested in this since 2018... sadly seems unlikely this is going to get any traction. If any maintainers would be able to point me in the right direction, I could try and take a look at what might be required to get this working.

aarzilli commented 3 years ago

If any maintainers would be able to point me in the right direction, I could try and take a look at what might be required to get this working.

First thing to do would be to fill a proc.Arch struct for mips, like pkg/proc/amd64_arch.go does. Then you try to compile and implement whatever functions are needed in pkg/proc/native. Finally make the testsuite (make test) pass reliably. It is reasonable to exclude tests that involve cgo or core dumps. Since there are no builders for mips (and it's unlikely that we'll get one) you would have to either provide one or stay around and fix it when it breaks.

PS. I'm guessing the main problem you'll encounter is that MIPS doesn't have hardware singlestepping.

chrisdutz commented 3 years ago

Hi all ... sorry for being late to the party ... I too would be in great need of something similar (mips instead of mipsle)

I should mention, that I'm willing to get my hands dirty ... However a first look at the last comment did show me that this will be quite an effort if you have absolutely no idea where to start ;-)