* Simon Chopin: > On x86, this compiles into movdqa which segfaults on unaligned access. > > This kind of failure has been seen when running against glibc 2.39, > which incidentally changed the printf implementation to move away from > alloca() for this data to instead append it at the end of an existing > "scratch buffer", with arbitrary alignement, whereas alloca() was > probably more likely to be naturally aligned.
This glibc change appears to be incorrect. I think we need to preserve ABI alignment for types than can be passed through the vararg interface. I'm not sure if this easily possible, though. Certainly needs a discussion on libc-alpha. Thanks, Florian