Issue |
137054
|
Summary |
compiler-rt inconsistent with Clang about meaning of "arm-none-eabi"
|
Labels |
clang
|
Assignees |
|
Reporter |
RossSmyth
|
Hello,
This is partly a questions of "is this desired?"
If you ask Clang to build for "arm-none-eabi", this is essentially an alias for "armv4t-unknown-none-eabi". This is good, and also consistent with GCC.
Next if you would like to build compiler_rt for "arm-none-eabi", it is not quite the same as Clang's interpretation. Instead it builds for "armv7-a". This is surprising! It can lead to build failures that are unexpected, for example:
```
/build/compiler-rt-src-19.1.7/compiler-rt/lib/builtins/arm/sync-ops.h:22:2: error: #error DMB is only supported on ARMv6+
22 | #error DMB is only supported on ARMv6+
```
When building compilter-rt for arm-embedded (Clang's interpretation) on nixpkgs right now.
There is a test that checks for this as well, so at minimum someone knows of it.
https://github.com/llvm/llvm-project/blob/cd708029e0b2869e80abe31ddb175f7c35361f90/compiler-rt/cmake/base-config-ix.cmake#L272
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs