diff options
author | Eric Fiselier <eric@efcs.ca> | 2016-10-25 19:43:44 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2016-10-25 19:43:44 +0000 |
commit | 10b12f05d42c77396035f06da356a2122764acf6 (patch) | |
tree | b374c2422ca6c8e045da0665518fff6dce985eb5 /llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp | |
parent | a624409cb54230d304a2c6e19209176166b49085 (diff) | |
download | llvm-10b12f05d42c77396035f06da356a2122764acf6.zip llvm-10b12f05d42c77396035f06da356a2122764acf6.tar.gz llvm-10b12f05d42c77396035f06da356a2122764acf6.tar.bz2 |
[libcxx] Build with -fvisibility-inlines-hidden -- Remove 20 inline definitions from the dylib
Summary:
This patch turns on `-fvisibility-inlines-hidden` when building the dylib. This is important so that libc++.dylib doesn't accidentally export inline-functions which are ODR used somewhere in the dylib.
On OS X this change has no effect on the current ABI of the dylib. Unfortunately on Linux there are already ~20 inline functions which are unintentionally exported by the dylib. Almost all of these are implicitly generated destructors. I believe removing these function definitions is safe because every "linkage unit" which uses these functions has its own definition, and therefore shouldn't be dependent on libc++.dylib to provide them.
Also could a FreeBSD maintainer comment on the ABI compatibility of this patch?
Reviewers: mclow.lists, emaste, dexonsmith, joker-eph-DISABLED, jroelofs, danalbert, mehdi_amini, compnerd, dim
Subscribers: beanz, mgorny, cfe-commits, modocache
Differential Revision: https://reviews.llvm.org/D25593
llvm-svn: 285101
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp')
0 files changed, 0 insertions, 0 deletions