[PATCH] D48862: [OpenEmbedded] Fix lib paths for OpenEmbedded targets

Richard Smith - zygoloid via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jul 19 13:29:33 PDT 2018


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


================
Comment at: lib/Driver/ToolChains/Gnu.cpp:2205-2209
+
+      // Deal with OpenEmbedded linux sysroots (like for arm-oe-linux-gnueabi)
+      // which are of the form <sysroot>/usr/lib/<triple>/x.y.z.
+      {CandidateTriple.str(), "..",
+       TargetTriple.getVendor() == llvm::Triple::OpenEmbedded}};
----------------
Combine this with the `Freescale` case rather than adding a separate entry to the suffix table.


================
Comment at: lib/Driver/ToolChains/Linux.cpp:386-390
+  // 64-bit OpenEmbedded sysroots may not have a /usr/lib dir. So they cannot
+  // find /usr/lib64 as it is referenced as /usr/lib/../lib64. So we handle
+  // this here.
+  if (Triple.getVendor() == llvm::Triple::OpenEmbedded)
+    addPathIfExists(D, SysRoot + "/usr/" + OSLibDir, Paths);
----------------
It would make more sense to include this as an alternative to the `"/usr/lib/../" + OSLibDir` path above, rather than adding *both* if `/usr/lib` does exist on an OpenEmbedded system.


https://reviews.llvm.org/D48862





More information about the cfe-commits mailing list