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

Reply via email to