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

    <tr>
        <th>Summary</th>
        <td>
            [Question] Memory alignment of malloc ASAN
        </td>
    </tr>

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

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

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

<pre>
    I am using Eigen with ASAN in a x86_64 system where system malloc returns 16bit aligned memory. However, I have found that when using ASAN, Eigen assumes malloc doesn't return a 16 bit aligned chunk of memory

```
#if defined(__GLIBC__) && ((__GLIBC__>=2 && __GLIBC_MINOR__ >= 8) || __GLIBC__>2) \
 && defined(__LP64__) && ! defined( __SANITIZE_ADDRESS__ ) && (EIGEN_DEFAULT_ALIGN_BYTES == 16)
 #define EIGEN_GLIBC_MALLOC_ALREADY_ALIGNED 1
#else
  #define EIGEN_GLIBC_MALLOC_ALREADY_ALIGNED 0
#endif
```

This can cause some issues in Eigen if you mix a library compiled with ASAN with another compiled without ASAN.

I would like to know if, in x86_64 systems, ASAN implementation of malloc returns a 16bit aligned pointer to the user.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVE2PozgQ_TXmUpoIG8LHgQMdSC9SJrPbyR5mL8iBIrjb2BE2ncm_X_GRmWS0l5UiB7vs956fq4obI84KMSHrF7LOHD7YVvfJ-3vFTcd756TrW1IA72AwQp0hF2dUcBW2hfSQ7kEo4PAjCsrAB3MzFju4ttjjfdJxKXUFPdqhVwZocBIWuBw5a-iw0_1tBX_oK35iT9gGCmj5J0KjB1WDbbkd4dRCPjKOm2YR3JihQ3OnqDUaRVhoFzLgQAN4pKvaQX2AbhZe4mbETZcxcJffPGWeaKDGRiisCYvK8nVXvGzKkrAYCAsIC4Cw6Cni5cTL2D16X_9a7L-9lSXMYYgmgHBDwg08HmXT-noz099BHgXs_gz83_jpwwYoy0O6L47FP3mZZtlbfjiMrE9y8-I135dZvk3_3h3LdFe87suX78f8AMTLRnU0ICz-KcGb0WE-tlwn3e2-bcp095an2fcZI8-A_rQNpcEF4f9B_HIeVS2a_36WaTy2wkDFFVR8MAhGdwjCmAHNmI1zbogGbnqATvwADlKcet7foNLdRUisH9J3-uJK2xb757ge7LRl9UhdwFUPsgYpPhCshg-lryCaMSeFei4DMy7OJdJdJHaoLLdCqyn_nouC_1YWFy2UxX4ksC3CYLBfOXXi1bEXcwcTGsRrL_LikDptEvk-Rcrd2o-9oAm8hvpBVVe-G2MYVug6ImEu89yYMUrXsUdXfB1GPo0jWvluRGNKfBc7LuRKys9upfuzM7mZBCGloSP5CaWZ2gNjCq-z1YSxsVv0yXjmy2k4G-K7UhhrfqFYYeXUV_4a0IxXJ-sMvk6lN1919OTBjtEsZ-hl0lp7McRLCdsStj0L2w6nVaU7wrYj-PL35dLrd6wsYdv59QnbTpL_DQAA__-2jnl1">