[PATCH] D52050: WIP: [Driver] Fix architecture triplets and search paths for Linux x32

Fangrui Song via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Mar 31 00:50:33 PDT 2021


MaskRay added inline comments.


================
Comment at: clang/test/Driver/baremetal.cpp:37
 // CHECK-V6M-DEFAULTCXX: "{{[^"]*}}ld{{(\.(lld|bfd|gold))?}}{{(\.exe)?}}" "{{.*}}.o" "-Bstatic"
-// CHECK-V6M-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
+// CHECK-V6M-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}lib{{(64|x32)?}}{{[/\\]+}}clang{{[/\\]+}}{{.*}}{{[/\\]+}}lib{{[/\\]+}}baremetal"
 // CHECK-V6M-DEFAULTCXX-SAME: "-L{{[^"]*}}{{[/\\]+}}Inputs{{[/\\]+}}baremetal_arm{{[/\\]+}}lib"
----------------
hvdijk wrote:
> hvdijk wrote:
> > MaskRay wrote:
> > > The new x32 does not make sense. Non-x86 targets (--target) should not have to deal with x32 directories.
> > This is a single string used for all targets and duplicated for all targets (lib64 was already included here too, despite armv6m-none-eabi not using lib64), so I preserved that and updated it for all targets.
> Actually, on closer inspection, we really need that here even for ARM: this is not the libdir used by the target, this is the libdir used by the host.
I think we have a problem, then.  With `--target=armv6m-none-eabi`, the host path component `lib64` should not appear. Can you investigate why this happens?

My arm-linux-gnu output. Note, if the directories do not exist, some entries may not show up in the output.
```
% fclang++ --target=arm-linux-gnu a.cc '-###' |& sed -E 's/ "?-[LiI]/\n&/g'
...
 "-L/usr/lib/gcc-cross/arm-linux-gnueabi/10"
 "-L/usr/lib/gcc-cross/arm-linux-gnueabi/10/../../../../arm-linux-gnueabi/lib/../lib"
 "-L/usr/lib/gcc-cross/arm-linux-gnueabi/10/../../../../lib"
 "-L/lib/arm-linux-gnueabi"
 "-L/lib/../lib"
 "-L/usr/lib/arm-linux-gnueabi"
 "-L/usr/lib/../lib"
 "-L/usr/lib/gcc-cross/arm-linux-gnueabi/10/../../../../arm-linux-gnueabi/lib"
 "-L/tmp/RelA/bin/../lib"
 "-L/lib"
 "-L/usr/lib"
```


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D52050/new/

https://reviews.llvm.org/D52050



More information about the cfe-commits mailing list