simon-git: putty (master): Simon Tatham

Commits to Tartarus hosted VCS tartarus-commits at lists.tartarus.org
Wed Dec 20 10:25:31 GMT 2017


TL;DR:
  eef8cac osxlaunch: bodge to let me test-build on Linux.
  6b8cd49 osxlaunch: add diagnostics under an #ifdef.
  10e570c osxlaunch: fix some uninitialised pointers.
  8ec55ef osxlaunch: stop setting DYLD_LIBRARY_PATH.
  599bab8 Condition out AES-NI support if using a too-old clang.

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-12-20 10:25:31

commit eef8cac28e01333939f97524ed6346c503b6a6f0
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=eef8cac28e01333939f97524ed6346c503b6a6f0;hp=faef0ea679155e4ae2d921e4af3913f5dbc895a8
Author: Simon Tatham <anakin at pobox.com>
Date:   Wed Dec 20 09:53:02 2017 +0000

    osxlaunch: bodge to let me test-build on Linux.
    
    By default, the program still builds on Linux to a stub that just
    prints 'nothing to see here'. But if you compile with
    -DTEST_COMPILE_ON_LINUX, it compiles to a program that still doesn't
    do anything _actually_ useful, but goes through all the same motions
    that real osxlaunch would go through, until the final execv(2) fails
    because of course it's not _really_ living in an application bundle
    directory of the right shape.
    
    That allows me to run all the setup code under the debugging tools I'm
    most used to, in my preferred environment. (Same rationale as having
    puttyapp / ptermapp build for Linux too.)

 unix/osxlaunch.c | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

commit 6b8cd49aa7aa1643b58b57e13eec48410aa68e0f
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=6b8cd49aa7aa1643b58b57e13eec48410aa68e0f;hp=eef8cac28e01333939f97524ed6346c503b6a6f0
Author: Simon Tatham <anakin at pobox.com>
Date:   Wed Dec 20 09:54:40 2017 +0000

    osxlaunch: add diagnostics under an #ifdef.
    
    Now I can compile with -DDEBUG_OSXLAUNCH and see exactly what the
    program is doing, if I suspect it of misbehaviour.

 unix/osxlaunch.c | 44 +++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 39 insertions(+), 5 deletions(-)

commit 10e570cc797499e25777f0514fd047639d41fed4
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=10e570cc797499e25777f0514fd047639d41fed4;hp=6b8cd49aa7aa1643b58b57e13eec48410aa68e0f
Author: Simon Tatham <anakin at pobox.com>
Date:   Wed Dec 20 09:38:14 2017 +0000

    osxlaunch: fix some uninitialised pointers.
    
    I've been having intermittent segfaults in this launcher program, and
    by means of the new TEST_COMPILE_ON_LINUX facility introduced by
    commit eef8cac28, I ran it under valgrind which helpfully pointed out
    several pointers between linked-list nodes which I'd been relying on
    OS memory allocation to happen to have zeroed for me.

 unix/osxlaunch.c | 3 +++
 1 file changed, 3 insertions(+)

commit 8ec55ef25facc7c494bb4ebb7160c06a8d376d7d
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=8ec55ef25facc7c494bb4ebb7160c06a8d376d7d;hp=10e570cc797499e25777f0514fd047639d41fed4
Author: Simon Tatham <anakin at pobox.com>
Date:   Wed Dec 20 09:57:12 2017 +0000

    osxlaunch: stop setting DYLD_LIBRARY_PATH.
    
    It actually doesn't seem to be necessary: running 'otool -L' on the
    real binary in the application bundle (Pterm-bin or PuTTY-bin) lists a
    lot of paths starting with "@executable_path/../Resources/", which I
    take to mean that the application is already set up to automatically
    load the GTK shared libraries out of its own bundle directory, without
    me having to give it the extra hint of DYLD_LIBRARY_PATH.
    
    Moreover, I just got round to upgrading my Mac to High Sierra, and now
    the version of osxlaunch _with_ DYLD_LIBRARY_PATH is causing a crash
    at program load time, when the libpng in the MacOS system library
    directory tries to use the libz in the application bundle and finds
    that it doesn't provide an entry point it was expecting
    ('inflateValidate'). I could try to fix that by updating the libz
    version in my OS X PuTTY build environment, but that seems to me to
    set a precedent of running to keep up with any further dependencies
    the system libraries happen to acquire in later releases. Better to
    reset DYLD_LIBRARY_PATH so that the system libpng will load the system
    libz and not get confused in the first place.

 unix/osxlaunch.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 599bab84a1019ccd6228dcc5a8bf8b9a33a96452
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=599bab84a1019ccd6228dcc5a8bf8b9a33a96452;hp=8ec55ef25facc7c494bb4ebb7160c06a8d376d7d
Author: Simon Tatham <anakin at pobox.com>
Date:   Wed Dec 20 10:12:28 2017 +0000

    Condition out AES-NI support if using a too-old clang.
    
    A clang too old to have __attribute__((target)) will not manage to
    compile the clang-style hardware-accelerated functions, so it
    shouldn't try.

 sshaes.c | 8 ++++++++
 1 file changed, 8 insertions(+)



More information about the tartarus-commits mailing list