<div dir="ltr"><span style="color:rgb(0,0,0);font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;font-size:13px;line-height:18.850000381469727px">Please add a test case to test/Driver/sanitizer-ld.c to verify the expected runtime name on ARM.</span><br>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Jan 31, 2014 at 3:47 PM, Renato Golin <span dir="ltr"><<a href="mailto:renato.golin@linaro.org" target="_blank">renato.golin@linaro.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: rengolin<br>
Date: Fri Jan 31 05:47:28 2014<br>
New Revision: 200538<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=200538&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=200538&view=rev</a><br>
Log:<br>
ARM RT libs with generic name<br>
<br>
Modified:<br>
    cfe/trunk/lib/Driver/Tools.cpp<br>
<br>
Modified: cfe/trunk/lib/Driver/Tools.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=200538&r1=200537&r2=200538&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=200538&r1=200537&r2=200538&view=diff</a><br>

==============================================================================<br>
--- cfe/trunk/lib/Driver/Tools.cpp (original)<br>
+++ cfe/trunk/lib/Driver/Tools.cpp Fri Jan 31 05:47:28 2014<br>
@@ -1726,6 +1726,14 @@ static void CollectArgsForIntegratedAsse<br>
     }<br>
 }<br>
<br>
+// Until ARM libraries are build separately, we have them all in one library<br>
+static StringRef getArchNameForCompilerRTLib(const ToolChain &TC) {<br>
+  if (TC.getArch() == llvm::Triple::arm)<br>
+    return "arm";<br>
+  else<br>
+    return TC.getArchName();<br>
+}<br>
+<br>
 static void addProfileRTLinux(<br>
     const ToolChain &TC, const ArgList &Args, ArgStringList &CmdArgs) {<br>
   if (!(Args.hasArg(options::OPT_fprofile_arcs) ||<br>
@@ -1740,7 +1748,7 @@ static void addProfileRTLinux(<br>
   SmallString<128> LibProfile(TC.getDriver().ResourceDir);<br>
   llvm::sys::path::append(<br>
       LibProfile, "lib", "linux",<br>
-      Twine("libclang_rt.profile-") + TC.getArchName() + ".a");<br>
+      Twine("libclang_rt.profile-") + getArchNameForCompilerRTLib(TC) + ".a");<br>
<br>
   CmdArgs.push_back(Args.MakeArgString(LibProfile));<br>
 }<br>
@@ -1754,7 +1762,8 @@ static void addSanitizerRTLinkFlagsLinux<br>
   SmallString<128> LibSanitizer(TC.getDriver().ResourceDir);<br>
   llvm::sys::path::append(<br>
       LibSanitizer, "lib", "linux",<br>
-      (Twine("libclang_rt.") + Sanitizer + "-" + TC.getArchName() + ".a"));<br>
+      (Twine("libclang_rt.") + Sanitizer + "-" +<br>
+          getArchNameForCompilerRTLib(TC) + ".a"));<br>
<br>
   // Sanitizer runtime may need to come before -lstdc++ (or -lc++, libstdc++.a,<br>
   // etc.) so that the linker picks custom versions of the global 'operator<br>
@@ -1795,7 +1804,7 @@ static void addAsanRTLinux(const ToolCha<br>
     SmallString<128> LibAsan(TC.getDriver().ResourceDir);<br>
     llvm::sys::path::append(LibAsan, "lib", "linux",<br>
         (Twine("libclang_rt.asan-") +<br>
-            TC.getArchName() + "-android.so"));<br>
+            getArchNameForCompilerRTLib(TC) + "-android.so"));<br>
     CmdArgs.insert(CmdArgs.begin(), Args.MakeArgString(LibAsan));<br>
   } else {<br>
     if (!Args.hasArg(options::OPT_shared))<br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div>Alexey Samsonov, MSK</div>
</div>