================
@@ -596,25 +614,23 @@ void HexagonToolChain::getHexagonLibraryPaths(const 
ArgList &Args,
   std::copy(D.PrefixDirs.begin(), D.PrefixDirs.end(),
             std::back_inserter(RootDirs));
 
-  std::string SysRoot(getEffectiveSysRoot());
+  std::string SysRoot(getEffectiveSysRoot(Args));
   if (!llvm::is_contained(RootDirs, SysRoot))
     RootDirs.push_back(SysRoot);
 
   bool HasPIC = Args.hasArg(options::OPT_fpic, options::OPT_fPIC);
-  // Assume G0 with -shared.
-  bool HasG0 = Args.hasArg(options::OPT_shared);
+  bool HasG0 = false;
   if (auto G = getSmallDataThreshold(Args))
     HasG0 = *G == 0;
 
   const std::string CpuVer = GetTargetCPUVersion(Args).str();
   for (auto &Dir : RootDirs) {
     std::string LibDir = Dir + "/lib";
     std::string LibDirCpu = LibDir + '/' + CpuVer;
-    if (HasG0) {
-      if (HasPIC)
-        LibPaths.push_back(LibDirCpu + "/G0/pic");
+    if (HasPIC)
+      LibPaths.push_back(LibDirCpu + "/G0/pic");
+    if (HasG0)
----------------
quic-k wrote:

-fPIC is always G0, right? @quic-akaryaki 
also, can we add -L/..../lib/<cpu>/G0 after -L/..../lib/<cpu> for non-G0 code, 
so if we don't have non-G0 version of some libs, we can fall back to G0 libs

my understanding of small data libs is, small-data(G8) libraries won’t work 
with non-small data(G0) objects, but non-small-data(G0) libraries will work 
with small data(G8) objects


https://github.com/llvm/llvm-project/pull/183257
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to