r182645 - Add -lrt to sanitizer link arguments.

Evgeniy Stepanov eugeni.stepanov at gmail.com
Fri May 31 01:48:06 PDT 2013


Sounds good.

On Fri, May 31, 2013 at 9:29 AM, Bill Wendling <isanbard at gmail.com> wrote:
> Sure, why not.
>
> -bw
>
> On May 30, 2013, at 7:03 AM, Nathan Froyd <froydnj at mozilla.com> wrote:
>
>> Hi Evgeniy and Bill,
>>
>> Can this patch be backported to 3.3, please?  It fixes startup crashes with asan and is a regression from 3.2.
>>
>> Thanks,
>> -Nathan
>>
>> ----- Original Message -----
>>> Author: eugenis
>>> Date: Fri May 24 09:28:03 2013
>>> New Revision: 182645
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=182645&view=rev
>>> Log:
>>> Add -lrt to sanitizer link arguments.
>>>
>>> Sanitizer runtime intercepts functions from librt. Not doing this
>>> will fail
>>> if the librt dependency is not present at program startup (ex. comes
>>> from a
>>> dlopen()ed library).
>>>
>>> Modified:
>>>    cfe/trunk/lib/Driver/Tools.cpp
>>>    cfe/trunk/test/Driver/sanitizer-ld.c
>>>
>>> Modified: cfe/trunk/lib/Driver/Tools.cpp
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=182645&r1=182644&r2=182645&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/lib/Driver/Tools.cpp (original)
>>> +++ cfe/trunk/lib/Driver/Tools.cpp Fri May 24 09:28:03 2013
>>> @@ -1679,6 +1679,7 @@ static void addSanitizerRTLinkFlagsLinux
>>>                  LibSanitizerArgs.begin(), LibSanitizerArgs.end());
>>>
>>>   CmdArgs.push_back("-lpthread");
>>> +  CmdArgs.push_back("-lrt");
>>>   CmdArgs.push_back("-ldl");
>>>
>>>   // If possible, use a dynamic symbols file to export the symbols
>>>   from the
>>>
>>> Modified: cfe/trunk/test/Driver/sanitizer-ld.c
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/sanitizer-ld.c?rev=182645&r1=182644&r2=182645&view=diff
>>> ==============================================================================
>>> --- cfe/trunk/test/Driver/sanitizer-ld.c (original)
>>> +++ cfe/trunk/test/Driver/sanitizer-ld.c Fri May 24 09:28:03 2013
>>> @@ -10,6 +10,7 @@
>>> // CHECK-ASAN-LINUX-NOT: "-lc"
>>> // CHECK-ASAN-LINUX: libclang_rt.asan-i386.a"
>>> // CHECK-ASAN-LINUX: "-lpthread"
>>> +// CHECK-ASAN-LINUX: "-lrt"
>>> // CHECK-ASAN-LINUX: "-ldl"
>>> // CHECK-ASAN-LINUX-NOT: "-export-dynamic"
>>> // CHECK-ASAN-LINUX:
>>> "--dynamic-list={{.*}}libclang_rt.asan-i386.a.syms"
>>> @@ -24,6 +25,7 @@
>>> // CHECK-ASAN-LINUX-CXX-NOT: "-lc"
>>> // CHECK-ASAN-LINUX-CXX: "-whole-archive"
>>> "{{.*}}libclang_rt.asan-i386.a" "-no-whole-archive"
>>> // CHECK-ASAN-LINUX-CXX: "-lpthread"
>>> +// CHECK-ASAN-LINUX-CXX: "-lrt"
>>> // CHECK-ASAN-LINUX-CXX: "-ldl"
>>> // CHECK-ASAN-LINUX-CXX: "-export-dynamic"
>>> // CHECK-ASAN-LINUX-CXX-NOT: "--dynamic-list"
>>> @@ -70,6 +72,7 @@
>>> // CHECK-TSAN-LINUX-CXX-NOT: stdc++
>>> // CHECK-TSAN-LINUX-CXX: "-whole-archive"
>>> "{{.*}}libclang_rt.tsan-x86_64.a" "-no-whole-archive"
>>> // CHECK-TSAN-LINUX-CXX: "-lpthread"
>>> +// CHECK-TSAN-LINUX-CXX: "-lrt"
>>> // CHECK-TSAN-LINUX-CXX: "-ldl"
>>> // CHECK-TSAN-LINUX-CXX-NOT: "-export-dynamic"
>>> // CHECK-TSAN-LINUX-CXX:
>>> "--dynamic-list={{.*}}libclang_rt.tsan-x86_64.a.syms"
>>> @@ -85,6 +88,7 @@
>>> // CHECK-MSAN-LINUX-CXX-NOT: stdc++
>>> // CHECK-MSAN-LINUX-CXX: "-whole-archive"
>>> "{{.*}}libclang_rt.msan-x86_64.a" "-no-whole-archive"
>>> // CHECK-MSAN-LINUX-CXX: "-lpthread"
>>> +// CHECK-MSAN-LINUX-CXX: "-lrt"
>>> // CHECK-MSAN-LINUX-CXX: "-ldl"
>>> // CHECK-MSAN-LINUX-CXX-NOT: "-export-dynamic"
>>> // CHECK-MSAN-LINUX-CXX:
>>> "--dynamic-list={{.*}}libclang_rt.msan-x86_64.a.syms"
>>>
>>>
>>> _______________________________________________
>>> cfe-commits mailing list
>>> cfe-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>>
>



More information about the cfe-commits mailing list