simon-git: putty (master): Simon Tatham

Commits to Tartarus hosted VCS tartarus-commits at lists.tartarus.org
Thu May 25 08:29:46 BST 2017


TL;DR:
  8d2755c Under clang-cl, include stdint.h regardless of _MSC_VER.
  f02587f Makefile.clangcl: provide a way to tell lld-link about crt0.obj.
  eda5364 Use / in pathnames in the Wix installer source.

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:           2017-05-25 08:29:46

commit 8d2755c55f9d8b854ef9051937ececb23c5a4b23
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=8d2755c55f9d8b854ef9051937ececb23c5a4b23;hp=2e66a0d2601cd4275f039a7cc82c41e4add19f7f
Author: Simon Tatham <anakin at pobox.com>
Date:   Thu May 25 08:17:42 2017 +0100

    Under clang-cl, include stdint.h regardless of _MSC_VER.
    
    stdint.h is one of the set of standard C headers that has more to do
    with the compiler than the library, and hence, clang provides its own
    version of it, even when you're using it in clang-cl mode with Visual
    Studio headers, and even when those headers are old enough not to have
    a stdint.h of their own. So in clang builds, including stdint.h is
    always the right way to get uintptr_t defined.

 windows/winstuff.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit f02587f7ac4f47982bf97674f5499dd3b6dede4b
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=f02587f7ac4f47982bf97674f5499dd3b6dede4b;hp=8d2755c55f9d8b854ef9051937ececb23c5a4b23
Author: Simon Tatham <anakin at pobox.com>
Date:   Thu May 25 08:21:19 2017 +0100

    Makefile.clangcl: provide a way to tell lld-link about crt0.obj.
    
    I've been experimenting with using clang-cl with older versions of the
    Visual Studio libraries and headers, and found that the older VS
    libraries have a quirk which can cause link failure in a way that
    doesn't happen with the newer one. I assume the corresponding old VS
    linker must be doing some kind of special-case handling that lld isn't
    mimicking.
    
    The quirk arises because lld tries to pull in more than one of the
    *crt0.obj startup objects which set things up before calling main or
    WinMain (or whatever), and those objects define some of the same
    symbols as each other. The fix is to explicitly ask for the right one
    of those objects on the link command line, so that it's already been
    loaded _before_ the linker starts searching libraries for unresolved
    symbols; then the disputed symbols are never unresolved in the first
    place during the library search phase.
    
    But this means you have to pick your crt0 object differently depending
    on which subsystem you're compiling for. Accordingly, here's an extra
    feature in Makefile.clangcl to make that possible by means of the
    right definitions on the make command line.

 mkfiles.pl | 28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

commit eda5364eb476d4771e1f5a35ff81f50b4e309135
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=eda5364eb476d4771e1f5a35ff81f50b4e309135;hp=f02587f7ac4f47982bf97674f5499dd3b6dede4b
Author: Simon Tatham <anakin at pobox.com>
Date:   Thu May 25 08:22:22 2017 +0100

    Use / in pathnames in the Wix installer source.
    
    I've also been experimenting recently with running Wix on Linux under
    Mono, rather than running it on Windows in the obvious way. Wix under
    Mono insists on forward slashes in pathnames, and it turns out that
    Wix on Windows doesn't object to them either, so I can safely change
    them over unconditionally and then my installer source will work in
    both modes.

 windows/installer.wxs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)



More information about the tartarus-commits mailing list