diff options
author | Dan Theisen <djt@hxx.in> | 2018-10-05 03:31:54 -0700 |
---|---|---|
committer | Dan Theisen <djt@hxx.in> | 2018-10-05 03:31:54 -0700 |
commit | a44eef15707f9574118c93bca1bf87ae0ae0f150 (patch) | |
tree | 3711c2a443b8cb8479092eadb28b0c0e2074be2a /user/mosh/fix-ppc64le-build-with-musl.patch | |
parent | 2ba6865311296c8ed0aa7ffde55c12737ef0abf4 (diff) | |
download | packages-a44eef15707f9574118c93bca1bf87ae0ae0f150.tar.gz packages-a44eef15707f9574118c93bca1bf87ae0ae0f150.tar.bz2 packages-a44eef15707f9574118c93bca1bf87ae0ae0f150.tar.xz packages-a44eef15707f9574118c93bca1bf87ae0ae0f150.zip |
user/mosh: new package
Diffstat (limited to 'user/mosh/fix-ppc64le-build-with-musl.patch')
-rw-r--r-- | user/mosh/fix-ppc64le-build-with-musl.patch | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/user/mosh/fix-ppc64le-build-with-musl.patch b/user/mosh/fix-ppc64le-build-with-musl.patch new file mode 100644 index 000000000..8d918a963 --- /dev/null +++ b/user/mosh/fix-ppc64le-build-with-musl.patch @@ -0,0 +1,53 @@ +From: Roberto Oliveira <robertoguimaraes8@gmail.com> +Date: Tue, 4 Apr 2017 16:46:50 +0000 +Subject: [PATCH] Fix build with musl on ppc64le + +mosh was breaking when building in ppc64le using musl, because ioctl() is defined +as ioctl(int, int) in musl and mosh is using TIOCSWINSZ macro as parameter. This was +triggering a gcc warning and make the build fail. + +This patch does an explicit integer conversion in TIOCSWINSZ, as no bits get +lost. + +--- a/src/frontend/mosh-server.cc ++++ b/src/frontend/mosh-server.cc +@@ -714,7 +714,12 @@ + } + window_size.ws_col = res->width; + window_size.ws_row = res->height; +- if ( ioctl( host_fd, TIOCSWINSZ, &window_size ) < 0 ) { ++ ++ #if defined(__powerpc64__) && (!defined(__GLIBC__) && !defined(__UCLIBC__)) ++ if ( ioctl( host_fd, (int) TIOCSWINSZ, &window_size ) < 0 ) { ++ #else ++ if ( ioctl( host_fd, TIOCSWINSZ, &window_size ) < 0 ) { ++ #endif + perror( "ioctl TIOCSWINSZ" ); + network.start_shutdown(); + } +--- a/src/examples/termemu.cc ++++ a/src/examples/termemu.cc +@@ -226,7 +226,11 @@ + } + + /* tell child process */ ++ #if defined(__powerpc64__) && (!defined(__GLIBC__) && !defined(__UCLIBC__)) ++ if ( ioctl( fd, (int) TIOCSWINSZ, &window_size ) < 0 ) { ++ #else + if ( ioctl( fd, TIOCSWINSZ, &window_size ) < 0 ) { ++ #endif + perror( "ioctl TIOCSWINSZ" ); + return; + } +@@ -306,7 +310,11 @@ + complete.act( &r ); + + /* tell child process */ ++ #if defined(__powerpc64__) && (!defined(__GLIBC__) && !defined(__UCLIBC__)) ++ if ( ioctl( fd, (int) TIOCSWINSZ, &window_size ) < 0 ) { ++ #else + if ( ioctl( fd, TIOCSWINSZ, &window_size ) < 0 ) { ++ #endif + perror( "ioctl TIOCSWINSZ" ); + return; + } |