Daniel Jacobowitz wrote: >On Sun, Jul 04, 2004 at 07:19:19AM -0400, Michael Chastain wrote: > > >>Here's my next problem with gcc HEAD -gdwarf-2. I suspect this is a bug >>in gdb rather than gcc. >> >>I've got a test program with a class, Alpha, that has a >>compiler-synthesized assignment operator. That is, Alpha does not >>declare or define an operator=, so the C++ compiler has to generate >>one itself. >> >>With the old gcc HEAD, the dwarf-2 info looks like this: >> >> <2>: Abbrev Number: 21 (DW_TAG_subprogram) >> DW_AT_sibling : >> DW_AT_external : 1 >> DW_AT_name : (indirect string, offset: 0x9a3): operator= >> DW_AT_MIPS_linkage_name: _ZN5AlphaaSERKS_ >> DW_AT_type : >> DW_AT_artificial : 1 >> DW_AT_declaration : 1 >> >>With the new gcc HEAD, the dwarf-2 info looks like this: >> >> <2>: Abbrev Number: 21 (DW_TAG_subprogram) >> DW_AT_sibling : >> DW_AT_name : (indirect string, offset: 0x999): operator= >> DW_AT_type : >> DW_AT_artificial : 1 >> DW_AT_declaration : 1 >> >>The difference is that DW_AT_external and DW_AT_MIPS_linkage_name >>have gone away. >> >> > >Is the method code emitted beforehand? How about afterwards? I'm >assuming that it is emitted in both cases. Is it marked .globl before >and after? > This patch should restore the behavior before my patch. Tested on x86_64-unknown-linux-gnu, applied on the mainline. -- Mark Mitchell CodeSourcery, LLC (916) 791-8304 mark@codesourcery.com