Hello, Apparently gcc has quite a bit of issues generating proper line information. One of particularly harmful ones are described in gcc bug 49906. While on x86 they appear to be benign (save the odd line where breakpoint ends up being set), on arm it may cause gdb to not be able to step into such function (when software single stepping) or, worse even, breakpoint set on such function using "break " syntax may be set on non reachable instruction thus never being hit. The patch attached addresses this issue by performing further sanity checking and discarding results of skipping over prologue if there is any suspicion that the line information may be bogus/invalid/buggy. In addition to the patch, I'm attaching new test. Full regression test shows no regressions (that is, the new test FAILs on current code, and passes with the patch). Thanks, Aleksandar Ristovski QNX Software Systems gdb/ChangeLog: 2011-10-25 Aleksandar Ristovski * symtab.c (skip_prologue_sal): Introduced start_sal_orig to keep entry value. Added check for line after the prologue. If line information for the next line exists but appears to be before in the code, discard skip over prologue work and revert original sal. gdb/testsuite/ChangeLog: 2011-10-25 Aleksandar Ristovski * prologue-gccbug49906.exp: New test. * prologue.c (f_gccbuf49906): New function, call new function.