================
@@ -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