KertÃsz Csaba <csaba.kertesz@xxxxxxxxx> writes: > When I execute a simple program using an instance of class A: > > - The return address is returned by __builtin_return_address(0) when > searching the fde: 0x2344eca7 > - The address of the class A instance where the exception is thrown: 0x2336b330 > - The address A::c2(): 0x2336b2dc > > It is obvious that the return address (pc) will not be found in the > fdes, because the address space in the fdes completely different, > around 0x400000-0x500000. On the other hand, it also different from > the address range of the class instance A. This is an executable, not a shared library, right? Doe the value returned by __builtin_return_address correspond to a value in the text segment of your program, as shown by readelf -S? If not, why not? If it does correspond, then why do the FDEs not cover that address? Ian