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

    <tr>
        <th>Summary</th>
        <td>
            libc++ - building on Ubuntu focal with `--target=wasm32-unknown-wasi`  fails with `cannot add 'abi_tag' attribute in a redeclaration`
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    Building with:
```
"/root/llvm-toolchain-snapshot_16~++20230105104856+551ec87883c5/build-llvm/tools/clang/stage2-bins/bin/clang++" --target=wasm32-unknown-wasi  -DLIBCXX_BUILDING_LIBCXXABI -D_LIBCPP_BUILDING_LIBRARY -D_LIBCPP_DISABLE_NEW_DELETE_DEFINITIONS -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I"/root/llvm-toolchain-snapshot_16~++20230105104856+551ec87883c5/libcxx/src" -Iinclude/c++/v1 -I"/root/llvm-toolchain-snapshot_16~++20230105104856+551ec87883c5/libcxxabi/include" -O2 -DNDEBUG -g1 -fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2 -fno-stack-protector -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wdelete-non-virtual-dtor -Wno-comment -fdiagnostics-color -std=c++2a -MD -MT libcxx/src/CMakeFiles/cxx_static.dir/chrono.cpp.o -MF libcxx/src/CMakeFiles/cxx_static.dir/chrono.cpp.o.d -o libcxx/src/CMakeFiles/cxx_static.dir/chrono.cpp.o -c '/root/llvm-toolchain-snapshot_16~++20230105104856+551ec87883c5/libcxx/src/chrono.cpp'
[...]

In file included from /root/llvm-toolchain-snapshot_16~++20230105104856+551ec87883c5/libcxx/src/chrono.cpp:16:
In file included from include/c++/v1/chrono:773:
In file included from include/c++/v1/__chrono/formatter.h:21:
In file included from include/c++/v1/__chrono/ostream.h:26:
In file included from include/c++/v1/__format/format_functions.h:27:
In file included from include/c++/v1/__format/format_context.h:24:
In file included from include/c++/v1/locale:203:
In file included from include/c++/v1/__locale:44:
include/c++/v1/__support/musl/xlocale.h:27:8: error: cannot add 'abi_tag' attribute in a redeclaration
inline _LIBCPP_HIDE_FROM_ABI long long
 ^
include/c++/v1/__config:615:26: note: expanded from macro '_LIBCPP_HIDE_FROM_ABI'
 __attribute__((__abi_tag__(_LIBCPP_TOSTRING(_LIBCPP_VERSIONED_IDENTIFIER))))
 ^
/usr/include/stdlib.h:284:22: note: previous declaration is here
extern long long int strtoll_l (const char *__restrict __nptr,
```

Ubuntu Focal ships with libc6 2.31-0ubuntu9.9.

The problem probably occurs on old Ubuntu.

Built with:
```

mkdir -p "build-wasm/compiler-rt-wasm32"
cmake -B "build-wasm/compiler-rt-wasm32" -S compiler-rt/lib/builtins/ \
 -G Ninja \
        -DCMAKE_C_COMPILER_LAUNCHER=/opt/sccache/sccache -DCMAKE_CXX_COMPILER_LAUNCHER=/opt/sccache/sccache \
 -DCMAKE_C_COMPILER_TARGET=wasm32-unknown-unknown \
 -DCMAKE_CXX_COMPILER_TARGET=wasm32-unknown-unknown \
 -DCMAKE_ASM_COMPILER_TARGET=wasm32-unknown-unknown \
 -DCMAKE_C_COMPILER=/root/llvm-toolchain-snapshot_16~++20230105104856+551ec87883c5/build-llvm/tools/clang/stage2-bins/bin/clang \
 -DCMAKE_CXX_COMPILER=/root/llvm-toolchain-snapshot_16~++20230105104856+551ec87883c5/build-llvm/tools/clang/stage2-bins/bin/clang++ \
        -DCMAKE_C_FLAGS="-O2 -DNDEBUG -g1 -fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2" \
        -DCMAKE_CXX_FLAGS="-O2 -DNDEBUG -g1 -fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2" \
 -DCMAKE_SHARED_LINKER_FLAGS="-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--build-id -L/root/llvm-toolchain-snapshot_16~++20230105104856+551ec87883c5/build-llvm/tools/clang/stage2-bins/lib" \
        -DCMAKE_MODULE_LINKER_FLAGS="-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--build-id -L/root/llvm-toolchain-snapshot_16~++20230105104856+551ec87883c5/build-llvm/tools/clang/stage2-bins/lib" \
        -DCMAKE_EXE_LINKER_FLAGS="-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--build-id -L/root/llvm-toolchain-snapshot_16~++20230105104856+551ec87883c5/build-llvm/tools/clang/stage2-bins/lib" \
        -DCMAKE_INSTALL_PREFIX=/usr/lib/llvm-16/lib/clang/16.0.0 \
 -DCMAKE_INSTALL_DATADIR=lib \
 -DCMAKE_INSTALL_INCLUDEDIR=include \
 -DLLVM_CMAKE_DIR=/root/llvm-toolchain-snapshot_16~++20230105104856+551ec87883c5/build-llvm/tools/clang/stage2-bins/bin/../ \
        -DCOMPILER_RT_STANDALONE_BUILD=ON \
 -DCOMPILER_RT_BAREMETAL_BUILD=ON \
 -DCOMPILER_RT_INCLUDE_TESTS=OFF \
        -DCOMPILER_RT_USE_LIBCXX=OFF \
        -DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON \
 -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=wasm32-unknown-unknown \
 -DCOMPILER_RT_OS_DIR=wasi

```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzkWM1y2zgSfhr4goKKAi1ZOuhAiaTDGolykfTYOaFAEpIwgQAtAMbOHvbZt0BSP554nUyS2czUuFSUCfTPh0Z34xOoMXwrGZuB0RyMwiva2J3SM_NJfGTGanZVqvrTbN5wUXO5hU_c7oAfAC8EXgDGXv_pXjEGONZKWYBjIT7ukVVKVDvKJTKSHsxOWTIc_wfgOcBz7GHfG3qjoXc9GY0Bno9GQ1ZNbiYTvxoBHJfOJXJmAI6dIQNwXAkqtwDHxtItw6jk0o2WXJ7n5u0HQ4Qs1VtmgR8-UbP3MWrkB6meJHqihkOIwmUyXzw-kvl9sgyT9JZ078E8gShsX-7uXkxmQfb-YipM8mC-jEgaPZAwWkZFRMIoTtKkSNZpfiH4LshJuiZ3WXC7Ckj-Pi-iFXkXBWGUOSmSF-GCLNZpXgRpQVbBIlvn54l4na2Cz4eXySo5jyY_NvaCl9Xzs4uzrtpYJlxWoqmZC_MxxPHH4Z_kmJYc4PjkEkO0xhCFaRjN728h2g4h2hhLqw_ooJVllVUaGauV3EL0sFF6Ty1ED0xrpYEfdgPIsKrR3H6C6EEq1MjGsBpVar-nskaCS4ao3jZ7Jp1uTS1Dlu-ZC3i8zookfk_y9X22iIAfYog2UqHfQYDogQrhHD9bTV-4OVBN98wyJ_OkuWUOLpdbA9FDRY1F_2qo06yZYJYhqST6yLVtqEB1Z1mqFmuLblNzupXKWF4ZVCnhBIytgR_2e4MpRKsQolUBX-5kvFjRDyzmgrXF9PxMjKWWV4Oaazew00qqQXU4DBREq_jbtQc1ROp7nFcQ4Js_LaMvnDk3XfcazQeDARiF_Wv7TCTccMFgn4s13Gi1h_8XXH4wHJ867es4Xi_KkxngBzc3_rfaIKS3guOugizTA9f78fAHmFTubKH7zuA3r5OQDtoJI9k0srJcSdNZvvlxlislLXu2nd3rb7UrVEUFcya879iZk5XrM5A3xE1zOCjt1rJvjAA4fu4MnGM0AX4A-4YZwIpKqSykde2qkJacWLoF-AZSazUvG-ugQgo1q1klqKYu4kcUrpXC09GXhBGJs_WKuGNVuA7tHp0sBKPoi9grJTd8C_xgPBwdcwVKZVmL-PlA5Slge1pp5RC_6v1U6JCQ0zoIAXgC8ISQfpXtwFG_WOdFlqS3F0O_RlmerNMoJEkYpUUSJ1EG8PT8-d3KAI4boy9Ps9jYWvCyi_3E7R_Gl2s6aPaRq8bAi9hCbuCOadbZZM-WaXmOJuTSQmO1VUIQAQGeVEoaC6sd1RDggBDtqByvLCREHqwGePE6gWuf92UjbQNjlyLQ7PjBtKyv7eZjiAf-EHlNKzMdTAeXmsWOwYNWpWD79puW4hNUVdVoA5WEStSwM_5Cy3FL-zaxbJ_7DzXXEB0gwLgjh47XuZxR-wMXTCNtUUf1HClpdao9_cAgmn-dDkQ5vJjo2nNPRW1HNSEY9bGD6BamXP5GL4b6PxQuVsEvEXGsbnWXLKOMLIP7dPEuyoAfuu53cMZNVdFqx87_nRUfH_-o6gWuz70XQXYbFZ8z4f77NeVLBH9cPchX3-X9pNwt-uf-pvhCeP4KEDvbb2VivAxu8xYq_quxaVd5_xv54-PfB_sRdP4uyCL3-y_9JcpewH8QAC_Q3Hzal0rwCp34Cuyn_g3wQjOh1XEAdRnBa4iWPyfP2ib4xhat1uH9MvqnrDZ6_McsNUnzIlguyV0Wxclj1-c6NtOdiy3W4fj0fvQyHA-8gfdKXRwNhkERhInrnIKXb8gl6WJ5H0adaM-gXogvl7-uSKfTCf3MTjwYvCQI52geT8KsIHkRpGGwXKdRd7cE_HCdvgzBhfQ8yKJVVATLrxHuo0WKKC9cWq7jL6K5z6P-2uvr5R2SIknz45XY26DCKA7ul0VPAkiRJXfL6Cu5wIWZdd5v8BM1_JIVnqjiVT3z66k_pVdsNhzf4CkeD6_HV7tZWZbTekO9svSH-Ho0HN14k2oyrSuv9ifsxrvis1Mq-NcYjwfDEcP0elRPb1iNK-aDa4_tKRcDlwwDpbdX3JiGzUbTybV_JWjJhGnvTzGW7Am2k46CjsIrPWvzsGy2Blx7ghtrzlYst4LNHK_uz28Ey-NFq5I9V4abloi3FByMvbevNcHYg3BDuTAnhW_7MTf2rhotZjtrD8bRchwDHG-53TXloFL7vr6OZXbQ6jdWuapr1-5Koo3NfwMAAP__zRzOGA">