[clang] [llvm] [AArch64] Add soft-float ABI (PR #74460)

via cfe-commits cfe-commits at lists.llvm.org
Fri Feb 16 10:47:02 PST 2024


Prabhuk wrote:

This commit breaks building Fuchsia's Kernel as well.

Sample builder log: https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket/8755980051536646593/+/u/build/ninja/stdout

```
[87049/291900](68) CXX kernel.phys_arm64/obj/src/lib/elfldltl/libelfldltl.leb128.cc.o
FAILED: kernel.phys_arm64/obj/src/lib/elfldltl/libelfldltl.leb128.cc.o
../../prebuilt/third_party/clang/custom/bin/clang++ -MD -MF kernel.phys_arm64/obj/src/lib/elfldltl/libelfldltl.leb128.cc.o.d -o kernel.phys_arm64/obj/src/lib/elfldltl/libelfldltl.leb128.cc.o -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -DZX_ASSERT_LEVEL=2 -DLK_DEBUGLEVEL=2 -DWITH_FRAME_POINTERS=1 -I../../zircon/system/public -I../../src/lib/elfldltl/incl...
In file included from ../../src/lib/elfldltl/leb128.cc:5:
In file included from ../../src/lib/elfldltl/include/lib/elfldltl/dwarf/encoding.h:8:
In file included from ../../sdk/lib/stdcompat/include/lib/stdcompat/span.h:13:
In file included from ../../sdk/lib/stdcompat/include/lib/stdcompat/iterator.h:10:
In file included from ../../prebuilt/third_party/clang/custom/bin/../include/c++/v1/iterator:683:
In file included from ../../prebuilt/third_party/clang/custom/bin/../include/c++/v1/__iterator/common_iterator.h:31:
In file included from ../../prebuilt/third_party/clang/custom/bin/../include/c++/v1/variant:220:
../../prebuilt/third_party/clang/custom/bin/../include/c++/v1/__functional/hash.h:437:9: error: '__v' requires 'float' type support, but ABI 'aapcs' does not support it
  437 |     if (__v == 0.0f)
      |         ^
../../prebuilt/third_party/clang/custom/bin/../include/c++/v1/__functional/hash.h:435:49: note: '__v' defined here
  435 |   _LIBCPP_HIDE_FROM_ABI size_t operator()(float __v) const _NOEXCEPT {
      |                                                 ^
../../prebuilt/third_party/clang/custom/bin/../include/c++/v1/__functional/hash.h:439:34: error: 'operator()' requires 'float' type support, but ABI 'aapcs' does not support it
  439 |     return __scalar_hash<float>::operator()(__v);
      |                                  ^
../../prebuilt/third_party/clang/custom/bin/../include/c++/v1/__functional/hash.h:249:32: note: 'operator()' defined here
  249 |   _LIBCPP_HIDE_FROM_ABI size_t operator()(_Tp __v) const _NOEXCEPT {
      |                                ^
../../prebuilt/third_party/clang/custom/bin/../include/c++/v1/__functional/hash.h:435:32: error: 'operator()' requires 'float' type support, but ABI 'aapcs' does not support it
  435 |   _LIBCPP_HIDE_FROM_ABI size_t operator()(float __v) const _NOEXCEPT {
      |                                ^
../../prebuilt/third_party/clang/custom/bin/../include/c++/v1/__functional/hash.h:435:32: note: 'operator()' defined here
../../prebuilt/third_party/clang/custom/bin/../include/c++/v1/__functional/hash.h:447:9: error: '__v' requires 'double' type support, but ABI 'aapcs' does not support it
  447 |     if (__v == 0.0)
      |         ^
../../prebuilt/third_party/clang/custom/bin/../include/c++/v1/__functional/hash.h:445:50: note: '__v' defined here
  445 |   _LIBCPP_HIDE_FROM_ABI size_t operator()(double __v) const _NOEXCEPT {
      |             ...
```

https://github.com/llvm/llvm-project/pull/74460


More information about the cfe-commits mailing list