r218141 - In the Itanium ABI, move stuff to the comdat of variables with static init.

Rafael EspĂ­ndola rafael.espindola at gmail.com
Wed Oct 8 09:33:56 PDT 2014


On 8 October 2014 08:00, Ulrich Weigand <Ulrich.Weigand at de.ibm.com> wrote:
> Rafael EspĂ­ndola <rafael.espindola at gmail.com> wrote on 07.10.2014 16:03:52:
>
>> Were we already causing GAS problems in r217264? It would cause us to
>> create multiple .init_array sections. Or is the problem specific to
>> .text.startup?
>
> .init_array should not cause problems since it doesn't contain code,
> and therefore no .loc directives.  The problem only occurs with .loc
> directives in multiple sections with the same name.

OK, so a possible work around would be to created a default on option
for not putting the function in the comdat.

>> So, this is only when not using the integrated assembler and using -g?
>> I am tempted to just live with this bug and make sure the integrated
>> assembler works. Why wasn't the integrated assembler used? Were you
>> explicitly testing the external one?
>
> No, but I was testing on SystemZ, where the integrated assembler is
> off by default.  In principle the integrated assembler should work
> fine for all instructions generated by the compiler, but it does not
> yet support most of the instructions not used by the compiler (all
> system-level instructions, and a bunch of special purpose user space
> instructions), so I guess switching it on by default might make clang
> fail when compiling some inline asm statements?
>
> But then again, PowerPC is in the same situation, and there the
> integrated assembler was recently switched on by default -- what
> is the current policy here?  Should we switch it on on SystemZ too?

As far as I can tell the policy is just picking what is best for the
people using/developing that system.. Let me know what you think and
if keeping the integrated assembler off by default I can try to
implement the work around patch.

Cheers,
Rafael




More information about the cfe-commits mailing list