crystal-lang / crystal

The Crystal Programming Language
https://crystal-lang.org
Apache License 2.0
19.36k stars 1.62k forks source link

LLVM 16 supports Crystal's DWARF5 language code #13174

Open HertzDevil opened 1 year ago

HertzDevil commented 1 year ago

LLVM 16.0.0-rc4 is about to be released. Getting Crystal to work on LLVM 16 is a walk in the park compared to LLVM 15, as it requires just minor changes to src/llvm/ext/llvm_ext.cc for C++17 compatibility.

However, this PR caught my attention: https://github.com/llvm/llvm-project/commit/b70bbaaaa9d9a230f45453b4d792637ee19c0ddc. It means that, for the first time, debug information produced by Crystal no longer needs to share the same language code as C++. It doesn't seem anything is in place for LLDB 16 though.

We should spend some time to investigate the impact this has on our native debugging capabilities. Perhaps this will finally enable us to contribute Crystal-specific patches to LLDB itself?

crysbot commented 4 months ago

This issue has been mentioned on Crystal Forum. There might be relevant details there:

https://forum.crystal-lang.org/t/how-to-debug-my-crystal-app/3393/8

HertzDevil commented 1 week ago

So the language code is not part of DWARF 5; it was reserved after the release of that version, and is only effective in the upcoming DWARF 6 (page 64, 240)