aports/main/mosh/fix-ppc64le-build-with-musl.patch
Milan P. Stanić 05aca35d55 main/mosh: upgrade to 1.4.0
disable perl -Mdiagnostic in scripts/Makefile.am, fails on alpine
refactor fix-ppc64le-build-with-musl.patch
2022-10-31 15:01:58 +01:00

53 lines
1.7 KiB
Diff

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;
}