aboutsummaryrefslogtreecommitdiff
path: root/inet/Makefile
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2016-05-23 19:43:09 +0200
committerFlorian Weimer <fweimer@redhat.com>2016-05-23 19:43:09 +0200
commit3375cfafa7961c6ae0e509c31c3b3cef9ad1f03d (patch)
tree0c2ba750f8b7e15a6b826f9767fbb533bfb4f567 /inet/Makefile
parentd912d3a1198dfa9acd59cb5a07e5ed27c910cb7f (diff)
downloadglibc-3375cfafa7961c6ae0e509c31c3b3cef9ad1f03d.tar
glibc-3375cfafa7961c6ae0e509c31c3b3cef9ad1f03d.tar.gz
glibc-3375cfafa7961c6ae0e509c31c3b3cef9ad1f03d.tar.bz2
glibc-3375cfafa7961c6ae0e509c31c3b3cef9ad1f03d.zip
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.
Diffstat (limited to 'inet/Makefile')
-rw-r--r--inet/Makefile4
1 files changed, 3 insertions, 1 deletions
diff --git a/inet/Makefile b/inet/Makefile
index 0e7a3c3b45..2207b93977 100644
--- a/inet/Makefile
+++ b/inet/Makefile
@@ -50,7 +50,7 @@ aux := check_pf check_native ifreq
tests := htontest test_ifindex tst-ntoa tst-ether_aton tst-network \
tst-gethnm test-ifaddrs bug-if1 test-inet6_opt tst-ether_line \
- tst-getni1 tst-getni2 tst-inet6_rth tst-checks
+ tst-getni1 tst-getni2 tst-inet6_rth tst-checks tst-sockaddr
include ../Rules
@@ -84,6 +84,8 @@ CFLAGS-either_hton.c = -fexceptions
CFLAGS-getnetgrent.c = -fexceptions
CFLAGS-getnetgrent_r.c = -fexceptions
+CFLAGS-tst-sockaddr.c = -fno-strict-aliasing
+
endif
ifeq ($(build-static-nss),yes)