On Tue, Jul 10, 2012 at 6:51 AM, Dominique Dhumieres <domi...@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

Reply via email to