If you think it's a generic GDB problem I can fix it. I have to fix it
anyway on Xtensa GDB. I don't see how it can be Xtensa-specific.
Xtensa GCC compiler DWARF is consistent with native GCC 4.1.1 compiler
on my Linux box. So if this is a compiler problem ( which I doubt )
it seems to be pretty generic.
With the information you have given us, all I can say is that GDB
should be able to handle the situation, so we do have a bug somewhere.
Whether it is in GCC or GDB is still an open question as far as I can
tell.
Have you checked the line-table as well in both cases? There is
a very convenient command that gives you the list of lines known
by GDB for any given file: -symbol-list-lines. It's a MI command,
but you should be able to use it from the GDB prompt using
"interpreter-exe mi -symbol-list-lines" followed by the filename.