<div dir="ltr">I see. If clang will handle <span style="color:rgb(0,0,0);white-space:pre-wrap">gcc_word same as gcc in all modes, then we could replace size_t with gcc_word in this emutls.c module.</span><div><div><div><br></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Sep 4, 2015 at 10:35 AM, H.J. Lu <span dir="ltr"><<a href="mailto:hjl.tools@gmail.com" target="_blank">hjl.tools@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="">On Fri, Sep 4, 2015 at 10:32 AM, Chih-hung Hsieh <<a href="mailto:chh@google.com">chh@google.com</a>> wrote:<br>
> I am not sure which one is correct yet,<br>
> but gcc -mx32 and clang -mx32 are not compatible.<br>
><br>
>        sizeof(gcc_word) (size_t)<br>
>  clang -m64   8          8<br>
>  gcc   -m64   8          8<br>
>  clang -m32   4          4<br>
>  gcc   -m32   4          4<br>
>  clang -mx32  4          4<br>
>  gcc   -mx32  8          4<br>
><br>
> So, for -mx32 targets, even the original emutls.c will have difference<br>
> layout for gcc_word from gcc and clang. Would it be right to use only gcc or<br>
> only clang for gcc -mx32? Then, this compiler-rt's emutls.c should be<br>
> excluded when gcc -mx32 is used.<br>
<br>
</span>See:<br>
<br>
<a href="https://llvm.org/bugs/show_bug.cgi?id=24706" rel="noreferrer" target="_blank">https://llvm.org/bugs/show_bug.cgi?id=24706</a><br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
H.J.<br>
</font></span></blockquote></div><br></div>