https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90569
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- Rainer, the change to gcc/cp/init.c would allow you to do: #define MALLOC_ABI_ALIGNMENT 8 in gcc/config/i386/sol2.h and that would cause std::allocator to know that it can't rely on malloc for 16-byte alignment. Although that would only help for C++17, because otherwise __cpp_aligned_new isn't defined ... drat. It's better than nothing though. Does that seem acceptable for your target?