[cfe-users] Building stblibc++ with support for MSAN

Evgeniy Stepanov eugeni.stepanov at gmail.com
Mon Jan 20 03:33:17 PST 2014


I think clang driver is supposed to add -lstdc++ _after_ -lc++ with
-stdlib=libc++. This may have changed recently.
Did you follow "Build on Linux using CMake and libsupc++" section on
libc++ site?


On Mon, Jan 20, 2014 at 3:47 AM, Daniel Mosesson <danmosesson at yahoo.com> wrote:
> I was able to build libc++, but when I try to use -stdlib=libc++ I get the
> following error:
>
> /usr/bin/ld: /tmp/test-347fdf.o: undefined reference to symbol
> '__cxa_free_exception@@CXXABI_1.3'
> /usr/lib/x86_64-linux-gnu/libstdc++.so.6: error adding symbols: DSO missing
> from command line
> clang-3.5: error: linker command failed with exit code 1 (use -v to see
> invocation)
>
> Any ideas what is going wrong here? Building on Ubuntu Saucy
> -----Original Message-----
> From: cfe-users-bounces at cs.uiuc.edu [mailto:cfe-users-bounces at cs.uiuc.edu]
> On Behalf Of Evgeniy Stepanov
> Sent: Friday, January 17, 2014 2:41 AM
> To: Daniel Mosesson
> Cc: cfe-users at cs.uiuc.edu
> Subject: Re: [cfe-users] Building stblibc++ with support for MSAN
>
> You may want to look at libc++ as a replacement for libstdc++.
>
>
> On Fri, Jan 17, 2014 at 11:39 AM, Evgeniy Stepanov
> <eugeni.stepanov at gmail.com> wrote:
>> Try 4.8 branch of gcc. This process is known to work with google/gcc-4.8.
>> There is no upstream testing of building libstdc++ with clang, and it
>> is not an officially supported configuration, so it may break from
>> time to time.
>>
>>
>> On Fri, Jan 17, 2014 at 12:19 AM, Daniel Mosesson <danmosesson at yahoo.com>
> wrote:
>>> I tried to follow the new instructions, and at the last step (make) I
>>> get the following error
>>>
>>> In file included from ../../libstdc++-v3/libsupc++/eh_aux_runtime.cc:29:
>>> In file included from
> /home/daniel/programming/SomeLocalDir/libstdc++-v3/libsupc++/unwind-cxx.h:35
> :
>>> /home/daniel/programming/SomeLocalDir/build/include/cstddef:51:11: error:
> no
>>>       member named 'max_align_t' in the global namespace
>>>   using ::max_align_t;
>>>         ~~^
>>> 1 error generated.
>>> make[2]: *** [eh_aux_runtime.lo] Error 1
>>> make[2]: Leaving directory
> `/home/daniel/programming/SomeLocalDir/build/libsupc++'
>>> make[1]: *** [all-recursive] Error 1
>>> make[1]: Leaving directory `/home/daniel/programming/SomeLocalDir/build'
>>> make: *** [all] Error 2
>>>
>>> Seems like the same issue that I was getting before.
>>>
>>> This is with TOT-gcc  4.9.0 20140116 (experimental) and clang version
>>> 3.5 (198044)
>>>
>>> Any ideas?
>>>
>>> Thank you,
>>> Daniel
>>> -----Original Message-----
>>> From: Evgeniy Stepanov [mailto:eugenis at google.com]
>>> Sent: Thursday, January 16, 2014 5:52 AM
>>> To: Daniel Mosesson
>>> Subject: Re: [cfe-users] Building stblibc++ with support for MSAN
>>>
>>> This one? Works for me.
>>> https://code.google.com/p/memory-sanitizer/wiki/InstrumentingLibstdcx
>>> x
>>>
>>> On Thu, Jan 16, 2014 at 2:25 PM, Daniel Mosesson <danmosesson at yahoo.com>
> wrote:
>>>> Are the instructions at the same link?
>>>> That link seems to be dead now.
>>>>
>>>> -----Original Message-----
>>>> From: Evgeniy Stepanov [mailto:eugenis at google.com]
>>>> Sent: Thursday, January 16, 2014 3:46 AM
>>>> To: Alexey Samsonov
>>>> Cc: Daniel B Mosesson; cfe-users at cs.uiuc.edu
>>>> Subject: Re: [cfe-users] Building stblibc++ with support for MSAN
>>>>
>>>> I've updated build instructions, please see if they work for you.
>>>>
>>>>
>>>> On Thu, Jan 16, 2014 at 10:41 AM, Alexey Samsonov <samsonov at google.com>
> wrote:
>>>>> +eugenis
>>>>>
>>>>> Evgeniy, are these intructions still relevant?
>>>>>
>>>>> On Fri, Jan 3, 2014 at 1:19 AM, Daniel B Mosesson
>>>>> <dmosess1 at binghamton.edu> wrote:
>>>>>> How can I build libstdc++ with instrumentation to allow MSAN to work?
>>>>>> I have attempted to follow the instructions listed at
>>>>>> https://code.google.com/p/memory-sanitizer/wiki/InstrumentingLibst
>>>>>> dc
>>>>>> xx,
>>>>>> but there were a few issues:
>>>>>>
>>>>>> 1) I had to change the path that is used to find the library
>>>>>> 2) It could not find ::max_align_t, so I simply defined it to be
>>>>>> 16
>>>>>> 3) "No rule to make target../src/c++11/libc++11convenience.la',
>>>>>> needed by libstdc++.la"
>>>>>>
>>>>>> Could not figure this out.
>>>>>>
>>>>>> Any help?
>>>>>> _______________________________________________
>>>>>> cfe-users mailing list
>>>>>> cfe-users at cs.uiuc.edu
>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-users
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Alexey Samsonov, MSK
>>>>
>>>
>>>
>>> _______________________________________________
>>> cfe-users mailing list
>>> cfe-users at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-users
> _______________________________________________
> cfe-users mailing list
> cfe-users at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-users
>



More information about the cfe-users mailing list