Re: arm-none-eabi-gcc, mtpcs-leaf-frame and cortex_debug.c
Ole Reinhardt <ole.reinhardt-L1vi/[email protected]>
| Newsgroups | gmane.comp.hardware.microcontrollers.ethernut |
|---|---|
| Message-ID | <[email protected]> |
Hi Uwe, this question is yet quite old, but let me answer anyway. Am 30.03.2015 11:19, schrieb Uwe Bonnes: > your patch: > Added experimental stack backtrace code, which can be enabled for > easier debugging exceptions. > introduces -mtpcs-leaf-frame as compiler option. > > On Cortex-M0, this caused a compiler error. So I opened > https://bugs.launchpad.net/gcc-arm-embedded/+bug/1390053 > > This bug was pending for some time and asking again these days the response > was a status change to: Confirmed → Won't Fix > >> We are going to deprecate all TPCS related options >> https://gcc.gnu.org/gcc-5/changes.html. So please try not using them. > > Any ideas how to get around that? Unfortunately not. As Cortex Mx CPUs do not have a dedicated frame pointer which gets stacked on a function call, we are not able to do a real stack backtrace. The problem is, that you do not know at which position your last stack frame starts. So my code tries to analyze the code to calculate back how many bytes have been pushed to the stack since the start of the stack frame. But to make this at least somewhat reliable, the code needs to have a very clear structure (it has to create the needed stack layout, which is forced when enabling -mtpcs-leaf-frame). So if these options get depricated or removed, the backtrace code won't work any more and I do not have an idea how to workaround this. Best regards, Ole -- kernel concepts GmbH Tel: +49-271-771091-14 Sieghuetter Hauptweg 48 Mob: +49-177-7420433 D-57072 Siegen http://www.embedded-it.de http://www.kernelconcepts.de _______________________________________________ http://lists.egnite.de/mailman/listinfo/en-nut-discussion