[SCM] The rsync repository. - branch master updated

Rsync CVS commit messages rsync-cvs at lists.samba.org
Thu Jun 18 23:40:43 UTC 2020


The branch, master has been updated
       via  7fd24bef Make SIMD enabled by default again (for x86_64)
       via  1a9a1841 Check extra rounding using an int64.
       via  4965ccf2 We need to use nawk or gawk on Solaris, not their weird awk.
       via  c6f89cbf Complain if we can't enable simd on non-x86_64.
      from  2921779c Fix clang check.

https://git.samba.org/?p=rsync.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 7fd24bef0fb5d3f7e07af433cfbdea0f00becdbc
Author: Wayne Davison <wayne at opencoder.net>
Date:   Thu Jun 18 16:27:05 2020 -0700

    Make SIMD enabled by default again (for x86_64)

commit 1a9a184145b93614389f227657e63c9e899e4dde
Author: Wayne Davison <wayne at opencoder.net>
Date:   Thu Jun 18 15:45:39 2020 -0700

    Check extra rounding using an int64.

commit 4965ccf283eee1aee04c004a133c71a7280816cc
Author: Wayne Davison <wayne at opencoder.net>
Date:   Thu Jun 18 14:53:51 2020 -0700

    We need to use nawk or gawk on Solaris, not their weird awk.

commit c6f89cbf9c2d163cb07e640e6b13002e5c98cb61
Author: Wayne Davison <wayne at opencoder.net>
Date:   Thu Jun 18 14:27:00 2020 -0700

    Complain if we can't enable simd on non-x86_64.

-----------------------------------------------------------------------

Summary of changes:
 .github/workflows/ccpp.yml |  2 +-
 Makefile.in                |  7 ++++---
 NEWS.md                    |  4 ++--
 configure.ac               | 11 ++++++++---
 rounding.c                 |  4 ++--
 5 files changed, 17 insertions(+), 11 deletions(-)


Changeset truncated at 500 lines:

diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml
index f42b09dd..0fca1602 100644
--- a/.github/workflows/ccpp.yml
+++ b/.github/workflows/ccpp.yml
@@ -18,7 +18,7 @@ jobs:
     - name: prepare-source
       run: ./prepare-source
     - name: configure
-      run: ./configure --with-included-popt --with-included-zlib --enable-simd
+      run: ./configure --with-included-popt --with-included-zlib
     - name: make
       run: make
     - name: version-summary
diff --git a/Makefile.in b/Makefile.in
index 91d9d4a9..17dae3a6 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -10,6 +10,7 @@ mandir=@mandir@
 
 LIBS=@LIBS@
 CC=@CC@
+AWK=@AWK@
 CFLAGS=@CFLAGS@
 CPPFLAGS=@CPPFLAGS@
 CXX=@CXX@
@@ -106,10 +107,10 @@ loadparm.o: default-dont-compress.h
 flist.o: rounding.h
 
 default-cvsignore.h default-dont-compress.h: rsync.1.md define-from-md.awk
-	awk -f $(srcdir)/define-from-md.awk -v hfile=$@ $(srcdir)/rsync.1.md
+	$(AWK) -f $(srcdir)/define-from-md.awk -v hfile=$@ $(srcdir)/rsync.1.md
 
 help-rsync.h help-rsyncd.h: rsync.1.md help-from-md.awk
-	awk -f $(srcdir)/help-from-md.awk -v hfile=$@ $(srcdir)/rsync.1.md
+	$(AWK) -f $(srcdir)/help-from-md.awk -v hfile=$@ $(srcdir)/rsync.1.md
 
 rounding.h: rounding.c rsync.h proto.h
 	@for r in 0 1 3; do \
@@ -225,7 +226,7 @@ proto.h: proto.h-tstamp
 	@if test -f proto.h; then :; else cp -p $(srcdir)/proto.h .; fi
 
 proto.h-tstamp: $(srcdir)/*.c $(srcdir)/lib/compat.c config.h
-	awk -f $(srcdir)/mkproto.awk $(srcdir)/*.c $(srcdir)/lib/compat.c
+	$(AWK) -f $(srcdir)/mkproto.awk $(srcdir)/*.c $(srcdir)/lib/compat.c
 
 .PHONY: man
 man: rsync.1 rsync-ssl.1 rsyncd.conf.5
diff --git a/NEWS.md b/NEWS.md
index f308460b..b4d7d13e 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -170,8 +170,8 @@ Protocol: 31 (unchanged)
    algorithms, extra checksum algorithms, and allow use of openssl's crypto
    lib for (potentially) faster MD4/MD5 checksums.
 
- - Add _build_ dependency for g++ on x86_64 systems **if** you want to enable
-   the SIMD checksum optimizations (via `configure --enable-simd`).
+ - Add _build_ dependency for g++ or clang++ on x86_64 systems to enable the
+   SIMD checksum optimizations.
 
  - Add _build_ dependency for _either_ python3-cmarkcfm or python3-commonmark
    to allow for patching of man pages or building a git release.  This is not
diff --git a/configure.ac b/configure.ac
index a590af44..3330eb90 100644
--- a/configure.ac
+++ b/configure.ac
@@ -42,6 +42,7 @@ dnl Checks for programs.
 AC_PROG_CC
 AC_PROG_CPP
 AC_PROG_CXX
+AC_PROG_AWK
 AC_PROG_EGREP
 AC_PROG_INSTALL
 AC_PROG_MKDIR_P
@@ -197,9 +198,9 @@ SIMD=
 
 AC_MSG_CHECKING([whether to enable SIMD optimizations])
 AC_ARG_ENABLE(simd,
-    AS_HELP_STRING([--enable-simd],[enable SIMD optimizations (requires c++)]))
+    AS_HELP_STRING([--disable-simd],[disable SIMD optimizations (requires c++)]))
 
-if test x"$enable_simd" = x"yes"; then
+if test x"$enable_simd" != x"no"; then
     # For x86-64 SIMD, g++ >=5 or clang++ >=7 is required
     if test x"$build_cpu" = x"x86_64"; then
 	if test x"$CXX" != x""; then
@@ -227,9 +228,13 @@ if test x"$enable_simd" = x"yes"; then
 	    else
 		AC_MSG_RESULT(error)
 		AC_MSG_ERROR([Failed to find g++ >=5 or clang++ >=7 for SIMD optimizations.
-Omit --enable-simd to continue without it. ($CXX, $CXX_VERSION)])
+Specify --disable-simd to continue without it. ($CXX, $CXX_VERSION)])
 	    fi
 	fi
+    elif test x"$enable_simd" = x"yes"; then
+        AC_MSG_RESULT(unavailable)
+        AC_MSG_ERROR(The SIMD optimizations are currently x86_64 only.
+Omit --enable-simd to continue without it.)
     fi
 fi
 
diff --git a/rounding.c b/rounding.c
index bf2ecd31..1bc353a8 100644
--- a/rounding.c
+++ b/rounding.c
@@ -24,11 +24,11 @@
 
 struct test {
 	union file_extras extras[ARRAY_LEN];
-	struct file_struct file;
+	int64 test;
 };
 
 #define ACTUAL_SIZE	SIZEOF(struct test)
-#define EXPECTED_SIZE	(SIZEOF(union file_extras) * ARRAY_LEN + SIZEOF(struct file_struct))
+#define EXPECTED_SIZE	(SIZEOF(union file_extras) * ARRAY_LEN + SIZEOF(int64))
 
  int main(UNUSED(int argc), UNUSED(char *argv[]))
 {


-- 
The rsync repository.



More information about the rsync-cvs mailing list