Re: -current build failure

看板FB_current作者時間13年前 (2012/07/25 07:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串19/21 (看更多)
--5KVt+DrA7aLR99aT Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Jul 24, 2012 at 10:08:13PM +0100, David Chisnall wrote: > On 23 Jul 2012, at 20:53, David Chisnall wrote: >=20 > > 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 >=20 > And fixed it in LLVM r160687. Since it's a single-line change, we can pr= obably pull it into our version. >=20 > dim: http://llvm.org/viewvc/llvm-project?view=3Drev&revision=3D160687 As kan rightfully notes, the assumption that &%fs:0 =3D=3D *%fs:0 holds for userspace on amd64, and the same is true for %gs userspace on i386. The change you committed to clang/llvm/whatever it called just breaks useful optimization for FreeBSD. Sigh. --5KVt+DrA7aLR99aT Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (FreeBSD) iEYEARECAAYFAlAPJRoACgkQC3+MBN1Mb4hxxwCcCK6uhCN5jRilzaMof0VyylQp FOQAn2QaqEwCjnLidV+rYhPdgMfoOGSA =s2V6 -----END PGP SIGNATURE----- --5KVt+DrA7aLR99aT--
文章代碼(AID): #1G3oakpm (FB_current)
討論串 (同標題文章)
文章代碼(AID): #1G3oakpm (FB_current)