<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">