https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104262
--- Comment #4 from eggert at cs dot ucla.edu --- Thanks for looking into the problem. DR#460 says that the C2x committee adopted wording based on N2072, which which made the point that non-integral multiples of alignment are useful - for the same reasons that prompted my bug report. This reflects longstanding wording in the C standard that, for example, 'malloc (sizeof (double) + 1)' yields a pointer suitably aligned for 'double'. So this is indeed a bug in gcc's -fsanitize=address option. > changes against the sanitizer libs need to go against the > compiler-rt upstream and only then can be cherry-picked from there. As I understand it, GCC has local patches so that its libsanitizer differs from upstream, and this patch could be added to that difference set if necessary. However, you're right that it's better to have upstream fix it, so that the fix is everywhere. I filed a bug report upstream here: https://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20220124/1001910.html and I hope they act on it.