Hi @jefftenney, thank you for your response.
I’m writing an LLVM pass that adds some code for fault tolerance. Right now it consists in adding some instructions for integrity checks at every basic block of the program.
Basically I have some static signatures at compilation time, when the code is executed I need to update the signature and check it against the static one to see if any faults occurred.
I am not very familiar with ARM instructions but, as far as I understood, that piece of code (the one generating my error) should load the address 0xE000ED08, that corresponds with the NVIC offset register. The problem is that perhaps the size of the code increases too much due to my transformation, therefore the offset between the PC and the address I am looking for is too big. Is there any workaround for this?