Skip to content

esp32: gdb support #1507

@jbpratt

Description

@jbpratt

I was digging in a bit to determine how gdb support worked for existing controllers. Adding the field to the target file gets me a step in the right direction (though I am sure this has already been worked through and determined to delay).

https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/jtag-debugging/using-debugger.html#command-line

+  "gdb": "xtensa-esp32-elf-gdb"

First error

tinygo >tinygo gdb -target=esp32
# os/user
../../../usr/lib/go/src/os/user/cgo_lookup_unix.go:19:6: not implemented: build constraints in #cgo line

which is a Solaris build tag. For the heck of it, I went ahead and deleted the build tag to see what would happen next and we seem to be getting into the meat of go-llvm and llvm

tinygo >tinygo gdb -target=esp32
# tinygo.org/x/go-llvm
../go/pkg/mod/tinygo.org/x/go-llvm@v0.0.0-20201104183921-570e7a6841d9/llvm_config_linux.go:8:9: invalid #cgo line: CPPFLAGS
../go/pkg/mod/tinygo.org/x/go-llvm@v0.0.0-20201104183921-570e7a6841d9/llvm_config_linux.go:9:9: invalid #cgo line: CXXFLAGS
../../../usr/include/llvm/Config/llvm-config.h:4:10: fatal: 'llvm-config-32.h' file not found
../go/pkg/mod/tinygo.org/x/go-llvm@v0.0.0-20201104183921-570e7a6841d9/executionengine.go:17:10: note: in file included from /home/jbpratt/go/pkg/mod/tinygo.org/x/go-llvm@v0.0.0-20201104183921-570e7a6841d9/executionengine.go!cgo.c:3:
../../../usr/include/llvm-c/ExecutionEngine.h:23:10: note: in file included from /usr/include/llvm-c/ExecutionEngine.h:23:
../../../usr/include/llvm-c/Target.h:24:10: note: in file included from /usr/include/llvm-c/Target.h:24:
../../../usr/include/llvm/Config/llvm-config.h:4:10: fatal: 'llvm-config-32.h' file not found
../go/pkg/mod/tinygo.org/x/go-llvm@v0.0.0-20201104183921-570e7a6841d9/target.go:17:10: note: in file included from /home/jbpratt/go/pkg/mod/tinygo.org/x/go-llvm@v0.0.0-20201104183921-570e7a6841d9/target.go!cgo.c:3:
../../../usr/include/llvm-c/Target.h:24:10: note: in file included from /usr/include/llvm-c/Target.h:24:
../../../usr/include/llvm/Config/llvm-config.h:4:10: fatal: 'llvm-config-32.h' file not found
../go/pkg/mod/tinygo.org/x/go-llvm@v0.0.0-20201104183921-570e7a6841d9/version.go:16:10: note: in file included from /home/jbpratt/go/pkg/mod/tinygo.org/x/go-llvm@v0.0.0-20201104183921-570e7a6841d9/version.go!cgo.c:2:
tinygo >tinygo version
tinygo version 0.16.0 linux/amd64 (using go version go1.15.5 and LLVM version 10.0.1)

Please let me know if I can try to provide any more info or even help out with this. Thank you!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions