I just compiled an app with GCC. It is segmentation faulting in call_gmon_start (even before reaching main() of my program What does call_gmon_start() do ? Which library defines this function? gdb) where #0 0x2a000750 in call_gmon_start () #1 0x00000000 in ?? () (gdb) info (gdb) disassemble call_gmon_start Dump of assembler code for function call_gmon_start: 0x2a000750 <call_gmon_start+0>: str r10, [sp, #-4]! 0x2a000754 <call_gmon_start+4>: ldr r10, [pc, #32] ; 0x2a00077c <call_gmon_start+44> 0x2a000758 <call_gmon_start+8>: ldr r3, [pc, #32] ; 0x2a000780 <call_gmon_start+48> 0x2a00075c <call_gmon_start+12>: add r10, pc, r10 0x2a000760 <call_gmon_start+16>: ldr r2, [r10, r3] 0x2a000764 <call_gmon_start+20>: cmp r2, #0 ; 0x0 0x2a000768 <call_gmon_start+24>: beq 0x2a000774 <call_gmon_start+36> 0x2a00076c <call_gmon_start+28>: ldmia sp!, {r10} 0x2a000770 <call_gmon_start+32>: b 0x2a000744 <_init+100> 0x2a000774 <call_gmon_start+36>: ldmia sp!, {r10} 0x2a000778 <call_gmon_start+40>: bx lr 0x2a00077c <call_gmon_start+44>: andeq r8, r0, r0, ror #9 0x2a000780 <call_gmon_start+48>: andeq r0, r0, r12, lsr #32 End of assembler dump.