On 23 Jul 2012, at 20:53, David Chisnall wrote:

> On 23 Jul 2012, at 20:18, Konstantin Belousov wrote:
> 
>> Longer description is that pc_curthread is offset 0 if %gs-based.
>> The dereferenced pointer point to the struct thread, which contains
>> td_proc pointer at offset 8. Instead, clang seems to dereference
>> td_proc from offset 8 based on %gs, or something similar.
> 
> This appears to be a bug in the LLVM X86 back end.  It is performing an 
> invalid fold of the two loads.  I have filed this bug:
> 
> http://llvm.org/bugs/show_bug.cgi?id=13438

And fixed it in LLVM r160687.  Since it's a single-line change, we can probably 
pull it into our version.

dim: http://llvm.org/viewvc/llvm-project?view=rev&revision=160687

David

_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to