KertÃsz Csaba <csaba.kertesz@xxxxxxxxx> writes: > Now, I know what is going on, but I do not know why: the > __builtin_return_address() corresponds to a value in the text segment, > which has fde entry, but: > - __builtin_return_address() returns back the run-time address of the > text segment > - the fde entries contain the link-time address of the same text segment. I'm not sure I fully understand this. Are you saying that the runtime and link time addresses are different? How is the runtime address determined? It is done using a linker script, or are the instructions moved around dynamically at runtime? > Now I can see in the documentation for > __builtin_extract_return_addr() that it is a platform specific > behaviour of the fixing of the run-time addresses if needed: __builtin_extract_return_addr is for very special purpose uses like removing the Thumb bit from an ARM address. It's expanded internally by the compiler--there is no actual source code for it. It's not intended to help with this kind of issue. Ian