[PATCH] D98452: [compiler-rt] Produce the right arch suffix for arm libraries

Manoj Gupta via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 5 21:00:27 PDT 2021


manojgupta added a comment.

Sorry for replying since this patch has been there for a while. But this has broken the installs for the baremetal targets eg armv7m-none-eabi.

Clang expects builtins at a different location:
$ clang -target armv7m-none-eabi -print-libgcc-file-name -rtlib=compiler-rt
/usr/lib64/clang/13.0.0/lib/baremetal/libclang_rt.builtins-armv7m.a. <this is the expected location>

Previous location before the patch was correct:

/usr/lib64/clang/13.0.0/lib/baremetal/libclang_rt.builtins-armv7m.a

New location after this patch:
/usr/lib64/clang/13.0.0/lib/baremetal/libclang_rt.builtins-arm.a

See that we have lost the architecture differentiability.  We can no longer have armv6m and armv7m installed in same location. This also does not match the "-print-libgcc-file-name" location.

Setting LLVM_ENABLE_PER_TARGET_RUNTIME_DIR does not help either. It changes installation location to /usr/lib64/clang/14.0.0/lib/armv7m-cros-eabi/libclang_rt.builtins.a which is better for installing multiple ABIS but "-print-libgcc-file-name" does not detect it, it still prints /usr/lib64/clang/13.0.0/lib/baremetal/libclang_rt.builtins-armv7m.a. .


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D98452



More information about the llvm-commits mailing list