On 20/02/17 17:50, Jonathan Wakely wrote: > On 20 February 2017 at 17:46, Andrew Haley wrote: >> On 20/02/17 17:42, Jonathan Wakely wrote: >>> This is a real problem: >>> >>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71255 >> >> Ah, thanks. So it's been diagnosed already. > > Yes, I think with a sufficiently new glibc and gcc there are no > warnings, and strict-aliasing optimisations don't make bad things > happen. > > The problem is that POSIX says it Just Works, but the traditional > implementations of sockaddr_* (which are part of the libc ABI) aren't > actually correct w.r.t strict-aliasing. Ah, right. So they can't be fixed e.g. by making sockaddr_storage a character type, or by making the functions take a void* ? Oh dear. To the back of the class! Andrew.