This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [C++ Pubnames Patch] Anonymous namespaces enclosed in named namespaces. (issue6343052)


On Tue, Jul 10, 2012 at 6:51 AM, Dominique Dhumieres <dominiq@lps.ens.fr> wrote:
> Hi Sterling,
>
> On x86_64-apple-darwin10 the test fails with
>
> FAIL: g++.dg/debug/dwarf2/pubnames-2.C scan-assembler .section\t.debug_pubnames
> FAIL: g++.dg/debug/dwarf2/pubnames-2.C scan-assembler "_GLOBAL__sub_I__ZN3one3c1vE\\\\0"+[ \t]+[#;]+[ \t]+external name
> FAIL: g++.dg/debug/dwarf2/pubnames-2.C scan-assembler .section\t.debug_pubtypes
>
> (note that looking at the test I was expecting much more failures;-).
> Grepping the assembly for 'debug_pubnames' and 'ZN3one3c1vE' returns
>
> ? ? ? ? .section __DWARF,__debug_pubnames,regular,debug
> Lsection__debug_pubnames:
>
> and
>
> ? ? ? ? .globl __ZN3one3c1vE
> __ZN3one3c1vE:
> ? ? ? ? leal ? ?__ZN3one3c1vE-L3$pb(%ebx), %eax
> ? ? ? ? leal ? ?__ZN3one3c1vE-L8$pb(%ebx), %eax
> ? ? ? ? leal ? ?__ZN3one3c1vE-L8$pb(%ebx), %eax
> ? ? ? ? .ascii "_ZN3one3c1vE\0" # DW_AT_linkage_name
> ? ? ? ? .long ? __ZN3one3c1vE
>
> So fixing the debug_pubnames failures for Darwin is fairly easy,
> but I am not sure what to pick for ZN3one3c1vE.

Hmm. None of those from the grep appear to be inside the pubnames section.

The particular pubname here is a global constructor, and Darwin
(coff?) must handle those differently than Elf. I think it is OK to
either just delete the offending check, or to conditionalize it on
Elf--not sure how to do that.

Sterling


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]