mcgrathr reopened this revision.
mcgrathr added inline comments.
This revision is now accepted and ready to land.


================
Comment at: lib/Driver/ToolChains/Fuchsia.cpp:128
         if (OnlyLibstdcxxStatic)
-          CmdArgs.push_back("-Bstatic");
+          CmdArgs.push_back("-static");
         ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
----------------
mcgrathr wrote:
> MaskRay wrote:
> > If Fuchsia doesn't use gold, it is fine. gold diverges from ld.bfd (lld) in 
> > that `-static` switches the whole link to its special static mode. (as 
> > usually while you link libstdc++/libc++ statically, you can still link 
> > other libraries normally)
> > 
> > In ld.bfd/lld, `-Bstatic` is synonym with `-static`.
> I think this part of the change was unintentional and should be undone.
> Using `--pop-state` obviates the need for `-Bdynamic` to undo `-Bstatic`, but 
> `-Bstatic` is still the right switch here.
Actually, it's wrong two ways: the `--pop-state` should come before `-lm`.  
Neither `-static` nor `-Bstatic` should apply to `-lm` (or to `-lc` that comes 
later, which `-static` might).  `-static` vs `-Bstatic` is only a latent bug 
given lld, but the `-lm` issue breaks the Zircon build today.



Repository:
  rC Clang

https://reviews.llvm.org/D53854



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to