Hello
We are using the RT1060 processor. Since a long time, we experience problems from time to time in the standard library. We are using the redlib library. Often there are hard faults when using strlen, memcmp or in the current case fabs().
The problems often appear, when code is changed in a completely different part of the application. And it disappears, if e.g. only a line of random code is added.
The debugging of the problem shows that the processor does not return to the calling code on the BX LR instruction. Instead, it just continues to the next address in the code.
Here is a debug session showing the problem:
Start. Here, the function fabs() is called:

This is the situation two steps later, after the execution of the BL.
It's a bit strange that the disassembly shows the code to be in the asin() function. But the PC shows address 0x600aff652 address. So I think this is a debugger problem? Or could this be a problem, that the call is to 0x600aff652, but the fabs adress is at 0x600aff653?

The next three steps seem normal:

But the next single step, jumps into the fp_round() function instead of going back:

From there, it goes on in the pf_round function until it crashes.
I wonder if the standard library could be compiled differently than our project, so it does not fit together.
It is strange that we have various such problems with the standard library.
Any help is appreciated!
Regards,
Daniel