Thanks for the patch! You certainly worked that out faster than I could
create a reproducer. It's a bit late for me now, so I'll have to try it out
tomorrow. Note however that in the final patch I will be only doing TLS for
mingw32.h and not cygming.h. The reason for this is that Cygwin likely
cannot support Windows TLS since it lacks the special TLS slot marker
_tls_index. Essentially, only the MinGW runtime supports Windows TLS,
whatever runtime Cygwin uses does not, so implementing this for Cygwin as
well would not work out

best regards,
Julian

On Mon, Oct 7, 2024 at 11:44 PM Eric Botcazou <botca...@adacore.com> wrote:

> > I'm not quite sure what you mean by a testcase, but when compiling gcc
> > itself, when libgomp/libgcc (Can't remember which) is being compiled, gcc
> > will spit out invalid assembly that looks something like
> >
> > movabsq $8+__gcov_indirect_call@secrel32, %rax
>
> Tentative patch attached which should work better.  AFAICS the problematic
> assembly is generated because of the legitimate_pic_operand_p hunk, so I
> removed it (which yields an ICE) and added some massaging code to
> compensate
> in legitimize_pic_address.
>
> --
> Eric Botcazou

Reply via email to