simon-git: putty (master): Simon Tatham

Commits to Tartarus hosted VCS tartarus-commits at lists.tartarus.org
Mon Mar 12 20:23:55 GMT 2018


TL;DR:
  5a38b29 Check whether compiler supports SHA-NI intrinsics
  59e2334 Add pointers to SHA1 and SHA256 implementation functions
  f51a5c9 Add supports_sha_ni(void) function
  cf875a0 Add SHA1 implementation with new instructions
  5d9d075 Add SHA256 implementation with new instructions
  f872551 Work around LLVM bug 34980

Repository:     https://git.tartarus.org/simon/putty.git
On the web:     https://git.tartarus.org/?p=simon/putty.git
Branch updated: master
Committer:      Simon Tatham <anakin at pobox.com>
Date:           2018-03-12 20:23:55

commit 5a38b293bdf99b1153d0bcd11e970a333d39920b
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=5a38b293bdf99b1153d0bcd11e970a333d39920b;hp=b2b8f6c3d4dc46caa0ef1109ebd7c1e9905f37b9
Author: Pavel I. Kryukov <kryukov at frtk.ru>
Date:   Sun Feb 11 13:27:39 2018 +0300

    Check whether compiler supports SHA-NI intrinsics
    
    SHA intrinsics are available in Clang >=3.8, GCC >=5, and MSVC >=14,
    so if supported compiler is used, COMPILER_SUPPORTS_SHA_NI macro
    becomes defined

 ssh.h | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

commit 59e2334029d23bbe08dcbfd18bb7772ed5916d48
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=59e2334029d23bbe08dcbfd18bb7772ed5916d48;hp=5a38b293bdf99b1153d0bcd11e970a333d39920b
Author: Pavel I. Kryukov <kryukov at frtk.ru>
Date:   Sun Feb 11 13:40:24 2018 +0300

    Add pointers to SHA1 and SHA256 implementation functions
    
    These pointers will be required in next commits
    where subroutines with new instructions are introduced.
    Depending on CPUID dynamic check, pointers will refer to old
    SW-only implementations or to new instructions subroutines

 ssh.h      |  6 ++++--
 sshsh256.c | 11 +++++++++--
 sshsha.c   | 12 ++++++++++--
 3 files changed, 23 insertions(+), 6 deletions(-)

commit f51a5c9235bbf9a8c3670278a6d8bbf2147e43b8
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=f51a5c9235bbf9a8c3670278a6d8bbf2147e43b8;hp=59e2334029d23bbe08dcbfd18bb7772ed5916d48
Author: Pavel I. Kryukov <kryukov at frtk.ru>
Date:   Mon Feb 19 00:06:14 2018 +0300

    Add supports_sha_ni(void) function
    
    It executes CPUID instruction to check whether
    SHA extensions are supported by hosting CPU.

 ssh.h    |  2 ++
 sshsha.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 51 insertions(+)

commit cf875a0f563bbbcf427da793abf263203f46a59e
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=cf875a0f563bbbcf427da793abf263203f46a59e;hp=f51a5c9235bbf9a8c3670278a6d8bbf2147e43b8
Author: Pavel I. Kryukov <kryukov at frtk.ru>
Date:   Mon Feb 19 00:07:06 2018 +0300

    Add SHA1 implementation with new instructions
    
    SHA1-NI code is conditionally enabled if CPU supports SHA extensions.
    The procedure is based on Jeffrey Walton's SHA1 implementation:
    https://github.com/noloader/SHA-Intrinsics

 sshsha.c | 230 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 229 insertions(+), 1 deletion(-)

commit 5d9d075aac141c68cf0fdfa3c2d1fc910559b56b
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=5d9d075aac141c68cf0fdfa3c2d1fc910559b56b;hp=cf875a0f563bbbcf427da793abf263203f46a59e
Author: Pavel I. Kryukov <kryukov at frtk.ru>
Date:   Mon Feb 19 00:07:06 2018 +0300

    Add SHA256 implementation with new instructions
    
    SHA256-NI code is conditionally enabled if CPU supports SHA extensions.
    The procedure is based on Jeffrey Walton's SHA256 implementation:
    https://github.com/noloader/SHA-Intrinsics

 sshsh256.c | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 251 insertions(+), 1 deletion(-)

commit f872551cd8cfb4f8eb4b05ad8b2a8fbfd979343a
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=f872551cd8cfb4f8eb4b05ad8b2a8fbfd979343a;hp=5d9d075aac141c68cf0fdfa3c2d1fc910559b56b
Author: Pavel I. Kryukov <kryukov at frtk.ru>
Date:   Sun Feb 18 16:48:44 2018 +0300

    Work around LLVM bug 34980
    
    Clang generates an internal failure if the same function
    has different target attributes in definition and declaration.
    To work around that, we made a proxy predeclared function
    without target attribute.

 sshsh256.c | 10 +++++++++-
 sshsha.c   | 10 +++++++++-
 2 files changed, 18 insertions(+), 2 deletions(-)



More information about the tartarus-commits mailing list