r200538 - ARM RT libs with generic name
Alexey Samsonov
samsonov at google.com
Fri Jan 31 03:57:23 PST 2014
Please add a test case to test/Driver/sanitizer-ld.c to verify the expected
runtime name on ARM.
On Fri, Jan 31, 2014 at 3:47 PM, Renato Golin <renato.golin at linaro.org>wrote:
> Author: rengolin
> Date: Fri Jan 31 05:47:28 2014
> New Revision: 200538
>
> URL: http://llvm.org/viewvc/llvm-project?rev=200538&view=rev
> Log:
> ARM RT libs with generic name
>
> Modified:
> cfe/trunk/lib/Driver/Tools.cpp
>
> Modified: cfe/trunk/lib/Driver/Tools.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=200538&r1=200537&r2=200538&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Driver/Tools.cpp (original)
> +++ cfe/trunk/lib/Driver/Tools.cpp Fri Jan 31 05:47:28 2014
> @@ -1726,6 +1726,14 @@ static void CollectArgsForIntegratedAsse
> }
> }
>
> +// Until ARM libraries are build separately, we have them all in one
> library
> +static StringRef getArchNameForCompilerRTLib(const ToolChain &TC) {
> + if (TC.getArch() == llvm::Triple::arm)
> + return "arm";
> + else
> + return TC.getArchName();
> +}
> +
> static void addProfileRTLinux(
> const ToolChain &TC, const ArgList &Args, ArgStringList &CmdArgs) {
> if (!(Args.hasArg(options::OPT_fprofile_arcs) ||
> @@ -1740,7 +1748,7 @@ static void addProfileRTLinux(
> SmallString<128> LibProfile(TC.getDriver().ResourceDir);
> llvm::sys::path::append(
> LibProfile, "lib", "linux",
> - Twine("libclang_rt.profile-") + TC.getArchName() + ".a");
> + Twine("libclang_rt.profile-") + getArchNameForCompilerRTLib(TC) +
> ".a");
>
> CmdArgs.push_back(Args.MakeArgString(LibProfile));
> }
> @@ -1754,7 +1762,8 @@ static void addSanitizerRTLinkFlagsLinux
> SmallString<128> LibSanitizer(TC.getDriver().ResourceDir);
> llvm::sys::path::append(
> LibSanitizer, "lib", "linux",
> - (Twine("libclang_rt.") + Sanitizer + "-" + TC.getArchName() +
> ".a"));
> + (Twine("libclang_rt.") + Sanitizer + "-" +
> + getArchNameForCompilerRTLib(TC) + ".a"));
>
> // Sanitizer runtime may need to come before -lstdc++ (or -lc++,
> libstdc++.a,
> // etc.) so that the linker picks custom versions of the global
> 'operator
> @@ -1795,7 +1804,7 @@ static void addAsanRTLinux(const ToolCha
> SmallString<128> LibAsan(TC.getDriver().ResourceDir);
> llvm::sys::path::append(LibAsan, "lib", "linux",
> (Twine("libclang_rt.asan-") +
> - TC.getArchName() + "-android.so"));
> + getArchNameForCompilerRTLib(TC) + "-android.so"));
> CmdArgs.insert(CmdArgs.begin(), Args.MakeArgString(LibAsan));
> } else {
> if (!Args.hasArg(options::OPT_shared))
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
--
Alexey Samsonov, MSK
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140131/87c304f7/attachment.html>
More information about the cfe-commits
mailing list