bombela / backward-cpp

A beautiful stack trace pretty printer for C++
MIT License
3.66k stars 466 forks source link

Add Support for Baremetal #306

Open stellarpower opened 11 months ago

stellarpower commented 11 months ago

Hi,

Nice library, I like using it :).

We are doing some embedded development on a Xilinx Zynq Ultrascale platform. AFAIK this platform runs an ELF binary and is build using a standard GCC cross-compiler toolchain - so I think most of the features should work. However, it seems that when the platform is not detected backward does nothing by default. It would be nice to support baremetal for embedded development, making some reasonable assumptions about the environment - i.e. that this will probably be linux-like (at least compared to Windows, Mac, BSD, ...), but won't feature any of the runtime abilities of a linux OS. We can also simplify away some sections - we don;t need to handle signals, we don't have threads, we could neglect to find a filename. For me, the main thing I'd like is a pretty trace of the functions names and the line numbers callstack, and without being terribly knowledgeable I think this should be possible in a baremetal setup given the binary will feature DWARF symbols just as on a linux sytstem.

Thanks!