diff -up glibc-2.36/csu/Makefile.37~ glibc-2.36/csu/Makefile --- glibc-2.36/csu/Makefile.37~ 2022-07-30 00:03:09.000000000 +0200 +++ glibc-2.36/csu/Makefile 2022-08-02 13:12:29.205993485 +0200 @@ -115,7 +115,7 @@ endif asm-CPPFLAGS += -I$(objpfx). # Enable unwinding so backtrace unwinds to __libc_start_main -CFLAGS-libc-start.c += -funwind-tables +CFLAGS-libc-start.c += -funwind-tables -fno-strict-aliasing include ../Rules diff -up glibc-2.36/debug/Makefile.37~ glibc-2.36/debug/Makefile --- glibc-2.36/debug/Makefile.37~ 2022-08-02 13:12:29.205993485 +0200 +++ glibc-2.36/debug/Makefile 2022-08-02 13:12:51.373989783 +0200 @@ -111,6 +111,7 @@ CFLAGS-tst-longjmp_chk3.c += -fexception CPPFLAGS-tst-longjmp_chk3.c += -D_FORTIFY_SOURCE=1 CPPFLAGS-tst-realpath-chk.c += -D_FORTIFY_SOURCE=2 CPPFLAGS-tst-read-chk-cancel.c += -D_FORTIFY_SOURCE=2 +CFLAGS-longjmp_chk.c += -fno-strict-aliasing # _FORTIFY_SOURCE tests. # Auto-generate tests for _FORTIFY_SOURCE for different levels, compilers and diff -up glibc-2.36/inet/Makefile.37~ glibc-2.36/inet/Makefile --- glibc-2.36/inet/Makefile.37~ 2022-07-30 00:03:09.000000000 +0200 +++ glibc-2.36/inet/Makefile 2022-08-02 13:12:29.206993485 +0200 @@ -110,6 +110,20 @@ CFLAGS-getnetgrent_r.c += -fexceptions CFLAGS-tst-checks-posix.c += -std=c99 CFLAGS-tst-sockaddr.c += -fno-strict-aliasing +CFLAGS-gethstbyad_r.c += -fno-strict-aliasing +CFLAGS-gethstbynm.c += -fno-strict-aliasing +CFLAGS-gethstbynm2.c += -fno-strict-aliasing +CFLAGS-gethstbynm2_r.c += -fno-strict-aliasing +CFLAGS-gethstbynm_r.c += -fno-strict-aliasing +CFLAGS-getnetbyad_r.c += -fno-strict-aliasing +CFLAGS-getnetbynm_r.c += -fno-strict-aliasing +CFLAGS-rcmd.c += -fno-strict-aliasing +CFLAGS-rexec.c += -fno-strict-aliasing +CFLAGS-ifaddrs.c += -fno-strict-aliasing +CFLAGS-check_pf.c += -fno-strict-aliasing +CFLAGS-check_native.c += -fno-strict-aliasing +CFLAGS-netlink_assert_response.c += -fno-strict-aliasing + endif # Install the rpc database file. diff -up glibc-2.36/libio/libioP.h.37~ glibc-2.36/libio/libioP.h --- glibc-2.36/libio/libioP.h.37~ 2022-07-30 00:03:09.000000000 +0200 +++ glibc-2.36/libio/libioP.h 2022-08-02 13:12:29.206993485 +0200 @@ -841,8 +841,8 @@ extern struct _IO_FILE_plus _IO_stderr_; static inline bool _IO_legacy_file (FILE *fp) { - return fp == (FILE *) &_IO_stdin_ || fp == (FILE *) &_IO_stdout_ - || fp == (FILE *) &_IO_stderr_; + return (void*)fp == &_IO_stdin_ || (void*)fp == &_IO_stdout_ + || (void*)fp == &_IO_stderr_; } #endif @@ -852,8 +852,8 @@ static inline void _IO_deallocate_file (FILE *fp) { /* The current stream variables. */ - if (fp == (FILE *) &_IO_2_1_stdin_ || fp == (FILE *) &_IO_2_1_stdout_ - || fp == (FILE *) &_IO_2_1_stderr_) + if ((void*)fp == &_IO_2_1_stdin_ || (void*)fp == &_IO_2_1_stdout_ + || (void*)fp == &_IO_2_1_stderr_) return; #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) if (_IO_legacy_file (fp)) diff -up glibc-2.36/libio/Makefile.37~ glibc-2.36/libio/Makefile --- glibc-2.36/libio/Makefile.37~ 2022-07-30 00:03:09.000000000 +0200 +++ glibc-2.36/libio/Makefile 2022-08-02 13:12:29.206993485 +0200 @@ -154,6 +154,19 @@ CFLAGS-iofopen.c += -fexceptions CFLAGS-iofopen64.c += -fexceptions CFLAGS-oldtmpfile.c += -fexceptions # XXX Do we need filedoalloc and wfiledoalloc? Others? +# +CFLAGS-iofopncook.c += -fno-strict-aliasing +CFLAGS-iopopen.c += -fno-strict-aliasing +CFLAGS-vswprintf.c += -fno-strict-aliasing +CFLAGS-wmemstream.c += -fno-strict-aliasing +CFLAGS-memstream.c += -fno-strict-aliasing +CFLAGS-obprintf.c += -fno-strict-aliasing +CFLAGS-stdfiles.c += -fno-strict-aliasing +CFLAGS-stdio.c += -fno-strict-aliasing +CFLAGS-oldiofopen.c += -fno-strict-aliasing +CFLAGS-oldiofdopen.c += -fno-strict-aliasing +CFLAGS-oldiopopen.c += -fno-strict-aliasing +CFLAGS-oldstdfiles.c += -fno-strict-aliasing CFLAGS-tst_putwc.c += -DOBJPFX=\"$(objpfx)\" diff -up glibc-2.36/locale/Makefile.37~ glibc-2.36/locale/Makefile --- glibc-2.36/locale/Makefile.37~ 2022-07-30 00:03:09.000000000 +0200 +++ glibc-2.36/locale/Makefile 2022-08-02 13:12:29.206993485 +0200 @@ -106,6 +106,7 @@ CPPFLAGS-locale-programs = -DLOCALE_PATH CFLAGS-charmap.c += -Wno-write-strings -Wno-char-subscripts CFLAGS-locfile.c += -Wno-write-strings -Wno-char-subscripts CFLAGS-charmap-dir.c += -Wno-write-strings +CFLAGS-C-ctype.c += -fno-strict-aliasing # Set libof-* for each routine. cpp-srcs-left := $(localedef-modules) $(localedef-aux) $(locale-modules) \ diff -up glibc-2.36/misc/Makefile.37~ glibc-2.36/misc/Makefile --- glibc-2.36/misc/Makefile.37~ 2022-07-30 00:03:09.000000000 +0200 +++ glibc-2.36/misc/Makefile 2022-08-02 13:12:29.207993484 +0200 @@ -156,6 +156,8 @@ CFLAGS-mmap.op = $(no-stack-protector) CFLAGS-mmap64.o = $(no-stack-protector) CFLAGS-mmap64.op = $(no-stack-protector) +CFLAGS-tsearch.c += -fno-strict-aliasing + include ../Rules $(objpfx)libg.a: $(dep-dummy-lib); $(make-dummy-lib) diff -up glibc-2.36/nis/Makefile.37~ glibc-2.36/nis/Makefile --- glibc-2.36/nis/Makefile.37~ 2022-07-30 00:03:09.000000000 +0200 +++ glibc-2.36/nis/Makefile 2022-08-02 13:12:29.207993484 +0200 @@ -52,6 +52,7 @@ endif # have-GLIBC_2.28 include ../Rules +CFLAGS-nis_callback.c += -fno-strict-aliasing libnsl-libc = $(common-objpfx)linkobj/libc.so # Target-specific variable setting to link objects using deprecated diff -up glibc-2.36/nptl/Makefile.37~ glibc-2.36/nptl/Makefile --- glibc-2.36/nptl/Makefile.37~ 2022-07-30 00:03:09.000000000 +0200 +++ glibc-2.36/nptl/Makefile 2022-08-02 13:12:29.207993484 +0200 @@ -262,6 +262,22 @@ CFLAGS-sem_clockwait.c = -fexceptions -f CFLAGS-futex-internal.c += -fexceptions -fasynchronous-unwind-tables +CFLAGS-pthread_create.c += -fno-strict-aliasing +CFLAGS-sem_clockwait.c += -fno-strict-aliasing +CFLAGS-sem_wait.c += -fno-strict-aliasing +CFLAGS-sem_waitcommon.c += -fno-strict-aliasing +CFLAGS-sem_timedwait.c += -fno-strict-aliasing +CFLAGS-sem_post.c += -fno-strict-aliasing +CFLAGS-unwind.c += -fno-strict-aliasing +CFLAGS-pthread_attr_copy.c += -fno-strict-aliasing +CFLAGS-pthread_cond_common.c += -fno-strict-aliasing +CFLAGS-pthread_cond_destroy.c += -fno-strict-aliasing +CFLAGS-pthread_cond_wait.c += -fno-strict-aliasing +CFLAGS-pthread_cond_signal.c += -fno-strict-aliasing +CFLAGS-pthread_cond_broadcast.c += -fno-strict-aliasing +CFLAGS-pthread_setattr_default_np.c += -fno-strict-aliasing +CFLAGS-pthread_getattr_default_np.c += -fno-strict-aliasing + LDLIBS-tst-once5 = -lstdc++ CFLAGS-tst-thread_local1.o = -std=gnu++11 LDLIBS-tst-thread_local1 = -lstdc++ diff -up glibc-2.36/nscd/Makefile.37~ glibc-2.36/nscd/Makefile --- glibc-2.36/nscd/Makefile.37~ 2022-07-30 00:03:09.000000000 +0200 +++ glibc-2.36/nscd/Makefile 2022-08-02 13:12:29.207993484 +0200 @@ -79,6 +79,14 @@ CFLAGS-nscd_gethst_r.c += -fexceptions CFLAGS-nscd_getai.c += -fexceptions CFLAGS-nscd_initgroups.c += -fexceptions +CFLAGS-nscd_helper.c += -fno-strict-aliasing +CFLAGS-nscd.c += -fno-strict-aliasing +CFLAGS-connections.c += -fno-strict-aliasing +CFLAGS-gethstbyad_r.c += -fno-strict-aliasing +CFLAGS-gethstbynm3_r.c += -fno-strict-aliasing +CFLAGS-aicache.c += -fno-strict-aliasing +CFLAGS-gai.c += -fno-strict-aliasing + CPPFLAGS-nscd += -D_FORTIFY_SOURCE=2 ifeq (yesyes,$(have-fpie)$(build-shared)) diff -up glibc-2.36/nss/Makefile.37~ glibc-2.36/nss/Makefile --- glibc-2.36/nss/Makefile.37~ 2022-07-30 00:03:09.000000000 +0200 +++ glibc-2.36/nss/Makefile 2022-08-02 13:12:29.207993484 +0200 @@ -206,6 +206,9 @@ endif $(objpfx)tst-nss-files-alias-leak.out: $(objpfx)/libnss_files.so $(objpfx)tst-nss-files-alias-truncated.out: $(objpfx)/libnss_files.so +CFLAGS-getnssent_r.c += -fno-strict-aliasing +CFLAGS-digits_dots.c += -fno-strict-aliasing + # Disable DT_RUNPATH on NSS tests so that the glibc internal NSS # functions can load testing NSS modules via DT_RPATH. LDFLAGS-tst-nss-test1 = -Wl,--disable-new-dtags diff -up glibc-2.36/posix/Makefile.37~ glibc-2.36/posix/Makefile --- glibc-2.36/posix/Makefile.37~ 2022-07-30 00:03:09.000000000 +0200 +++ glibc-2.36/posix/Makefile 2022-08-02 13:12:29.208993484 +0200 @@ -281,6 +281,13 @@ CFLAGS-execlp.os = -fomit-frame-pointer CFLAGS-nanosleep.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-fork.c = $(libio-mtsafe) +CFLAGS-glob.c += -fno-strict-aliasing +CFLAGS-glob-lstat-compat.c += -fno-strict-aliasing +CFLAGS-glob64.c += -fno-strict-aliasing +CFLAGS-glob64-lstat-compat.c += -fno-strict-aliasing +CFLAGS-oldglob.c += -fno-strict-aliasing +CFLAGS-getaddrinfo.c += -fno-strict-aliasing + tstgetopt-ARGS = -a -b -cfoobar --required foobar --optional=bazbug \ --none random --col --color --colour diff -up glibc-2.36/resolv/Makefile.37~ glibc-2.36/resolv/Makefile --- glibc-2.36/resolv/Makefile.37~ 2022-07-30 00:03:09.000000000 +0200 +++ glibc-2.36/resolv/Makefile 2022-08-02 13:12:29.208993484 +0200 @@ -216,6 +216,19 @@ include ../gen-locales.mk CFLAGS-res_hconf.c += -fexceptions +CFLAGS-gethstbyad_r.c += -fno-strict-aliasing +CFLAGS-res-close.c += -fno-strict-aliasing +CFLAGS-resolv_context.c += -fno-strict-aliasing +CFLAGS-resolv_conf.c += -fno-strict-aliasing +CFLAGS-res_mkquery.c += -fno-strict-aliasing +CFLAGS-res_query.c += -fno-strict-aliasing +CFLAGS-res_send.c += -fno-strict-aliasing +CFLAGS-compat-hnamaddr.c += -fno-strict-aliasing +CFLAGS-compat-gethnamaddr.c += -fno-strict-aliasing +CFLAGS-dns-host.c += -fno-strict-aliasing +CFLAGS-dns-network.c += -fno-strict-aliasing +CFLAGS-dns-canon.c += -fno-strict-aliasing + # The DNS NSS modules needs the resolver. $(objpfx)libnss_dns.so: $(objpfx)libresolv.so diff -up glibc-2.36/rt/Makefile.37~ glibc-2.36/rt/Makefile --- glibc-2.36/rt/Makefile.37~ 2022-08-02 13:12:29.115993511 +0200 +++ glibc-2.36/rt/Makefile 2022-08-02 13:12:29.208993484 +0200 @@ -100,6 +100,8 @@ CFLAGS-aio_suspend.c += -fexceptions CFLAGS-mq_timedreceive.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-mq_timedsend.c += -fexceptions -fasynchronous-unwind-tables +CFLAGS-timer_create.c += -fno-strict-aliasing + LDFLAGS-rt.so = -Wl,--enable-new-dtags,-z,nodelete $(objpfx)librt.so: $(shared-thread-library) diff -up glibc-2.36/setjmp/Makefile.37~ glibc-2.36/setjmp/Makefile --- glibc-2.36/setjmp/Makefile.37~ 2022-07-30 00:03:09.000000000 +0200 +++ glibc-2.36/setjmp/Makefile 2022-08-02 13:12:29.208993484 +0200 @@ -36,6 +36,10 @@ tests-internal := \ gen-as-const-headers += jmp_buf-macros.sym +CFLAGS-sigjmp.c += -fno-strict-aliasing +CFLAGS-longjmp.c += -fno-strict-aliasing +CFLAGS-longjmp_chk.c += -fno-strict-aliasing + include ../Rules $(objpfx)tst-setjmp-fp: $(libm) diff -up glibc-2.36/stdio-common/Makefile.37~ glibc-2.36/stdio-common/Makefile --- glibc-2.36/stdio-common/Makefile.37~ 2022-07-30 00:03:09.000000000 +0200 +++ glibc-2.36/stdio-common/Makefile 2022-08-02 13:12:29.209993484 +0200 @@ -350,6 +350,10 @@ $(objpfx)tst-errno-manual.out: tst-errno CFLAGS-vfprintf.c += -Wno-uninitialized CFLAGS-vfwprintf.c += -Wno-uninitialized +CFLAGS-vfscanf-internal.c += -fno-strict-aliasing +CFLAGS-vfwscanf-internal.c += -fno-strict-aliasing +CFLAGS-vfprintf-internal.c += -fno-strict-aliasing +CFLAGS-vfwprintf-internal.c += -fno-strict-aliasing CFLAGS-tmpfile.c += -fexceptions CFLAGS-tmpfile64.c += -fexceptions diff -up glibc-2.36/sunrpc/Makefile.37~ glibc-2.36/sunrpc/Makefile --- glibc-2.36/sunrpc/Makefile.37~ 2022-07-30 00:03:09.000000000 +0200 +++ glibc-2.36/sunrpc/Makefile 2022-08-02 13:12:29.209993484 +0200 @@ -97,6 +97,21 @@ CFLAGS-pmap_rmt.c += -fexceptions CFLAGS-clnt_perr.c += -fexceptions CFLAGS-openchild.c += -fexceptions +CFLAGS-authuxprot.c += -fno-strict-aliasing +CFLAGS-pmap_rmt.c += -fno-strict-aliasing +CFLAGS-rpc_prot.c += -fno-strict-aliasing +CFLAGS-rpc_cmsg.c += -fno-strict-aliasing +CFLAGS-authdes_prot.c += -fno-strict-aliasing +CFLAGS-rtime.c += -fno-strict-aliasing +CFLAGS-svcauth_des.c += -fno-strict-aliasing +CFLAGS-svc_unix.c += -fno-strict-aliasing +CFLAGS-auth_des.c += -fno-strict-aliasing +CFLAGS-clnt_udp.c += -fno-strict-aliasing +CFLAGS-key_call.c += -fno-strict-aliasing +CFLAGS-pm_getport.c += -fno-strict-aliasing +CFLAGS-svc_tcp.c += -fno-strict-aliasing +CFLAGS-svc_udp.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 -up glibc-2.36/support/Makefile.37~ glibc-2.36/support/Makefile --- glibc-2.36/support/Makefile.37~ 2022-07-30 00:03:09.000000000 +0200 +++ glibc-2.36/support/Makefile 2022-08-02 13:12:29.209993484 +0200 @@ -217,6 +217,8 @@ ifeq ($(build-shared),yes) libsupport-inhibit-o += .o endif +CFLAGS-resolv_test.c = -fno-strict-aliasing + CFLAGS-support_paths.c = \ -DSRCDIR_PATH=\"`cd .. ; pwd`\" \ -DOBJDIR_PATH=\"`cd $(objpfx)/..; pwd`\" \ diff -up glibc-2.36/sysdeps/powerpc/powerpc32/power4/multiarch/init-arch.h.37~ glibc-2.36/sysdeps/powerpc/powerpc32/power4/multiarch/init-arch.h --- glibc-2.36/sysdeps/powerpc/powerpc32/power4/multiarch/init-arch.h.37~ 2022-07-30 00:03:09.000000000 +0200 +++ glibc-2.36/sysdeps/powerpc/powerpc32/power4/multiarch/init-arch.h 2022-08-02 13:12:29.209993484 +0200 @@ -17,6 +17,8 @@ #include +#pragma GCC diagnostic ignored "-Wstrict-aliasing" + /* The code checks if _rtld_global_ro was realocated before trying to access the dl_hwcap field. The assembly is to make the compiler not optimize the test (&_rtld_global_ro != NULL), which is always true in ISO C (but not