Using perf wrapper that supports hot-text. Try perf.real if you encounter any issues. PERF_RECORD_MMAP2 2854748/2854748: [0x400000(0x1000) @ 0 00:1d 123291722 526021]: r-xp /home/noinline-cs-noprobe.perfbin 4005dc 400634 400684 7f68c5788793 0x4005c8/0x4005dc/P/-/-/0 0x40062f/0x4005b0/P/-/-/0 0x400645/0x4005ff/P/-/-/0 0x400637/0x400645/P/-/-/0 0x4005e9/0x400634/P/-/-/0 0x4005d7/0x4005e5/P/-/-/0 0x40062f/0x4005b0/P/-/-/0 0x400645/0x4005ff/P/-/-/0 0x400637/0x400645/P/-/-/0 0x4005e9/0x400634/P/-/-/0 0x4005d7/0x4005e5/P/-/-/0 0x40062f/0x4005b0/P/-/-/0 0x400645/0x4005ff/P/-/-/0 0x400637/0x400645/P/-/-/0 0x4005e9/0x400634/P/-/-/0 0x4005c8/0x4005dc/P/-/-/0 // Test for leaf frame ending up in prolog 4005b0 400684 7f68c5788793 0x40062f/0x4005b0/P/-/-/0 0x400645/0x4005ff/P/-/-/0 0x400637/0x400645/P/-/-/0 0x4005e9/0x400634/P/-/-/0 0x4005c8/0x4005dc/P/-/-/0 0x40062f/0x4005b0/P/-/-/0 0x400645/0x4005ff/P/-/-/0 0x400637/0x400645/P/-/-/0 0x4005e9/0x400634/P/-/-/0 0x4005d7/0x4005e5/P/-/-/0 0x40062f/0x4005b0/P/-/-/0 0x400645/0x4005ff/P/-/-/0 0x400637/0x400645/P/-/-/0 0x4005e9/0x400634/P/-/-/0 0x4005d7/0x4005e5/P/-/-/0 0x40062f/0x4005b0/P/-/-/0 // Call stack: // 4005b0 -> start addr of bar // 400684 -> address in main // LBR Entry: | Source | Target // 0x40062f/0x4005b0/P/-/-/0 | callq -132 | start addr of bar // 0x400645/0x4005ff/P/-/-/0 | jmp -75 | movl -8(%rbp), %eax // 0x400637/0x400645/P/-/-/0 | jmp 9 | jmp -75 // 0x4005e9/0x400634/P/-/-/0 | (bar)retq | next addr of [callq -132 ] // 0x4005d7/0x4005e5/P/-/-/0 | jmp 9 | movl -4(%rbp), %eax