int v; void f (void) { asm volatile ("push %rbp\nmov %rsp,%rbp"); v = 1; v = 2; asm volatile ("pop %rbp");} int main (void) { f (); return 0; } ------------------------------------------------------------------------------- gcc -g -fomit-frame-pointer ------------------------------------------------------------------------------- Special opcode 8: advance Address by 0 to 0x0 and Line by 3 to 4 Copy Special opcode 63: advance Address by 4 to 0x4 and Line by 2 to 6 ------------------------------------------------------------------------------- There is double line marker for address 0 but GDB ignores that. (gdb) b f Breakpoint 1 at 0x4: file prologue.c, line 6. (gdb) info breakpoints Num Type Disp Enb Address What 1 breakpoint keep y 0x0000000000000004 in f at prologue.c:6 FAIL: address 4 PASS: address 0