hvdijk added a comment.
I may be missing something, but I do not understand the problem. What systems,
other than Debian multi-arch, are you looking to also add support for? My own
native x32 system uses `(/usr)/libx32` for x32 libraries. Debian uses
`(/usr)/lib/x86_64-linux-gnux32`. I can understand if some people might use
`(/usr)/lib` without any `x32` suffix, though I am not aware of anyone doing
this. Where does `lib32` come from, though? What other systems are you trying
to account for?
I may have some spare time soon, I can take a look and do some testing as well.
================
Comment at: clang/lib/Driver/ToolChains/Linux.cpp:217
+ return "lib32";
+ else
+ return "libx32";
----------------
x86_64-linux-gnux32 never uses `lib32`, does it? It might use `lib` (mostly
theoretical), or it might use `libx32`. Leaving this unmodified, always
returning `libx32` for x32, looks to me like it matches x86_64-linux-gnu, which
always returns `lib64` even though some people put libraries for that in `/lib`
too.
================
Comment at: clang/lib/Driver/ToolChains/Linux.cpp:90
return "x86_64-linux-android";
- // We don't want this for x32, otherwise it will match x86_64 libs
- if (TargetEnvironment != llvm::Triple::GNUX32 &&
- D.getVFS().exists(SysRoot + "/lib/x86_64-linux-gnu"))
- return "x86_64-linux-gnu";
+ if (TargetEnvironment == llvm::Triple::GNUX32) {
+ if (D.getVFS().exists(SysRoot + "/lib/x86_64-linux-gnux32"))
----------------
glaubitz wrote:
> MaskRay wrote:
> > I have cleaned up the code a bit. You may need to rebase.
> Yeah, I have done that but not uploaded my latest diff yet (which doesn't
> work on x32, unfortunately). I will do that now.
This should have a `TargetEnvironment == llvm::Triple::GNUX32` check.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D52050/new/
https://reviews.llvm.org/D52050
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits