In my explorations of using clang/llvm to target small ARM MCUs (Cortex M0/M4), I came across this set of slides, wherein they note that lldb
doesn’t support 2-byte addresses, and they show the modifications necessary to do so (slides 19 & 20). The slides are quite old (2016), so I took a look at the current lldb source, and found it has changed substantially (e.g. DWARFCompileUnit.cpp
no longer references m_addr_size
). Grepping through the source, I found that DWARFUnit.cpp
still does, and still seems to only expect 32- and 64-bit addresses.
Is this assessment correct? What would it take to get 16-bit support into mainline?
Note: I realize M0/M4 are 32-bit, and I admittedly went down a rabbit hole with this, but it seems this support should be in there.