[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