r182645 - Add -lrt to sanitizer link arguments.

Nathan Froyd froydnj at mozilla.com
Thu May 30 07:03:06 PDT 2013


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