<div dir="ltr"><div dir="ltr">Thanks Marshall and Eric, this clarifies the situation.<br><br><div class="gmail_quote"><div dir="ltr">On Mon, Oct 1, 2018 at 9:23 PM Marshall Clow <<a href="mailto:mclow.lists@gmail.com">mclow.lists@gmail.com</a>> wrote:</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div class="gmail_quote"><div>Since you link libc++ statically, and have no abi concerns, I would use `_LIBCPP_ABI_UNSTABLE`.</div><div>This contains changes/improvements/bug fixes that we were unable to ship generally, because of ABI concerns.</div></div></div></div></div></blockquote><div><br></div><div>I've tried this and I think it'd work for us but there is one issue, with LIBCXX_ABI_UNSTABLE, libc++ build uses 1 as SOVERSION so we end up with libc++.so.1.0 as the filename which is technically incorrect. However, I don't know what would be the best solution here.</div><div><br></div><div>We could use a string instead, e.g. 'unstable' but that might break clients who assume it's a number (even though in ELF it's an arbitrary string). We could also choose a meaningless number, e.g. 0, so the filename would be libc++.so.0.0.</div><div><br></div><div>Alternatively, we could disable the use of SOVERSION and VERSION for unstable ABI, SOVERSION is primarily needed using the library as part of the system installation, but for unstable ABI that's unlikely to be the case. So the name of the library would be just libc++.so. However, that introduces another issue with the linkerscript which currently uses that name and uses the actual library as the input. We could rename the library to libc++_internal.so or we could make the Clang driver pass -lc++abi explicitly and avoid the need for the linkerscript. The latter is fine for Fuchsia since we don't currently support other C++ ABI libraries, but may not work for other targets.</div><div><br></div><div>Do you have any opinions on this?</div></div></div></div>