? ID ? difz ? odifz ? bin/ksh/siglist.out.gcc53 ? external/gpl3/gcc/ID ? external/gpl3/gcc/difz ? external/gpl3/gcc/odifz ? external/gpl3/gcc/dist/nbsd.diff ? external/gpl3/gcc/usr.bin/gcc/arch/i386/insn-modes.h ? external/gpl3/gcc/usr.bin/gcc/arch/sparc/insn-modes.h ? external/gpl3/gcc/usr.bin/gcc/arch/sparc64/insn-modes.h ? external/gpl3/gcc/usr.bin/gcc/arch/x86_64/insn-modes.h ? tools/gcc/UPDATE-5.3.txt Index: bin/csh/Makefile =================================================================== RCS file: /cvsroot/src/bin/csh/Makefile,v retrieving revision 1.41 diff -p -u -u -r1.41 Makefile --- bin/csh/Makefile 5 Jul 2014 23:12:33 -0000 1.41 +++ bin/csh/Makefile 16 Mar 2016 22:05:39 -0000 @@ -66,5 +66,10 @@ LDADD+=-lutil DPADD+=${LIBUTIL} .endif +# XXXGCC5 +.if defined(HAVE_GCC) && ${HAVE_GCC} == 53 && ${ACTIVE_CC} == "gcc" +COPTS.exec.c+= -Wno-error=conversion +.endif + .include .include Index: bin/ksh/Makefile =================================================================== RCS file: /cvsroot/src/bin/ksh/Makefile,v retrieving revision 1.31 diff -p -u -u -r1.31 Makefile --- bin/ksh/Makefile 29 Jan 2015 20:46:31 -0000 1.31 +++ bin/ksh/Makefile 16 Mar 2016 22:05:39 -0000 @@ -27,11 +27,21 @@ SCRIPT_ENV= \ CLEANFILES+= siglist.out siglist.out.tmp # two steps to prevent the creation of a bogus siglist.out +.if !defined(HAVE_GCC) || ${HAVE_GCC} == "no" siglist.out: config.h sh.h siglist.in siglist.sh ${_MKTARGET_CREATE} ${SCRIPT_ENV} \ ${HOST_SH} $(.CURDIR)/siglist.sh "$(CC) -E $(CPPFLAGS) $(DEFS) -I. -I$(.CURDIR)" < $(.CURDIR)/siglist.in > siglist.out.tmp \ && mv siglist.out.tmp siglist.out +.else +# XXXGCC5 +# the awk script depends upon output being in the same line, but +# GCC 5 will put the same line in multiple outputs so it can mark +# individual parts of the line differently (for error messages and +# debug info.) +siglist.out: siglist.out.gcc53 + cp -f ${.CURDIR}/siglist.out.gcc53 siglist.out +.endif # two steps to prevent the creation of a bogus emacs.out CLEANFILES+= emacs.out emacs.out.tmp Index: bin/sh/Makefile =================================================================== RCS file: /cvsroot/src/bin/sh/Makefile,v retrieving revision 1.102 diff -p -u -u -r1.102 Makefile --- bin/sh/Makefile 27 Feb 2016 18:34:12 -0000 1.102 +++ bin/sh/Makefile 16 Mar 2016 22:05:39 -0000 @@ -89,5 +89,12 @@ SUBDIR+=USD.doc COPTS.printf.c = -Wno-format-nonliteral COPTS.jobs.c = -Wno-format-nonliteral +# XXXGCC5 +.if defined(HAVE_GCC) && ${HAVE_GCC} == 53 && ${ACTIVE_CC} == "gcc" +CWARNFLAGS+= -Wno-error=unused-value +COPTS.histedit.c+= -Wno-error=clobbered +COPTS.parser.c+= -Wno-error=clobbered +.endif + .include .include Index: external/bsd/cron/bin/cron/Makefile =================================================================== RCS file: /cvsroot/src/external/bsd/cron/bin/cron/Makefile,v retrieving revision 1.3 diff -p -u -u -r1.3 Makefile --- external/bsd/cron/bin/cron/Makefile 22 Jun 2012 20:32:34 -0000 1.3 +++ external/bsd/cron/bin/cron/Makefile 16 Mar 2016 22:05:41 -0000 @@ -10,4 +10,10 @@ MAN= cron.8 CWARNFLAGS.clang+= -Wno-string-plus-int +# XXXGCC5 +.include +.if defined(HAVE_GCC) && ${HAVE_GCC} == 53 && ${ACTIVE_CC} == "gcc" +COPTS.entry.c+= -Wno-error=conversion +.endif + .include Index: external/bsd/cron/bin/crontab/Makefile =================================================================== RCS file: /cvsroot/src/external/bsd/cron/bin/crontab/Makefile,v retrieving revision 1.2 diff -p -u -u -r1.2 Makefile --- external/bsd/cron/bin/crontab/Makefile 7 May 2010 21:54:07 -0000 1.2 +++ external/bsd/cron/bin/crontab/Makefile 16 Mar 2016 22:05:41 -0000 @@ -11,4 +11,9 @@ BINMODE=4555 BINDIR=/usr/bin MAN= crontab.1 crontab.5 +# XXXGCC5 +.if defined(HAVE_GCC) && ${HAVE_GCC} == 53 && ${ACTIVE_CC} == "gcc" +COPTS.entry.c+= -Wno-error=conversion +.endif + .include Index: external/bsd/dhcpcd/sbin/dhcpcd/Makefile =================================================================== RCS file: /cvsroot/src/external/bsd/dhcpcd/sbin/dhcpcd/Makefile,v retrieving revision 1.28 diff -p -u -u -r1.28 Makefile --- external/bsd/dhcpcd/sbin/dhcpcd/Makefile 7 Jan 2016 22:07:18 -0000 1.28 +++ external/bsd/dhcpcd/sbin/dhcpcd/Makefile 16 Mar 2016 22:05:41 -0000 @@ -72,4 +72,9 @@ ${f}: ${f}.in ${DIST}/${f}.in > $@ .endfor +# XXXGCC5 +.if defined(HAVE_GCC) && ${HAVE_GCC} == 53 && ${ACTIVE_CC} == "gcc" +COPTS.if-bsd.c+= -Wno-error=sign-conversion +.endif + .include Index: external/bsd/nvi/usr.bin/nvi/Makefile =================================================================== RCS file: /cvsroot/src/external/bsd/nvi/usr.bin/nvi/Makefile,v retrieving revision 1.7 diff -p -u -u -r1.7 Makefile --- external/bsd/nvi/usr.bin/nvi/Makefile 28 Nov 2015 13:20:03 -0000 1.7 +++ external/bsd/nvi/usr.bin/nvi/Makefile 16 Mar 2016 22:05:44 -0000 @@ -117,4 +117,9 @@ WARNS= 4 COPTS.exf.c += -Wno-format-nonliteral COPTS.msg.c += -Wno-format-nonliteral +# XXXGCC5 +.if defined(HAVE_GCC) && ${HAVE_GCC} == 53 && ${ACTIVE_CC} == "gcc" +COPTS.ex_map.c+= -Wno-error=switch +.endif + .include Index: external/gpl3/gcc/dist/libgcc/config/i386/cpuinfo.c =================================================================== RCS file: /cvsroot/src/external/gpl3/gcc/dist/libgcc/config/i386/cpuinfo.c,v retrieving revision 1.1.1.2 diff -p -u -u -r1.1.1.2 cpuinfo.c --- external/gpl3/gcc/dist/libgcc/config/i386/cpuinfo.c 24 Jan 2016 06:06:00 -0000 1.1.1.2 +++ external/gpl3/gcc/dist/libgcc/config/i386/cpuinfo.c 16 Mar 2016 22:05:46 -0000 @@ -23,7 +23,7 @@ a copy of the GCC Runtime Library Except see the files COPYING3 and COPYING.RUNTIME respectively. If not, see . */ -#include "cpuid.h" +#include "config/i386/cpuid.h" #include "tsystem.h" #include "auto-target.h" Index: include/stddef.h =================================================================== RCS file: /cvsroot/src/include/stddef.h,v retrieving revision 1.17 diff -p -u -u -r1.17 stddef.h --- include/stddef.h 12 Dec 2013 17:53:03 -0000 1.17 +++ include/stddef.h 16 Mar 2016 22:05:48 -0000 @@ -66,5 +66,11 @@ typedef _BSD_WCHAR_T_ wchar_t; #define offsetof(type, member) __offsetof__((reinterpret_cast \ (&reinterpret_cast(static_cast(0)->member)))) #endif + +typedef union { + char *_c; + long double _ld; + long long int _ll; +} max_align_t; #endif /* _STDDEF_H_ */ Index: lib/Makefile =================================================================== RCS file: /cvsroot/src/lib/Makefile,v retrieving revision 1.240 diff -p -u -u -r1.240 Makefile --- lib/Makefile 29 Feb 2016 20:59:35 -0000 1.240 +++ lib/Makefile 16 Mar 2016 22:05:48 -0000 @@ -171,9 +171,11 @@ SUBDIR+= ../external/gpl3/${EXTERNAL_GCC SUBDIR+= .WAIT SANITIZER_DIR=../external/gpl3/${EXTERNAL_GCC_SUBDIR}/lib/libasan +.if !defined(HAVE_GCC) || ${HAVE_GCC} != 53 .if exists(${SANITIZER_DIR}) SUBDIR+= ${SANITIZER_DIR} .endif +.endif SUBDIR+= ../external/bsd/libarchive/lib # depends on libxz Index: lib/libwrap/Makefile =================================================================== RCS file: /cvsroot/src/lib/libwrap/Makefile,v retrieving revision 1.10 diff -p -u -u -r1.10 Makefile --- lib/libwrap/Makefile 28 May 2007 12:06:22 -0000 1.10 +++ lib/libwrap/Makefile 16 Mar 2016 22:05:48 -0000 @@ -19,4 +19,10 @@ INCSDIR=/usr/include .include "Makefile.cflags" +# XXXGCC5 +.include +.if defined(HAVE_GCC) && ${HAVE_GCC} == 53 && ${ACTIVE_CC} == "gcc" +COPTS.rfc931.c+= -Wno-error=clobbered +.endif + .include Index: libexec/ftpd/Makefile =================================================================== RCS file: /cvsroot/src/libexec/ftpd/Makefile,v retrieving revision 1.64 diff -p -u -u -r1.64 Makefile --- libexec/ftpd/Makefile 25 Jan 2015 15:53:49 -0000 1.64 +++ libexec/ftpd/Makefile 16 Mar 2016 22:05:48 -0000 @@ -55,4 +55,9 @@ ftpd.o ftpcmd.o: version.h # #.endif +# XXXGCC5 +.if defined(HAVE_GCC) && ${HAVE_GCC} == 53 && ${ACTIVE_CC} == "gcc" +COPTS.popen.c+= -Wno-error=clobbered +.endif + .include Index: libexec/getty/Makefile =================================================================== RCS file: /cvsroot/src/libexec/getty/Makefile,v retrieving revision 1.20 diff -p -u -u -r1.20 Makefile --- libexec/getty/Makefile 11 Aug 2013 05:42:41 -0000 1.20 +++ libexec/getty/Makefile 16 Mar 2016 22:05:48 -0000 @@ -7,4 +7,10 @@ DPADD+= ${LIBUTIL} ${LIBTERMINFO} LDADD+= -lutil -lterminfo MAN= getty.8 gettytab.5 ttys.5 +# XXXGCC5 +.include +.if defined(HAVE_GCC) && ${HAVE_GCC} == 53 && ${ACTIVE_CC} == "gcc" +COPTS.main.c+= -Wno-error=clobbered +.endif + .include Index: libexec/lfs_cleanerd/lfs_cleanerd.c =================================================================== RCS file: /cvsroot/src/libexec/lfs_cleanerd/lfs_cleanerd.c,v retrieving revision 1.57 diff -p -u -u -r1.57 lfs_cleanerd.c --- libexec/lfs_cleanerd/lfs_cleanerd.c 16 Mar 2016 18:58:34 -0000 1.57 +++ libexec/lfs_cleanerd/lfs_cleanerd.c 16 Mar 2016 22:05:48 -0000 @@ -1284,8 +1284,23 @@ needs_cleaning(struct clfs *fs, CLEANERI double loadavg; /* If this fs is "on hold", don't clean it. */ - if (fs->clfs_onhold) + if (fs->clfs_onhold) { +#if defined(__GNUC__) && \ + (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)) && \ + defined(__OPTIMIZE_SIZE__) + /* + * XXX: Work around apparent bug with GCC >= 4.8 and -Os: it + * claims that ci.clean is uninitialized in clean_fs (at one + * of the several uses of it, which is neither the first nor + * last use) -- this doesn't happen with plain -O2. + * + * Hopefully in the future further rearrangements will allow + * removing this hack. + */ + cip->clean = 0; +#endif return 0; + } /* * Read the cleanerinfo block from the Ifile. We don't want @@ -1453,21 +1468,6 @@ lfs_cleaner_main(int argc, char **argv) char *cp, *pidname; #endif -#if defined(__GNUC__) && \ - (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)) && \ - defined(__OPTIMIZE_SIZE__) - /* - * XXX: Work around apparent bug with GCC >= 4.8 and -Os: it - * claims that ci.clean is uninitialized in clean_fs (at one - * of the several uses of it, which is neither the first nor - * last use) -- this doesn't happen with plain -O2. - * - * Hopefully in the future further rearrangements will allow - * removing this hack. - */ - ci.clean = 0; -#endif - /* * Set up defaults */ Index: sbin/resize_ffs/resize_ffs.c =================================================================== RCS file: /cvsroot/src/sbin/resize_ffs/resize_ffs.c,v retrieving revision 1.44 diff -p -u -u -r1.44 resize_ffs.c --- sbin/resize_ffs/resize_ffs.c 6 Apr 2015 22:44:04 -0000 1.44 +++ sbin/resize_ffs/resize_ffs.c 16 Mar 2016 22:05:48 -0000 @@ -1262,18 +1262,24 @@ loadinodes(void) if (is_ufs2) { if (needswap) { ffs_dinode2_swap(&(dp2[i]), &(dp2[i])); - for (j = 0; j < UFS_NDADDR + UFS_NIADDR; j++) + for (j = 0; j < UFS_NDADDR; j++) dp2[i].di_db[j] = bswap32(dp2[i].di_db[j]); + for (j = 0; j < UFS_NIADDR; j++) + dp2[i].di_ib[j] = + bswap32(dp2[i].di_ib[j]); } memcpy(&inodes[ino].dp2, &dp2[i], sizeof(inodes[ino].dp2)); } else { if (needswap) { ffs_dinode1_swap(&(dp1[i]), &(dp1[i])); - for (j = 0; j < UFS_NDADDR + UFS_NIADDR; j++) + for (j = 0; j < UFS_NIADDR; j++) dp1[i].di_db[j] = bswap32(dp1[i].di_db[j]); + for (j = 0; j < UFS_NIADDR; j++) + dp1[i].di_ib[j] = + bswap32(dp1[i].di_ib[j]); } memcpy(&inodes[ino].dp1, &dp1[i], sizeof(inodes[ino].dp1)); @@ -1555,11 +1561,10 @@ inomove_init(void) static void flush_inodes(void) { - int i, j, k, na, ni, m; + int i, j, k, ni, m; struct ufs1_dinode *dp1 = NULL; struct ufs2_dinode *dp2 = NULL; - na = UFS_NDADDR + UFS_NIADDR; ni = newsb->fs_ipg * newsb->fs_ncg; m = FFS_INOPB(newsb) - 1; for (i = 0; i < ni; i++) { @@ -1575,33 +1580,39 @@ flush_inodes(void) dp1 = (struct ufs1_dinode *)ibuf; for (i = 0; i < ni; i += m) { - if (iflags[i] & IF_BDIRTY) { - if (is_ufs2) - for (j = 0; j < m; j++) { - dp2[j] = inodes[i + j].dp2; - if (needswap) { - for (k = 0; k < na; k++) - dp2[j].di_db[k]= - bswap32(dp2[j].di_db[k]); - ffs_dinode2_swap(&dp2[j], - &dp2[j]); - } + if ((iflags[i] & IF_BDIRTY) == 0) + continue; + if (is_ufs2) + for (j = 0; j < m; j++) { + dp2[j] = inodes[i + j].dp2; + if (needswap) { + for (k = 0; k < UFS_NDADDR; k++) + dp2[j].di_db[k] = + bswap32(dp2[j].di_db[k]); + for (k = 0; k < UFS_NIADDR; k++) + dp2[j].di_ib[k] = + bswap32(dp2[j].di_ib[k]); + ffs_dinode2_swap(&dp2[j], + &dp2[j]); } - else - for (j = 0; j < m; j++) { - dp1[j] = inodes[i + j].dp1; - if (needswap) { - for (k = 0; k < na; k++) - dp1[j].di_db[k]= - bswap32(dp1[j].di_db[k]); - ffs_dinode1_swap(&dp1[j], - &dp1[j]); - } + } + else + for (j = 0; j < m; j++) { + dp1[j] = inodes[i + j].dp1; + if (needswap) { + for (k = 0; k < UFS_NDADDR; k++) + dp1[j].di_db[k]= + bswap32(dp1[j].di_db[k]); + for (k = 0; k < UFS_NIADDR; k++) + dp1[j].di_ib[k]= + bswap32(dp1[j].di_ib[k]); + ffs_dinode1_swap(&dp1[j], + &dp1[j]); } + } - writeat(FFS_FSBTODB(newsb, ino_to_fsba(newsb, i)), - ibuf, newsb->fs_bsize); - } + writeat(FFS_FSBTODB(newsb, ino_to_fsba(newsb, i)), + ibuf, newsb->fs_bsize); } } /* Index: share/mk/sys.mk =================================================================== RCS file: /cvsroot/src/share/mk/sys.mk,v retrieving revision 1.128 diff -p -u -u -r1.128 sys.mk --- share/mk/sys.mk 6 Jul 2015 00:21:51 -0000 1.128 +++ share/mk/sys.mk 16 Mar 2016 22:05:48 -0000 @@ -40,6 +40,10 @@ DBG?= -O1 -fgcse -fstrength-reduce -fgcs DBG?= -O2 .endif CFLAGS?= ${DBG} +# XXXGCC5 +#.if defined(HAVE_GCC) && ${HAVE_GCC} == 53 && ${ACTIVE_CC} == "gcc" +CFLAGS+= -fno-delete-null-pointer-checks +#.endif LDFLAGS?= COMPILE.c?= ${CC} ${CFLAGS} ${CPPFLAGS} -c LINK.c?= ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} Index: sys/conf/Makefile.kern.inc =================================================================== RCS file: /cvsroot/src/sys/conf/Makefile.kern.inc,v retrieving revision 1.249 diff -p -u -u -r1.249 Makefile.kern.inc --- sys/conf/Makefile.kern.inc 27 Nov 2015 20:59:47 -0000 1.249 +++ sys/conf/Makefile.kern.inc 16 Mar 2016 22:05:49 -0000 @@ -104,6 +104,11 @@ CFLAGS+= -fno-strict-aliasing CFLAGS+= -fno-common .endif +# XXXGCC5 +.if defined(HAVE_GCC) && ${HAVE_GCC} == 53 && ${ACTIVE_CC} == "gcc" +CFLAGS+= -fno-delete-null-pointer-checks +.endif + # Use the per-source COPTS variables to add -g to just those # files that match the shell patterns given in ${DEBUGLIST} # Index: usr.bin/config/Makefile =================================================================== RCS file: /cvsroot/src/usr.bin/config/Makefile,v retrieving revision 1.10 diff -p -u -u -r1.10 Makefile --- usr.bin/config/Makefile 29 Oct 2014 19:10:49 -0000 1.10 +++ usr.bin/config/Makefile 16 Mar 2016 22:05:50 -0000 @@ -24,4 +24,10 @@ DPADD+=${LIBUTIL} CWARNFLAGS+=-Wno-format-y2k +# XXXGCC5 +.if defined(HAVE_GCC) && ${HAVE_GCC} == 53 && ${ACTIVE_CC} == "gcc" +COPTS.scan.c+= -Wno-error=conversion +COPTS.sem.c+= -Wno-error=sign-conversion +.endif + .include