I’ve actually never used it.
Cool, got it. Awesome that the optimal solution worked for you!
that just using the program counter is sufficient to identify the code location
It’s enough to know where it crashed, but having another frame before or multiple with coredumps is even better.
you have to know, what version of your firmware failed
We’ve used GNU Build ID to mark our builds in the past, stored those in a simple key-value style blob storage, and were able to retrieve them on demand when we needed to. Quite simple, and far better than trying to made builds by semantic versioning and build flags.