Sounds good.
On Fri, May 31, 2013 at 9:29 AM, Bill Wendling <[email protected]> wrote: > Sure, why not. > > -bw > > On May 30, 2013, at 7:03 AM, Nathan Froyd <[email protected]> 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 >>> [email protected] >>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >>> > _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
