[libc++][patch] Sort out common Linux linking issues.

Sylvestre Ledru sylvestre at debian.org
Wed Apr 9 05:57:56 PDT 2014


Everything which simplifies the usage of libc++ is great.

However, this is the current state under Debian:
http://anonscm.debian.org/viewvc/pkg-llvm/libcxx/trunk/debian/README.Debian?revision=253&view=markup
and that does the job.

Sylvestre

On 09/04/2014 14:52, Sebastian Redl wrote:
> Gentle ping on this. Haven't heard anything except that Marshall likes the documentation.
>
> On Apr 2, 2014, at 10:54, Dmitri Gribenko wrote:
>
>> + Sylvestre Ledru
>>
>> On Tue, Apr 1, 2014 at 6:37 PM, Sebastian Redl
>> <sebastian.redl at getdesigned.at> wrote:
>>> Following the recent inquiry and David Chisnall's advice, I have created
>>> a patch that makes libc++ work a lot smoother on Linux. It allows a
>>> plain "clang++ -stdlib=libc++" command line to work no matter what ABI
>>> library is used, and fixes the linking errors I encountered.
>>>
>>> However, I have absolutely no idea what it does on other platforms.
>>>
>>> Log Message:
>>>
>>>    Sort out common Linux linking issues.
>>>
>>>    Using libc++ on Linux was problematic because using libsupc++ didn't
>>> pull in
>>>    all necessary symbols, whereas linking against a dynamic ABI library
>>> required
>>>    the user to explicitly link against the ABI library.
>>>
>>>    This patch adds a new property, LIBCXX_CXX_ABI_LINK, that can be set
>>> to dynamic
>>>    (the default) or static. In dynamic mode, it links against the
>>> dynamic library,
>>>    and substitutes its unversioned .so file with a linker script that links
>>>    against both libc++ and the ABI library. In static mode, it uses
>>> --whole-archive
>>>    to force inclusion of the entire ABI library into the libc++.so.
>>>
>>>    It also automatically uses libstdc++ for dynamic mode and libsupc++
>>> for static
>>>    mode if either was selected; the two ABI names are now synonyms.
>>>
>>> _______________________________________________
>>> cfe-commits mailing list
>>> cfe-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>>
>>
>>
>> -- 
>> main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if
>> (j){printf("%d\n",i);}}} /*Dmitri Gribenko <gribozavr at gmail.com>*/




More information about the cfe-commits mailing list