Wayne Davison [Sun, 28 Jun 2020 22:21:43 +0000 (15:21 -0700)]
Improve the per-branch build dir support
The release script & the patch management script now require the use of
an auto-build-save dir that makes it much easier to keep the generated
files from melding together, and remembers the configure setup for each
patch branch.
Wayne Davison [Sun, 28 Jun 2020 20:22:15 +0000 (13:22 -0700)]
Improve alternate build-dir support
We now put the configure.sh, config.h.in, and aclocal.m4 files in the
alternate build dir along with the other generated files. This requires
that we create symlinks for configure.ac & m4 in the build dir, which is
handled on the first run of configure or prepare-source. I also changed
the patch-branch handling away from the .gen-stash dir to an automatic
build/$PATCH subdir idiom that will keep each branch's configuration
separated. These automatic build dirs are only used when there is a
.git dir, a build/master dir, and no top-dir Makefile. You'll also
want to have package/make early on your path for optimal ease of use.
Wayne Davison [Fri, 26 Jun 2020 02:59:19 +0000 (19:59 -0700)]
Some memory allocation improvements
- All the memory-allocation macros now auto-check for failure and exit
with a failure message that incudes the caller's file and lineno
info. This includes strdup().
- Added the `--max-alloc=SIZE` option to be able to override the memory
allocator's sanity-check limit. It defaults to 1G (as before).
Fixes bugzilla bug 12769.
Wayne Davison [Wed, 24 Jun 2020 02:14:11 +0000 (19:14 -0700)]
Avoid negotiating a "none" choice by default
The client does not pass "none" as a negotiation choice unless it's from
the user's environment list. The server still passes the "none" value
to the client unless its environment var excludes it.
Wayne Davison [Wed, 24 Jun 2020 00:19:58 +0000 (17:19 -0700)]
Improve how the env restricts negotiated strings
- The env on the server side now affects the negotiated strings
that are sent to the client.
- A too-old remote rsync gets a default negotiated string value
so that an env restriction now handles old clients the same way
as new ones.
Hiroshi Takekawa [Tue, 23 Jun 2020 10:17:53 +0000 (19:17 +0900)]
Makefile.in: Use srcdir for installing rsync-ssl
When building out of source tree, we can't find rsync-ssl in the current
directory and installation fails. Fix it by using the srcdir variable for the
path to rsync-ssl.
Wayne Davison [Sun, 21 Jun 2020 01:21:27 +0000 (18:21 -0700)]
More asm improvements
- Only use the asm code if we're on x86_64.
- More changes to decouple asm from simd.
- Check if the -Wa,--noexecstack option works.
- Support --disable-asm configure option.
Wayne Davison [Sat, 20 Jun 2020 15:44:04 +0000 (08:44 -0700)]
Fix conditional directives in the asm file
- Switch .s -> .S to enable the preprocessor.
- Move some defines from mdigest.h to md-defines.h.
- Tweak the asm file to use md-defines.h.
- Add a couple missing .h dependencies in the Makefile.
Caleb Xu [Sat, 20 Jun 2020 04:12:15 +0000 (00:12 -0400)]
lib/md5-asm-x86_64.s: fix build with Apple Clang
The Mach-O x86-64 model doesn't seem to support ".type" and
".size" directives in assembly. Add ifdefs that should allow for
the file to build without issues in Apple Clang.