<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Oct 7, 2014 at 7:03 AM, Rafael Espíndola <span dir="ltr"><<a href="mailto:rafael.espindola@gmail.com" target="_blank">rafael.espindola@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">><br>
>          .file 1 "test.c"<br>
><br>
>          .section        .text.startup,"axG",@progbits,test,comdat<br>
>          .loc 1 1<br>
>          nop<br>
><br>
>          .section        .text.startup,"ax",@progbits<br>
>          .loc 1 1<br>
>          nop<br>
><br>
> This will cause multiple sections named ".text.startup" to exist in the<br>
> output object, one within the comdat group and one outside of it.   This in<br>
> turn triggers a bug in dwarf2dbg.c in GAS, where it gets confused in<br>
> looking up the section name in a hash table and assumes there can only be<br>
> one section with the same name, resulting in an internal error.<br>
<br>
</span>Were we already causing GAS problems in r217264? It would cause us to<br>
create multiple .init_array sections. Or is the problem specific to<br>
.text.startup?<br>
<span class=""><br>
> This causes compile failures in the tramp3d-v4 and CoyoteBench/fftbench<br>
> test cases in test-suite when using -g to build the suite.<br>
><br>
><br>
> The bug is fixed in mainline GAS here:<br>
> <a href="https://sourceware.org/ml/binutils/2014-09/msg00211.html" target="_blank">https://sourceware.org/ml/binutils/2014-09/msg00211.html</a><br>
> but that hasn't made it into any release (or distro) yet.<br>
<br>
</span>Sigh :-(<br>
<br>
So, this is only when not using the integrated assembler and using -g?<br>
I am tempted to just live with this bug and make sure the integrated<br>
assembler works. Why wasn't the integrated assembler used? Were you<br>
explicitly testing the external one?<br></blockquote><div><br></div><div>In the past we have attempted to ensure that our code sections have unique names by appending the function name, like .text._Z1fEv. We could do the same in clang if we wanted to workaround this bug. Personally, I vote we live with this bug in gas and use the integrated assembler.</div></div></div></div>