I received a backtrace of my program (qt app running on RHEL 5.3) from a coworker and as I was analyzing it I found something I could not explain. If you look at this backtrace, you will notice the trace for main and _start. But before that we see _ZN19datalog_render_area9prepStripEh and _ZN12QMutexLockerD1Ev which are in my program. How can I see some of my functions getting called before the _start and main. Isn't that impossible? (pardon the layout of my backtrace)
Funct Addr| Instr. Addr | FunctionSymbol ----------|-------------|----------------------------------------------------------| 0x8060bf2 | 0x8060dc0 | _Z11print_tracev 0x8061386 | 0x806141c | _Z15myMessageOutput9QtMsgTypePKc 0x822b558 | 0x822b598 | _ZN5QListIP13QStandardItemEixEi 0x8229ece | 0x8229f0b | _ZN12vehicleModel14updHeaderModelEP5QListIjE 0x822be7e | 0x822bf64 | _ZN14vehTableWidget19updVehicleTabLayoutEib 0x822c668 | 0x822c8e7 | _ZN14vehTableWidget13setupVehTableEib 0x82845f8 | 0x82846fc | _ZN14vehTableWidget11qt_metacallEN11QMetaObject4CallEiPPv
...function calls outside the program
0x8060e86 | 0x80612ce | main _____________________|____________________|address outside of program: 4804252 0x8060a70 | 0x8060a91 | _start _____________________|____________________|address outside of program: 3218418744 0x808df02 | 0x808df13 | _ZN12QMutexLockerD1Ev _____________________|____________________|address outside of program: 3218420336 _____________________|____________________|address outside of program: 152429104 _____________________|____________________|address outside of program: 3218420552 0x8208fa6 | 0x820acd0 | _ZN19datalog_render_area9prepStripEh _____________________|____________________|address outside of program: 3218420336 _____________________|____________________|address outside of program: 3218420500