Make padding in struct sockaddr_storage explicit [BZ #20111]
authorFlorian Weimer <fweimer@redhat.com>
Mon, 23 May 2016 17:43:09 +0000 (19:43 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Mon, 23 May 2016 17:43:09 +0000 (19:43 +0200)
commit3375cfafa7961c6ae0e509c31c3b3cef9ad1f03d
tree0c2ba750f8b7e15a6b826f9767fbb533bfb4f567
parentd912d3a1198dfa9acd59cb5a07e5ed27c910cb7f
Make padding in struct sockaddr_storage explicit [BZ #20111]

This avoids aliasing issues with GCC 6 in -fno-strict-aliasing
mode.  (With implicit padding, not all data is copied.)

This change makes it explicit that struct sockaddr_storage is
only 126 bytes large on m68k (unlike elsewhere, where we end up
with the requested 128 bytes).  The new test case makes sure that
this does not happen on other architectures.
ChangeLog
bits/sockaddr.h
bits/socket.h
inet/Makefile
inet/tst-sockaddr.c [new file with mode: 0644]
sysdeps/mach/hurd/bits/socket.h
sysdeps/unix/bsd/bits/sockaddr.h
sysdeps/unix/sysv/linux/bits/socket.h
sysdeps/unix/sysv/linux/m68k/bits/sockaddr.h [new file with mode: 0644]