<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Sep 4, 2015 at 1:11 AM, Xan López via cfe-commits <span dir="ltr"><<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Fri, Aug 28, 2015 at 07:52:17PM +0200, Xan López via cfe-commits wrote:<br>
> There is no __cxa_finalize symbol available on recent Solaris OS<br>
> versions, so we need this flag to make non trivial C++ programs run.<br>
><br>
> Also stop looking for cxa_finalize.o, since it won't be there.<br>
><br>
> (This patch sits on top of a couple of unreviewed patches that make clang actually work on Solaris, see:<br>
><br>
> <a href="http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20150810/292800.html" rel="noreferrer" target="_blank">http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20150810/292800.html</a><br>
> <a href="http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20150817/293971.html" rel="noreferrer" target="_blank">http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20150817/293971.html</a><br>
><br>
> It should be trivial to rebase against master if it is reviewed first though)<br>
><br>
> Xan<br>
<br>
</div></div>Ping?<br></blockquote><div><br></div><div>Does this break with older Solaris releases?  How far back did this change in Solaris?  The change itself should really be accompanied with a test.</div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
> From 014ddb164689a3452b76f85079f213d607d07840 Mon Sep 17 00:00:00 2001<br>
> From: =?UTF-8?q?Xan=20L=C3=B3pez?= <<a href="mailto:xan@igalia.com">xan@igalia.com</a>><br>
> Date: Fri, 14 Aug 2015 11:36:56 +0200<br>
> Subject: [PATCH 2/4] [Solaris] Default to -fno-cxa-finalize<br>
<span class="">><br>
> There is no __cxa_finalize symbol available on recent Solaris OS<br>
> versions, so we need this flag to make non trivial C++ programs run.<br>
><br>
> Also stop looking for cxa_finalize.o, since it won't be there.<br>
</span>> ---<br>
>  lib/Driver/Tools.cpp | 9 +++------<br>
>  1 file changed, 3 insertions(+), 6 deletions(-)<br>
><br>
> diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp<br>
> index b204961..cf01d7b 100644<br>
> --- a/lib/Driver/Tools.cpp<br>
> +++ b/lib/Driver/Tools.cpp<br>
> @@ -4506,8 +4506,9 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,<br>
>    if (!Args.hasFlag(options::OPT_fuse_cxa_atexit,<br>
>                      options::OPT_fno_use_cxa_atexit,<br>
>                      !IsWindowsCygnus && !IsWindowsGNU &&<br>
> -                        getToolChain().getArch() != llvm::Triple::hexagon &&<br>
> -                        getToolChain().getArch() != llvm::Triple::xcore) ||<br>
> +                    getToolChain().getTriple().getOS() != llvm::Triple::Solaris &&<br>
> +                    getToolChain().getArch() != llvm::Triple::hexagon &&<br>
> +                    getToolChain().getArch() != llvm::Triple::xcore) ||<br>
>        KernelOrKext)<br>
>      CmdArgs.push_back("-fno-use-cxa-atexit");<br>
><br>
> @@ -6882,10 +6883,6 @@ void solaris::Linker::ConstructJob(Compilation &C, const JobAction &JA,<br>
>          Args.MakeArgString(getToolChain().GetFilePath("values-Xa.o")));<br>
>      CmdArgs.push_back(<br>
>          Args.MakeArgString(getToolChain().GetFilePath("crtbegin.o")));<br>
> -<br>
> -    if (getToolChain().getDriver().CCCIsCXX())<br>
> -      CmdArgs.push_back(<br>
> -          Args.MakeArgString(getToolChain().GetFilePath("cxa_finalize.o")));<br>
>    }<br>
><br>
>    const ToolChain::path_list &Paths = getToolChain().getFilePaths();<br>
> --<br>
> 2.4.3<br>
><br>
<br>
> _______________________________________________<br>
> cfe-commits mailing list<br>
> <a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Saleem Abdulrasool<br>compnerd (at) compnerd (dot) org</div>
</div></div>