This is an issue that I discovered in your previous set of patches, but got fixed in this iteration :-). Nonetheless, I wrote a testcase, so I'm sending it here. I think I should commit it independenly of your series. I had described the problem as follow: > The "info line" command skips function prologues, but it shouldn't. > Consider for instance the new testcase provided with this patch. > The code looks like this: > > 17 > 18 int twice (int i) { /* THIS LINE */ > 19 /* We purposefully put the return type, function prototype and > 20 opening curly brace on the same line, in an effort to make sure > 21 that the function prologue would be associated to that line. */ > 22 return 2 * i; > 23 } > > Without this patch, GDB would report the following address range > for line 18: > > (gdb) info line 18 > Line 18 of "[...]/infoline.c" is at address 0x40049b > but contains no code. > > The indicator that the prologue was skipped comes from the fact that > the address chosen is at twice+7, not twice+0. -- Joel