Brian Cain via llvm-dev
2018-Mar-05 16:33 UTC
[llvm-dev] [Release-testers] [6.0.0 Release] The final tag is in
Isn't libc++.so dependent on libc++abi.so? On Mon, Mar 5, 2018 at 10:30 AM, Jonas Hahnfeld <hahnjo at hahnjo.de> wrote:> From what I can see all of the libraries without RPATH are runtime > libraries that are used by binaries compiled with Clang. I think they don't > have a dependency on other libraries in that directory, so what would be > the advantage of having RPATH set on them? > > Regards, > Jonas > > > Am 2018-03-05 17:23, schrieb Brian Cain via llvm-dev: > >> It was just brought to my attention that the RPATH configuration isn't >> uniform among the libraries produced by the release. Some use >> $ORIGIN../lib/ and others have none. Is this by design? It seems >> like it might be ideal for all of them to be configured the same way. >> If that makes sense I'll create a corresponding feature request. >> >> $ for f in >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/lib*.so*; do echo >> $f; readelf -d $f|grep RUNPATH; done >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libc++abi.so >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libc++abi.so.1 >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libc++abi.so.1.0 >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libclang.so >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libclang.so.6 >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libclang.so.6.0 >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libc++.so >> readelf: Error: >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libc++.so: Failed >> to read file header >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libc++.so.1 >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libc++.so.1.0 >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libgomp.so >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libiomp5.so >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/liblldb >> IntelFeatures.so >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/liblldb >> IntelFeatures.so.6 >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/liblldb >> IntelFeatures.so.6.0.0 >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/liblldb.so >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/liblldb.so.6 >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/liblldb.so.6.0.0 >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libLTO.so >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libLTO.so.6 >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libLTO.so.6.0.0 >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libomp.so >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libompt >> arget.rtl.x86_64.so >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libomptarget.so >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libunwind.so >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libunwind.so.1 >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libunwind.so.1.0 >> >> On Sun, Mar 4, 2018 at 10:54 AM, Brian Cain <brian.cain at gmail.com> >> wrote: >> >> Uploaded ubuntu, SLES11, SLES12 binaries. >>> >>> 4907dbd37f4e5265a2f1252d9d7b5e5b0a9c0ec1 >>> clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz >>> 360b26fcd9eafe5ca9c4baa89c38339bc587c094 >>> clang+llvm-6.0.0-x86_64-linux-sles11.3.tar.xz >>> ce525cf949ef86409bc3f4f492035225989eecfd >>> clang+llvm-6.0.0-x86_64-linux-sles12.2.tar.xz >>> >>> On Fri, Mar 2, 2018 at 6:17 AM, Hans Wennborg via Release-testers >>> <release-testers at lists.llvm.org> wrote: >>> >>> Dear testers, >>>> >>>> The final version of 6.0.0 has just been tagged from the branch >>>> after >>>> r326550. It has the same contents as -rc3 modulo release notes and >>>> one >>>> small x86 fix (r326393). >>>> >>>> Please build the final binaries and upload to the sftp. >>>> >>>> For those following along: this means llvm-6.0.0 is complete, but >>>> it >>>> will take a few days to get all the tarballs ready and published >>>> on >>>> the web page. I will send the announcement once everything is >>>> ready. >>>> >>>> Many thanks to everyone for your hard work! >>>> >>>> Hans >>>> _______________________________________________ >>>> Release-testers mailing list >>>> Release-testers at lists.llvm.org >>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/release-testers [1] >>>> >>> >>> -- >>> -Brian >>> >> >> -- >> -Brian >> >> Links: >> ------ >> [1] http://lists.llvm.org/cgi-bin/mailman/listinfo/release-testers >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> >-- -Brian -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180305/3d62f309/attachment.html>
Jonas Hahnfeld via llvm-dev
2018-Mar-05 16:37 UTC
[llvm-dev] [Release-testers] [6.0.0 Release] The final tag is in
libc++.so should be a linker script that automatically pulls in libc++abi (see "Failed to read file header" in your output). And IIRC libc++abi is only one possible implementation that may be used by libc++, but I'm no expert here... Am 2018-03-05 17:33, schrieb Brian Cain:> Isn't libc++.so dependent on libc++abi.so? > > On Mon, Mar 5, 2018 at 10:30 AM, Jonas Hahnfeld <hahnjo at hahnjo.de> > wrote: > >> From what I can see all of the libraries without RPATH are runtime >> libraries that are used by binaries compiled with Clang. I think >> they don't have a dependency on other libraries in that directory, >> so what would be the advantage of having RPATH set on them? >> >> Regards, >> Jonas >> >> Am 2018-03-05 17:23, schrieb Brian Cain via llvm-dev: >> >> It was just brought to my attention that the RPATH configuration >> isn't >> uniform among the libraries produced by the release. Some use >> $ORIGIN../lib/ and others have none. Is this by design? It seems >> like it might be ideal for all of them to be configured the same >> way. >> If that makes sense I'll create a corresponding feature request. >> >> $ for f in >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/lib*.so*; do >> echo >> $f; readelf -d $f|grep RUNPATH; done >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libc++abi.so >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libc++abi.so.1 >> > ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libc++abi.so.1.0 >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libclang.so >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libclang.so.6 >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libclang.so.6.0 >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libc++.so >> readelf: Error: >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libc++.so: >> Failed >> to read file header >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libc++.so.1 >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libc++.so.1.0 >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libgomp.so >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libiomp5.so >> > ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/liblldbIntelFeatures.so >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> > ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/liblldbIntelFeatures.so.6 >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> > ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/liblldbIntelFeatures.so.6.0.0 >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/liblldb.so >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/liblldb.so.6 >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> > ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/liblldb.so.6.0.0 >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libLTO.so >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libLTO.so.6 >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libLTO.so.6.0.0 >> 0x000000000000001d (RUNPATH) Library runpath: >> [$ORIGIN/../lib] >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libomp.so >> > ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libomptarget.rtl.x86_64.so >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libomptarget.so >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libunwind.so >> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libunwind.so.1 >> > ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libunwind.so.1.0 >> >> On Sun, Mar 4, 2018 at 10:54 AM, Brian Cain <brian.cain at gmail.com> >> wrote: >> >> Uploaded ubuntu, SLES11, SLES12 binaries. >> >> 4907dbd37f4e5265a2f1252d9d7b5e5b0a9c0ec1 >> clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz >> 360b26fcd9eafe5ca9c4baa89c38339bc587c094 >> clang+llvm-6.0.0-x86_64-linux-sles11.3.tar.xz >> ce525cf949ef86409bc3f4f492035225989eecfd >> clang+llvm-6.0.0-x86_64-linux-sles12.2.tar.xz >> >> On Fri, Mar 2, 2018 at 6:17 AM, Hans Wennborg via Release-testers >> <release-testers at lists.llvm.org> wrote: >> >> Dear testers, >> >> The final version of 6.0.0 has just been tagged from the branch >> after >> r326550. It has the same contents as -rc3 modulo release notes and >> one >> small x86 fix (r326393). >> >> Please build the final binaries and upload to the sftp. >> >> For those following along: this means llvm-6.0.0 is complete, but >> it >> will take a few days to get all the tarballs ready and published >> on >> the web page. I will send the announcement once everything is >> ready. >> >> Many thanks to everyone for your hard work! >> >> Hans >> _______________________________________________ >> Release-testers mailing list >> Release-testers at lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/release-testers [2] >> [1] >> >> -- >> -Brian > > -- > -Brian > > Links: > ------ > [1] http://lists.llvm.org/cgi-bin/mailman/listinfo/release-testers [2] > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev [3] > > -- > -Brian > > Links: > ------ > [2] http://lists.llvm.org/cgi-bin/mailman/listinfo/release-testers > [3] http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
Brian Cain via llvm-dev
2018-Mar-05 16:48 UTC
[llvm-dev] [Release-testers] [6.0.0 Release] The final tag is in
Ok, yes, you're right -- thanks for clarification. On Mon, Mar 5, 2018 at 10:37 AM, Jonas Hahnfeld <hahnjo at hahnjo.de> wrote:> libc++.so should be a linker script that automatically pulls in libc++abi > (see "Failed to read file header" in your output). And IIRC libc++abi is > only one possible implementation that may be used by libc++, but I'm no > expert here... > > > Am 2018-03-05 17:33, schrieb Brian Cain: > >> Isn't libc++.so dependent on libc++abi.so? >> >> On Mon, Mar 5, 2018 at 10:30 AM, Jonas Hahnfeld <hahnjo at hahnjo.de> >> wrote: >> >> From what I can see all of the libraries without RPATH are runtime >>> libraries that are used by binaries compiled with Clang. I think >>> they don't have a dependency on other libraries in that directory, >>> so what would be the advantage of having RPATH set on them? >>> >>> Regards, >>> Jonas >>> >>> Am 2018-03-05 17:23, schrieb Brian Cain via llvm-dev: >>> >>> It was just brought to my attention that the RPATH configuration >>> isn't >>> uniform among the libraries produced by the release. Some use >>> $ORIGIN../lib/ and others have none. Is this by design? It seems >>> like it might be ideal for all of them to be configured the same >>> way. >>> If that makes sense I'll create a corresponding feature request. >>> >>> $ for f in >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/lib*.so*; do >>> echo >>> $f; readelf -d $f|grep RUNPATH; done >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libc++abi.so >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libc++abi.so.1 >>> >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libc++abi.so.1.0 >> >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libclang.so >>> 0x000000000000001d (RUNPATH) Library runpath: >>> [$ORIGIN/../lib] >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libclang.so.6 >>> 0x000000000000001d (RUNPATH) Library runpath: >>> [$ORIGIN/../lib] >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libclang.so.6.0 >>> 0x000000000000001d (RUNPATH) Library runpath: >>> [$ORIGIN/../lib] >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libc++.so >>> readelf: Error: >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libc++.so: >>> Failed >>> to read file header >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libc++.so.1 >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libc++.so.1.0 >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libgomp.so >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libiomp5.so >>> >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/liblldb >> IntelFeatures.so >> >>> 0x000000000000001d (RUNPATH) Library runpath: >>> [$ORIGIN/../lib] >>> >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/liblldb >> IntelFeatures.so.6 >> >>> 0x000000000000001d (RUNPATH) Library runpath: >>> [$ORIGIN/../lib] >>> >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/liblldb >> IntelFeatures.so.6.0.0 >> >>> 0x000000000000001d (RUNPATH) Library runpath: >>> [$ORIGIN/../lib] >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/liblldb.so >>> 0x000000000000001d (RUNPATH) Library runpath: >>> [$ORIGIN/../lib] >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/liblldb.so.6 >>> 0x000000000000001d (RUNPATH) Library runpath: >>> [$ORIGIN/../lib] >>> >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/liblldb.so.6.0.0 >> >>> 0x000000000000001d (RUNPATH) Library runpath: >>> [$ORIGIN/../lib] >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libLTO.so >>> 0x000000000000001d (RUNPATH) Library runpath: >>> [$ORIGIN/../lib] >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libLTO.so.6 >>> 0x000000000000001d (RUNPATH) Library runpath: >>> [$ORIGIN/../lib] >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libLTO.so.6.0.0 >>> 0x000000000000001d (RUNPATH) Library runpath: >>> [$ORIGIN/../lib] >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libomp.so >>> >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libompt >> arget.rtl.x86_64.so >> >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libomptarget.so >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libunwind.so >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libunwind.so.1 >>> >>> ./clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04/lib/libunwind.so.1.0 >> >>> >>> On Sun, Mar 4, 2018 at 10:54 AM, Brian Cain <brian.cain at gmail.com> >>> wrote: >>> >>> Uploaded ubuntu, SLES11, SLES12 binaries. >>> >>> 4907dbd37f4e5265a2f1252d9d7b5e5b0a9c0ec1 >>> clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz >>> 360b26fcd9eafe5ca9c4baa89c38339bc587c094 >>> clang+llvm-6.0.0-x86_64-linux-sles11.3.tar.xz >>> ce525cf949ef86409bc3f4f492035225989eecfd >>> clang+llvm-6.0.0-x86_64-linux-sles12.2.tar.xz >>> >>> On Fri, Mar 2, 2018 at 6:17 AM, Hans Wennborg via Release-testers >>> <release-testers at lists.llvm.org> wrote: >>> >>> Dear testers, >>> >>> The final version of 6.0.0 has just been tagged from the branch >>> after >>> r326550. It has the same contents as -rc3 modulo release notes and >>> one >>> small x86 fix (r326393). >>> >>> Please build the final binaries and upload to the sftp. >>> >>> For those following along: this means llvm-6.0.0 is complete, but >>> it >>> will take a few days to get all the tarballs ready and published >>> on >>> the web page. I will send the announcement once everything is >>> ready. >>> >>> Many thanks to everyone for your hard work! >>> >>> Hans >>> _______________________________________________ >>> Release-testers mailing list >>> Release-testers at lists.llvm.org >>> http://lists.llvm.org/cgi-bin/mailman/listinfo/release-testers [2] >>> [1] >>> >>> -- >>> -Brian >>> >> >> -- >> -Brian >> >> Links: >> ------ >> [1] http://lists.llvm.org/cgi-bin/mailman/listinfo/release-testers [2] >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev [3] >> >> -- >> -Brian >> >> Links: >> ------ >> [2] http://lists.llvm.org/cgi-bin/mailman/listinfo/release-testers >> [3] http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> >-- -Brian -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180305/9bf964bd/attachment.html>