<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/57390>57390</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [ARMEL] llvm-toolchain 15: libcxxabi failed to link
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          kasperk81
      </td>
    </tr>
</table>

<pre>
    libcxxabi's armel build succeeded with rc1 and rc2 (https://buildd.debian.org/status/logs.php?pkg=llvm-toolchain-15&arch=armel), but failing with rc3. Here are the build logs https://buildd.debian.org/status/fetch.php?pkg=llvm-toolchain-15&arch=armel&ver=1%3A15.0.0%7E%2Brc3-1%7Eexp1&stamp=1661473401&raw=0

excerpt:
```
[840/1370] "/<<PKGBUILDDIR>>/build-llvm/./bin/clang++" --target=arm-linux-gnueabi -DLIBCXX_BUILDING_LIBCXXABI -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LIBCPP_BUILDING_LIBRARY -D_LIBCPP_DISABLE_NEW_DELETE_DEFINITIONS -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_LINK_PTHREAD_LIB -D_LIBCPP_LINK_RT_LIB -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I"/<<PKGBUILDDIR>>/libcxx/src" -I"/<<PKGBUILDDIR>>/build-llvm/include/c++/v1" -I"/<<PKGBUILDDIR>>/build-llvm/include/arm-linux-gnueabi/c++/v1" -I"/<<PKGBUILDDIR>>/libcxxabi/include" -fstack-protector-strong -Wformat -Werror=format-security -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -Wmisleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -ffile-prefix-map=/<<PKGBUILDDIR>>/build-llvm/runtimes/runtimes-bins=build-llvm/runtimes/runtimes-bins -ffile-prefix-map=/<<PKGBUILDDIR>>/= -no-canonical-prefixes -O3  -fPIC -faligned-allocation -nostdinc++ -fvisibility-inlines-hidden -fvisibility=hidden -Wall -Wextra -W -Wwrite-strings -Wno-unused-parameter -Wno-long-long -Werror=return-type -Wextra-semi -Wundef -Wformat-nonliteral -Wno-user-defined-literals -Wno-covered-switch-default -Wno-suggest-override -Wno-error -std=c++20 -MD -MT libcxx/src/CMakeFiles/cxx_shared.dir/algorithm.cpp.o -MF libcxx/src/CMakeFiles/cxx_shared.dir/algorithm.cpp.o.d -o libcxx/src/CMakeFiles/cxx_shared.dir/algorithm.cpp.o -c '/<<PKGBUILDDIR>>/libcxx/src/algorithm.cpp'
[841/1370] : && "/<<PKGBUILDDIR>>/build-llvm/./bin/clang++" --target=arm-linux-gnueabi -fPIC -fstack-protector-strong -Wformat -Werror=format-security -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -Wmisleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -ffile-prefix-map=/<<PKGBUILDDIR>>/build-llvm/runtimes/runtimes-bins=build-llvm/runtimes/runtimes-bins -ffile-prefix-map=/<<PKGBUILDDIR>>/= -no-canonical-prefixes  -O3 -DNDEBUG  -Wl,-z,relro -Wl,-z,defs -Wl,-z,nodelete  -nostdlib++ -shared -Wl,-soname,libc++abi.so.1 -o "/<<PKGBUILDDIR>>/build-llvm/lib/arm-linux-gnueabi/libc++abi.so.1.0" libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_aux_runtime.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_default_handlers.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_demangle.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_exception_storage.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_guard.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_handlers.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_vector.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_virtual.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/stdlib_exception.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/stdlib_stdexcept.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/stdlib_typeinfo.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/abort_message.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/fallback_malloc.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/private_typeinfo.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/stdlib_new_delete.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_exception.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_personality.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_thread_atexit.cpp.o  -lpthread  -lc  -lgcc  -lgcc_s && :
FAILED: /<<PKGBUILDDIR>>/build-llvm/lib/arm-linux-gnueabi/libc++abi.so.1.0 
: && "/<<PKGBUILDDIR>>/build-llvm/./bin/clang++" --target=arm-linux-gnueabi -fPIC -fstack-protector-strong -Wformat -Werror=format-security -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -Wmisleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -ffile-prefix-map=/<<PKGBUILDDIR>>/build-llvm/runtimes/runtimes-bins=build-llvm/runtimes/runtimes-bins -ffile-prefix-map=/<<PKGBUILDDIR>>/= -no-canonical-prefixes  -O3 -DNDEBUG  -Wl,-z,relro -Wl,-z,defs -Wl,-z,nodelete  -nostdlib++ -shared -Wl,-soname,libc++abi.so.1 -o "/<<PKGBUILDDIR>>/build-llvm/lib/arm-linux-gnueabi/libc++abi.so.1.0" libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_aux_runtime.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_default_handlers.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_demangle.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_exception_storage.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_guard.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_handlers.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_vector.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_virtual.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/stdlib_exception.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/stdlib_stdexcept.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/stdlib_typeinfo.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/abort_message.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/fallback_malloc.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/private_typeinfo.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/stdlib_new_delete.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_exception.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_personality.cpp.o libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_thread_atexit.cpp.o  -lpthread  -lc  -lgcc  -lgcc_s && :
/usr/bin/arm-linux-gnueabi-ld: libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_guard.cpp.o: in function `__cxa_guard_acquire':
cxa_guard.cpp:(.text.unlikely.__cxa_guard_acquire+0xc): undefined reference to `__atomic_load_1'
/usr/bin/arm-linux-gnueabi-ld: libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_guard.cpp.o: in function `__cxa_guard_release':
cxa_guard.cpp:(.text.unlikely.__cxa_guard_release+0x14): undefined reference to `__atomic_store_1'
/usr/bin/arm-linux-gnueabi-ld: libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_default_handlers.cpp.o: in function `std::set_unexpected(void (*)())':
cxa_default_handlers.cpp:(.text._ZSt14set_unexpectedPFvvE+0x1c): undefined reference to `__atomic_exchange_4'
/usr/bin/arm-linux-gnueabi-ld: libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_default_handlers.cpp.o: in function `std::set_terminate(void (*)())':
cxa_default_handlers.cpp:(.text._ZSt13set_terminatePFvvE+0x1c): undefined reference to `__atomic_exchange_4'
/usr/bin/arm-linux-gnueabi-ld: libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_default_handlers.cpp.o: in function `std::set_new_handler(void (*)())':
cxa_default_handlers.cpp:(.text._ZSt15set_new_handlerPFvvE+0x10): undefined reference to `__atomic_exchange_4'
/usr/bin/arm-linux-gnueabi-ld: libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_handlers.cpp.o: in function `std::get_unexpected()':
cxa_handlers.cpp:(.text._ZSt14get_unexpectedv+0xc): undefined reference to `__atomic_load_4'
/usr/bin/arm-linux-gnueabi-ld: libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_handlers.cpp.o: in function `std::get_terminate()':
cxa_handlers.cpp:(.text._ZSt13get_terminatev+0xc): undefined reference to `__atomic_load_4'
/usr/bin/arm-linux-gnueabi-ld: libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_handlers.cpp.o: in function `std::get_new_handler()':
cxa_handlers.cpp:(.text._ZSt15get_new_handlerv+0xc): undefined reference to `__atomic_load_4'
/usr/bin/arm-linux-gnueabi-ld: libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/stdlib_stdexcept.cpp.o: in function `std::logic_error::~logic_error()':
stdlib_stdexcept.cpp:(.text._ZNSt11logic_errorD2Ev+0x28): undefined reference to `__atomic_fetch_add_4'
/usr/bin/arm-linux-gnueabi-ld: libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/stdlib_stdexcept.cpp.o: in function `std::runtime_error::~runtime_error()':
stdlib_stdexcept.cpp:(.text._ZNSt13runtime_errorD2Ev+0x28): undefined reference to `__atomic_fetch_add_4'
/usr/bin/arm-linux-gnueabi-ld: libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_exception.cpp.o: in function `__cxxabiv1::exception_cleanup_func(_Unwind_Reason_Code, _Unwind_Control_Block*)':
cxa_exception.cpp:(.text._ZN10__cxxabiv1L22exception_cleanup_funcE19_Unwind_Reason_CodeP21_Unwind_Control_Block+0x1c): undefined reference to `__atomic_fetch_add_4'
/usr/bin/arm-linux-gnueabi-ld: libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_exception.cpp.o: in function `__cxa_end_catch':
cxa_exception.cpp:(.text.__cxa_end_catch+0xc4): undefined reference to `__atomic_fetch_add_4'
/usr/bin/arm-linux-gnueabi-ld: libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_exception.cpp.o: in function `__cxa_decrement_exception_refcount':
cxa_exception.cpp:(.text.__cxa_decrement_exception_refcount+0x1c): undefined reference to `__atomic_fetch_add_4'
/usr/bin/arm-linux-gnueabi-ld: libcxxabi/src/CMakeFiles/cxxabi_shared_objects.dir/cxa_exception.cpp.o:cxa_exception.cpp:(.text.__cxa_increment_exception_refcount+0x14): more undefined references to `__atomic_fetch_add_4' follow
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztWltz4rgS_jXkxWXKFy7JAw9cM9TmVsDU7J4Xl7CF0YmxvJJMyP7688mXxE6YTJhwtjK7VLmM3ZI-tT51t9pCSx489iK29Hc7smQNpysNIjY0MpYpiwJDpr5PaUAD44GptSF82yBxgF_HaDjna6US2XD7DWeCK2sRNAO6ZCRuchFCJhVRqcRDxEPZTNZJw50k92HDHUXRdmMqziN_TVhs2u2G0yHCX6MoU6DhXDScIdRQxoqwiMVhqYLbNL5QQaEnNdSaFprqDowDFFpR5a8P1KizpQJvdsNpu3273bSaFh67Y9ycARQz7eyV7hI8dNDVJtHVOx271XVblhYK8gCR1bBGDauf3-nOpyJRWu1c2rGKK39tD85b6Gdiu12r0R6BeEePzx3iuvvtcvB1ejUaTWcNd6yvYtimHg1emlrAYtz9iMRgYJBdjmGaioiQqnx0JghOd2YYpxRmYJijq-lg-PvvXgY-vbn08vf-YIoybzK9Gnu3k8l8vPAG08UcGJ2WLrjqzy7HWen89utsOM5kaHl3V0Oa9Wd_VIpG03l_gDY342_eaHw1XozxM5neTBfT25t5peKX_ty7ufXuZv3L6743_2O-GF97X8b90XhWqXU1vfnNu1t8maFAy14WzRal1JsvRkNviE4W_ZuFd90fzm7nzwWT29l1_7X4ano9fZZOfzQduXNp0xN-RvwPW9QmkMV-lAZUT2A5eZOt_SGgV_P9U-CVoPGMjYYr2L1_byaCK-orLkypBIf3mt9WXGyIwgMVgmtHygWmpH4qmHpE27vpEPeYQ7YhsWK-yWIF7-CSKcZjlG2ZZEvEA_WIIoyCSnPNgoDGFdyAKGoqtqEVWRqHKRGIZCbZIp6QAiOmD6hEokhX3SlB8Ivu0ziVqJoQQTYUCkD6ABWpHgxCkcS7T6Qy_0yJbrlhUkJsrhgF4SyGsiRif1GhK7JNEjGfKXOFbtRa8DRc6_Yc0QR9SIQ1f20GdEXSSOXdx1wHhUSZ6jGhmSg2t0wo9GYG4BSigEZQzNxTItMwpNBN4wsW5O1Nn282NNb4-RAgiFFBZqzqAUSUBFrOYpCJKJnTHTASxlxiJiRaRLqD1SqNfV2sJ07_Sl2PKFJ9X7GIwgboiu3MDdFh8P2WKtJYT56sPJqIYQjso3fVO7x7lBumJomAT-aDy7wtBdatazwZJiY1jLUJRRH3C4o0OyCucKC3LbRShi6f7LZufntsbb9FQhrBs7JbxdIFVamIS9PJULU7Iap_SzG3qydP1MYDVajIbFj3IanQhsj0GIsSWZrP9611v8Fl6hgYRACdCnYcyzCvQfX1wqiHxcnwmtzTCWZNzyYKPLnG-o7FmwkdsaKQg5L1puknSZMDYPIhgGZgmPyDKvhYiLsHRP46gm77vLzb1eXd7QO5g-tvWekLyz4F7VPQ_ucE7Sxqm6Ob0Xjw9RJv35C8D82_cBM0ErwqwBTK6nvM80kyisgOJy4jex4PysqSxzAzPGk3z6vAPpuSN20dXA7y3ayTvXnZa3D9zeEY1exrf_hCWRHBPL78LyZZFpHM3xGPpDuvoL-IZx8ELDzBW-PzMIKFHgsVASWMjqRj7p6wdU_C6Uh4JNgsRB0H6rjsbbNQfiSsPFx9HCx3qee5OBoifnLQoyHqOM7iFf84IFlyoTyEOnkUq9Nr0hLrtbfJEtGPAyaCbbH8HnHEBYVYqb08nh7ZhY8Dl8DXEMZ1UnEcQGQKWJE9cLljpSEaZpTkcv3o61volz-efEr2yv2fSX96NR7laeD_ZwExitTzlGmeMs1TpnnKNE-Z5inTPGWap0zzlGn-uzJNQKVSPGVzr1YFMwp0jni8qKXRWGyUGYLR6Fie91THI_6fKRNU742WKtYAsn92z5sYsmqmyO7uafTY3AswsHa-_gcZ_WV73npH28CajZQq9qmheN41UXzDfC_iYNJ-3pL9ZLQgk6BEfoCWJwDQYrfez4tevOjfTsz-BX4PR9lfC_orRlLlpTHdJUCiAbjYchboAwoNp5-dIzjP7hcvGdzXU5VM7z9zZbfq6HeT7XacM3mAhSGaoJOQeq1fgkx80mxYjNhyZC7dGvi_gkq9LhUtjkxm-wV8hU7rF6Dz_TSGL917D2Nvu3AdYftT68Pn5qfqsYfS49YA_ons1J3wUH7aLyA-P0P7P1TeYinioQ4G-W6YFjS646rsFWv7uqgzdwPq7ArGyBnnzOVY76MuO6bnkeCz81dscbxgsC79SQ7dGsovxOKez6jvZLoaY2vntD3vnfjIWuM08XRtcOJ9jR9YHHgz5LIoHXJ94GxolOIhj5XgkTfAd-p9ub7WvbymzAui7YoiV46zX4uxfbFHizvH_o4SB6Y2n32aUA9j9Am0fD-1L9vp0HnAN8jn5ySgvqB687yy7Yfh-BxueyBNb0P9wtb0jrGz-EdjL61mg6_SfQTItxkwVjyK-EMxGZV_rgBZhm2MPL6nwtB_h-iD7vroeXn4XW-0oCCghq1T-FRSw9zqLiWlsIxtcSJQK1k_x31Ge_oMeLtlO13rLOi5wYV7Qc4UUxHtNdqD_ux6fKWPftVPoBt2uzYXpTKKZ1qepSLq1Q-8h1AzXTahPF7KDX-NmQiu5wivTMo0m8N2172wztY9h1Cf2u2OHQTUoZbrdNrddqttO62uRWxneRaRJY2k1hMqnrGeYzmOde507Au75VrNi9XFklirroX2btc6b7QsuoGiTd2xPnR_JnqZDss0lCiMmIStPBUSKfWRSlrik1StuejdE5lQcX9un2UK9zJt_wfWmYwB">