r182645 - Add -lrt to sanitizer link arguments.
Bill Wendling
isanbard at gmail.com
Thu May 30 22:29:57 PDT 2013
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