Revert "Revert "Merge to upstream r304942.""

This reverts commit 38a0d5af7e5d13553fe623053e05dffc06403280.

Test: make checkbuild
Test: ./run_tests.py
Test: ./run_tests.py --bitness 64
1121 files changed