Date: Tue, 24 Apr 2018 20:24:01 +0000 From: bugzilla-noreply@freebsd.org To: toolchain@FreeBSD.org Subject: [Bug 227723] clang 6.0 breaks php56/opcache Message-ID: <bug-227723-29464-azRI3bU2bY@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-227723-29464@https.bugs.freebsd.org/bugzilla/> References: <bug-227723-29464@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=227723 --- Comment #6 from Dimitry Andric <dim@FreeBSD.org> --- After some bisecting, it turns out this behavior changed due to the following upstream commit: https://reviews.llvm.org/rL313784 ("Remove offset size check in nullptr arithmetic handling") and https://reviews.llvm.org/rL313666 ("Teach clang to tolerate the 'p = nullptr + n' idiom used by glibc"). See also https://reviews.llvm.org/D37042. What PHP5 is doing is, strictly speaking, undefined behavior, as adding numbers to null pointers is normally not allowed. In the upstream commit, Andrew Kaylor has apparently tried to make this work, at least partially, for a few specific cases used in glibc. PHP7 and later use a completely different way of storing these variable/number hybrids, which is not affected by this, as it apparently avoids any null pointer arithmetic. I'll see if I can get some feedback from Andrew on this. -- You are receiving this mail because: You are on the CC list for the bug.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-227723-29464-azRI3bU2bY>
