diff options
author | Eric Fiselier <eric@efcs.ca> | 2015-10-14 19:54:03 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2015-10-14 19:54:03 +0000 |
commit | 8241405ad42a8ce85c2a61baff5f96948f90cfa6 (patch) | |
tree | df7a218ade11902ca0828e7c70d864275347327c /lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp | |
parent | 8a5d04396dd5d8bedf61f7e234971b891b4215e7 (diff) | |
download | llvm-8241405ad42a8ce85c2a61baff5f96948f90cfa6.zip llvm-8241405ad42a8ce85c2a61baff5f96948f90cfa6.tar.gz llvm-8241405ad42a8ce85c2a61baff5f96948f90cfa6.tar.bz2 |
[libcxx] Make it drastically simpler to link libc++.
Summary:
Currently on most platforms you have to manually link the c++ abi library used with libc++ whenever you use libc++. So your typical libc++ command like invocation might look like:
```
clang++ -stdlib=libc++ foo.cpp -lc++abi
```
Having to manually link `libc++abi.so` makes it harder for libc++ to be used generically. This patch fixes that by generating a linker script for `libc++.so` that correctly links the ABI library. On linux the linker script for libc++abi would look like:
```
# libc++.so
INPUT(libc++.so.1 -lc++abi)
```
With the linker script you can now use libc++ using only `-stdlib=libc++`. This is the technique that is used on FreeBSD in ordered to link cxxrt and I think it's the best approach to make our users lives simpler.
The CMake option used to enable this is `LIBCXX_ENABLE_ABI_LINKER_SCRIPT`. In future I would like to enable this by default on all platforms except for Darwin.
Reviewers: mclow.lists, danalbert, rsmith, jroelofs, EricWF
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D12508
llvm-svn: 250319
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp')
0 files changed, 0 insertions, 0 deletions