Blob Blame Raw
From 96aefb90e843648812d1832789f4a88ea5350605 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@redhat.com>
Date: Tue, 25 May 2010 15:09:20 +0200
Subject: [PATCH] Avoid strict-aliasing issues

---
 elf/Makefile                           |    1 +
 inet/Makefile                          |    2 ++
 nis/Makefile                           |    2 ++
 nss/Makefile                           |    1 +
 resolv/Makefile                        |    1 +
 sunrpc/Makefile                        |    4 ++++
 sysdeps/powerpc/powerpc64/elf/Makefile |    2 ++
 7 files changed, 13 insertions(+), 0 deletions(-)
diff -Nrup a/elf/Makefile b/elf/Makefile
--- a/elf/Makefile	2012-08-29 07:45:37.000000000 -0600
+++ b/elf/Makefile	2012-08-30 09:42:41.980592920 -0600
@@ -50,6 +50,7 @@ include ../Makeconfig
 ifeq ($(unwind-find-fde),yes)
 routines += unwind-dw2-fde-glibc
 shared-only-routines += unwind-dw2-fde-glibc
+CFLAGS-unwind-dw2-fde-glibc.c += -fno-strict-aliasing
 endif
 
 before-compile  = $(objpfx)trusted-dirs.h
diff -Nrup a/inet/Makefile b/inet/Makefile
--- a/inet/Makefile	2012-08-29 07:45:37.000000000 -0600
+++ b/inet/Makefile	2012-08-30 09:42:41.981592916 -0600
@@ -54,6 +54,8 @@ tests := htontest test_ifindex tst-ntoa
 
 include ../Rules
 
+CFLAGS-tst-inet6_rth.c += -fno-strict-aliasing
+
 ifeq ($(have-thread-library),yes)
 
 CFLAGS-gethstbyad_r.c = -fexceptions
diff -Nrup a/nis/Makefile b/nis/Makefile
--- a/nis/Makefile	2012-08-29 07:45:37.000000000 -0600
+++ b/nis/Makefile	2012-08-30 09:42:41.982592912 -0600
@@ -71,6 +71,8 @@ libnss_nisplus-inhibit-o = $(filter-out
 
 include ../Rules
 
+CFLAGS-nis_findserv.c += -fno-strict-aliasing
+CFLAGS-ypclnt.c += -fno-strict-aliasing
 
 $(objpfx)libnss_compat.so: $(objpfx)libnsl.so$(libnsl.so-version)
 $(objpfx)libnss_nis.so: $(objpfx)libnsl.so$(libnsl.so-version) \
diff -Nrup a/nss/Makefile b/nss/Makefile
--- a/nss/Makefile	2012-08-29 07:45:37.000000000 -0600
+++ b/nss/Makefile	2012-08-30 09:42:42.021592753 -0600
@@ -101,6 +101,7 @@ $(libnss_db-dbs:%=$(objpfx)%.c): $(objpf
 	 echo '#include "$<"') > $@.new
 	mv -f $@.new $@
 
+CFLAGS-files-hosts.c += -fno-strict-aliasing
 
 $(objpfx)makedb: $(makedb-modules:%=$(objpfx)%.o)
 
diff -Nrup a/resolv/Makefile b/resolv/Makefile
--- a/resolv/Makefile	2012-08-29 07:45:37.000000000 -0600
+++ b/resolv/Makefile	2012-08-30 09:42:42.023592745 -0600
@@ -80,6 +80,7 @@ ifeq (yes,$(have-ssp))
 CFLAGS-libresolv += -fstack-protector
 endif
 CFLAGS-res_hconf.c = -fexceptions
+CFLAGS-res_send.c += -fno-strict-aliasing
 
 # The BIND code elicits some harmless warnings.
 +cflags += -Wno-strict-prototypes -Wno-write-strings
diff -Nrup a/sunrpc/Makefile b/sunrpc/Makefile
--- a/sunrpc/Makefile	2012-08-29 07:45:37.000000000 -0600
+++ b/sunrpc/Makefile	2012-08-30 09:42:42.024592741 -0600
@@ -150,6 +150,10 @@ sunrpc-CPPFLAGS = -D_RPC_THREAD_SAFE_
 CPPFLAGS += $(sunrpc-CPPFLAGS)
 BUILD_CPPFLAGS += $(sunrpc-CPPFLAGS)
 
+CFLAGS-clnt_tcp.c += -fno-strict-aliasing
+CFLAGS-clnt_udp.c += -fno-strict-aliasing
+CFLAGS-clnt_unix.c += -fno-strict-aliasing
+
 $(objpfx)tst-getmyaddr: $(common-objpfx)linkobj/libc.so
 $(objpfx)tst-xdrmem: $(common-objpfx)linkobj/libc.so
 $(objpfx)tst-xdrmem2: $(common-objpfx)linkobj/libc.so
diff -Nrup a/sysdeps/powerpc/powerpc64/Makefile b/sysdeps/powerpc/powerpc64/Makefile
--- a/sysdeps/powerpc/powerpc64/Makefile	2012-08-30 09:42:17.872692135 -0600
+++ b/sysdeps/powerpc/powerpc64/Makefile	2012-08-30 09:42:42.024592741 -0600
@@ -37,6 +37,8 @@ CFLAGS-rtld-strnlen.os = $(no-special-re
 
 CFLAGS-libc-start.c += -fno-asynchronous-unwind-tables
 
+CFLAGS-gmon-start.c += -fno-strict-aliasing
+
 ifeq ($(subdir),csu)
 sysdep_routines += hp-timing
 elide-routines.os += hp-timing