This change addresses:
https://llvm.org/bugs/show_bug.cgi?id=25133
On Linux (and likely other GNU ld-based systems), the llvm backtrace utility used by 'log enable --stack' cannot walk through private symbols in liblldb.so. This makes the --stack option useless just about everywhere but OS X. This change provides a way to address that.
By default, nothing changes. However, if the cmake -DLLDB_EXPORT_ALL_SYMBOLS=TRUE option is provided (also a CACHE variable, so can be set via UI), then on non-Windows systems, we'll drop exporting a named list of symbols, and tell the linker to export all symbols. This allows the backtrace mechanism used by 'log enable --stack' to find file/line number info, and makes introspection of source code within lldb much more productive.
The change is a do-nothing operation on Windows.
On OS X cmake builds, the additional linker option is not needed (nor is it supported by the linker).
Google folks - feel free to adjust the Linux-side reviewers. Just looking for representation.
Ed - I'd guess FreeBSD was in the same boat as Linux here.