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
