http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46671
--- Comment #9 from Dave Korn <davek at gcc dot gnu.org> 2010-12-06 17:27:06 UTC --- (In reply to comment #8) > sdbout.c is broken then. Quite likely, but I don't understand what it thinks it's trying to do yet well enough to be sure how. > If it doesn't care in which code section it emits the > stuff, it should at least not switch_to_section (text_section) if > in_section != NULL && (in_section->flags & SECTION_CODE) != 0. I'll take a look at that possibility, thanks. I'm going to have to read up on the coff debug spec to see what it says about the matter. > And in any case, it should remember in_section from the beginning of the > function into say saved_section automatic var and if it was non-NULL, do > switch_to_section (saved_section) at the end of the function. In fact I don't think that would help, GAS does not accept switching section in the middle of an open CFI directive block (though this is probably an implementation limitation rather than a deliberate design choice; cfi is tracked on a per-frag basis, switching to a new section and back leads to starting a new frag which doesn't have any pointer to the previously-begun cfi block.)