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

    <tr>
        <th>Summary</th>
        <td>
            arm-eabi (and arm-linux-gnueabi) use __cxa_atexit while the ABI specifies __aeabi_atexit
        </td>
    </tr>

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

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

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

<pre>
    I noticed this while adding DCEing support of atexit to GCC and the testcases were failing on arm-linux-gnueabi.
Simple testcase:
```
struct A {
    A();
    ~A();
} a;
```

You will see at -O2:
```
b __cxa_atexit
```

While GCC produces:
```
        b __aeabi_atexit
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8Uk2vmzAQ_DXmskoECwR88CEfTfVOPfRQ9RQZs4BbgxG2m_TS316ZRErfa18RwtpBM9oZj3RO9xORYOWBladEBj_YRcx6ct-1TBrb_hQvMFmvFbXgB-3gOmhDINtWTz2cjh_i4cI828WD7UB6umkP3sLH4xHkFFkEnpxX0pGDKy0EndQm8uwEchk3Rk_htumnQLLRW5aeWLr_rMfZPIks399xtksf7zo6vwTlYQ-sOtwRAIA9w5ohZ_kf2K-3IKtOIJ_Ta93796sNcNXGgCMC6WHzCd9bpIHLRd3k5e7_P5pf1vxiOPNi26DIvScJjydKyxjNv8WTVuQtz7lMSGRVVlRlldWYDEJhi1mZ8brsiiwv8nynSt7VnNqGE5cq0QJTLNIyzbMKd4jbpsqaOqPdrlZt2pUNK1IapTZbY36MW7v0iXYukOApr-vEyIaMW6uDONEV1p8MMTZpEZGzaULvWJEa7bx7qnjtDYl49dEWMKxjUf6qAkMOwdGrZB_9i6XaH17AzaR0p8m9ySgJixGD9_OaLp4Znnvth9BslR0ZnuMqj2MzL_YbKc_wvBpwDM-rwd8BAAD__85_7oE">