Date: Tue, 24 Jul 2012 22:08:13 +0100 From: David Chisnall <theraven@FreeBSD.org> To: Konstantin Belousov <kostikbel@gmail.com> Cc: Dimitry Andric <dim@FreeBSD.org>, freebsd-current@FreeBSD.org, Kim Culhan <w8hdkim@gmail.com> Subject: Re: -current build failure Message-ID: <05368BFA-F5F6-49D4-BE63-7C9360E54F54@FreeBSD.org> In-Reply-To: <088BF877-50E6-42C5-98EF-DAB0FA52C348@freebsd.org> References: <CAKZxVQV5xhFDN_WbTk-EMoQ18N8u1f4YhqKSJQFUzbX4NZxhUA@mail.gmail.com> <50097BF0.9010103@FreeBSD.org> <CAKZxVQXC6DuX5UTn3goNM9toxSVkP8-7bazTk%2Ba7yLEy7RsJYA@mail.gmail.com> <20120721211628.GE2676@deviant.kiev.zoral.com.ua> <6006581B-6B1C-4DFB-8662-3EB35869CA5F@FreeBSD.org> <20120722180119.GJ2676@deviant.kiev.zoral.com.ua> <20120723191856.GR2676@deviant.kiev.zoral.com.ua> <088BF877-50E6-42C5-98EF-DAB0FA52C348@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 23 Jul 2012, at 20:53, David Chisnall wrote: > On 23 Jul 2012, at 20:18, Konstantin Belousov wrote: >=20 >> 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. >=20 > 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: >=20 > http://llvm.org/bugs/show_bug.cgi?id=3D13438 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=3Drev&revision=3D160687 David
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?05368BFA-F5F6-49D4-BE63-7C9360E54F54>