http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49887
--- Comment #2 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot
Uni-Bielefeld.DE> 2011-07-28 14:52:35 UTC ---
> --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-07-28
> 14:45:11 UTC ---
> So, how are the group signature symbols supposed to be emitted on
> SPARC/Solaris? A dummy symbol of that name somewhere in the section? Can it
> be local, or must it be global symbol?
This is usually handled in gcc/config/sol2.c
(solaris_elf_asm_comdat_section, solaris_define_comdat_signature,
solaris_code_end). I haven't yet checked why this doesn't trigger here.
> Would something like:
> --- gcc/dwarf2out.c 2011-07-27 23:25:36.000000000 +0200
> +++ gcc/dwarf2out.c 2011-07-28 16:43:29.181746188 +0200
> @@ -20872,6 +20872,7 @@ output_macinfo (void)
> DEBUG_MACRO_SECTION_LABEL,
> ref->lineno);
> ASM_OUTPUT_LABEL (asm_out_file, label);
> + ASM_OUTPUT_LABEL (asm_out_file, IDENTIFIER_POINTER (comdat_key));
> ref->code = 0;
> free (CONST_CAST (char *, ref->info));
> ref->info = NULL;
> fix it? Of course I'd prefer if this was limited to targets where the
Probably.
> assembler isn't capable of handling it correctly...
Me too: this should be local to the Solaris port if at all possible. I
won't argue if the need to explicitly define the signature symbols is a
bug or just different from gas, though :-)
Rainer