-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
package/putty: fix build with uClibc
Add patches fixing a number of build issues with uClibc. The issue fixed in patch #2 has been reported upstream. Patch #3 has been suggested by upstream but not applied yet. Drop the _SUBDIR assignment. The configure script moved to top level directory since upstream commit a947c49bec3 from 2014. This allows AUTORECONF to find configure.ac. Fixes: http://autobuild.buildroot.net/results/801/801e2b2909363b5dcd9735362bb921e017569edc/ http://autobuild.buildroot.net/results/398/3984c6cdd3398645c8ad98bbe23af9090cf4bfcf/ http://autobuild.buildroot.net/results/632/632f93046f9cceffd9b604911542426c10967e0f/ Cc: Alexander Dahl <[email protected]> Signed-off-by: Baruch Siach <[email protected]> Signed-off-by: Peter Korsgaard <[email protected]> (cherry picked from commit 35b72be) Signed-off-by: Peter Korsgaard <[email protected]>
- Loading branch information
1 parent
bd0bace
commit 5de4984
Showing
3 changed files
with
134 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
From c1b9d07d39e33e40d2ad04be176367cf48271cfd Mon Sep 17 00:00:00 2001 | ||
From: Baruch Siach <[email protected]> | ||
Date: Tue, 26 Mar 2019 20:00:45 +0200 | ||
Subject: [PATCH] unix/uxpoll: need _XOPEN_SOURCE | ||
MIME-Version: 1.0 | ||
Content-Type: text/plain; charset=UTF-8 | ||
Content-Transfer-Encoding: 8bit | ||
|
||
The code needs _XOPEN_SOURCE for some poll() flags. | ||
|
||
Fix this build failure with uClibc: | ||
|
||
./../unix/uxpoll.c: In function ‘pollwrap_add_fd_rwx’: | ||
./../unix/uxpoll.c:75:32: error: ‘POLLRDNORM’ undeclared (first use in this function); did you mean ‘POLLNVAL’? | ||
#define SELECT_R_IN (POLLIN | POLLRDNORM | POLLRDBAND) | ||
^ | ||
./../unix/uxpoll.c:87:19: note: in expansion of macro ‘SELECT_R_IN’ | ||
events |= SELECT_R_IN; | ||
^~~~~~~~~~~ | ||
|
||
Signed-off-by: Baruch Siach <[email protected]> | ||
--- | ||
Upstream status: issue reported to upstream developers | ||
|
||
unix/uxpoll.c | 1 + | ||
1 file changed, 1 insertion(+) | ||
|
||
diff --git a/unix/uxpoll.c b/unix/uxpoll.c | ||
index bbc5490d125d..6fe6ac7ba0c1 100644 | ||
--- a/unix/uxpoll.c | ||
+++ b/unix/uxpoll.c | ||
@@ -1,3 +1,4 @@ | ||
+#define _XOPEN_SOURCE | ||
#include <poll.h> | ||
|
||
#include "putty.h" | ||
-- | ||
2.20.1 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,93 @@ | ||
From 0554cfbb926a2ba26efda08865b270af8536e0bb Mon Sep 17 00:00:00 2001 | ||
From: Simon Tatham <[email protected]> | ||
Date: Tue, 26 Mar 2019 20:03:09 +0200 | ||
Subject: [PATCH] Fix uClibc build issues | ||
MIME-Version: 1.0 | ||
Content-Type: text/plain; charset=UTF-8 | ||
Content-Transfer-Encoding: 8bit | ||
|
||
Fix two uClibc build failures. | ||
|
||
Missing sys/auxv.h header: | ||
|
||
./../unix/uxutils.c:5:10: fatal error: sys/auxv.h: No such file or directory | ||
#include <sys/auxv.h> | ||
^~~~~~~~~~~~ | ||
|
||
Missing futimes() implementation: | ||
|
||
./../unix/uxsftpserver.c: In function ‘uss_fsetstat’: | ||
./../unix/uxsftpserver.c:441:25: warning: implicit declaration of function ‘futimes’; did you mean ‘lutimes’? [-Wimplicit-function-declaration] | ||
#define FD_PREFIX(func) f ## func | ||
^ | ||
./../unix/uxsftpserver.c:435:17: note: in expansion of macro ‘FD_PREFIX’ | ||
if (api_prefix(utimes)(api_arg, tv) < 0) \ | ||
^~~~~~~~~~ | ||
./../unix/uxsftpserver.c:470:5: note: in expansion of macro ‘SETSTAT_GUTS’ | ||
SETSTAT_GUTS(FD_PREFIX, fd, attrs, success); | ||
^~~~~~~~~~~~ | ||
|
||
unix/uxsftpserver.o: In function `uss_fsetstat': | ||
uxsftpserver.c:(.text+0x1058): undefined reference to `futimes' | ||
|
||
Signed-off-by: Baruch Siach <[email protected]> | ||
--- | ||
Upstream status: patch suggested by upstream developer Simon Tatham | ||
|
||
configure.ac | 3 ++- | ||
unix/uxsftpserver.c | 10 ++++++++++ | ||
unix/uxutils.c | 3 ++- | ||
3 files changed, 14 insertions(+), 2 deletions(-) | ||
|
||
diff --git a/configure.ac b/configure.ac | ||
index 35552ed24dbe..1949ef62f219 100644 | ||
--- a/configure.ac | ||
+++ b/configure.ac | ||
@@ -173,8 +173,9 @@ AC_CHECK_LIB(X11, XOpenDisplay, | ||
[GTK_LIBS="-lX11 $GTK_LIBS" | ||
AC_DEFINE([HAVE_LIBX11],[],[Define if libX11.a is available])]) | ||
|
||
-AC_CHECK_FUNCS([getaddrinfo posix_openpt ptsname setresuid strsignal updwtmpx fstatat dirfd]) | ||
+AC_CHECK_FUNCS([getaddrinfo posix_openpt ptsname setresuid strsignal updwtmpx fstatat dirfd futimes]) | ||
AC_CHECK_DECLS([CLOCK_MONOTONIC], [], [], [[#include <time.h>]]) | ||
+AC_CHECK_HEADERS([sys/auxv.h asm/hwcap.h]) | ||
AC_SEARCH_LIBS([clock_gettime], [rt], [AC_DEFINE([HAVE_CLOCK_GETTIME],[],[Define if clock_gettime() is available])]) | ||
|
||
AC_CACHE_CHECK([for SO_PEERCRED and dependencies], [x_cv_linux_so_peercred], [ | ||
diff --git a/unix/uxsftpserver.c b/unix/uxsftpserver.c | ||
index 6fab0ba090d6..a90344e04219 100644 | ||
--- a/unix/uxsftpserver.c | ||
+++ b/unix/uxsftpserver.c | ||
@@ -412,6 +412,16 @@ static void uss_fstat(SftpServer *srv, SftpReplyBuilder *reply, | ||
} | ||
} | ||
|
||
+#if !HAVE_FUTIMES | ||
+static inline int futimes(int fd, const struct timeval tv[2]) | ||
+{ | ||
+ /* If the OS doesn't support futimes(3) then we have to pretend it | ||
+ * always returns failure */ | ||
+ errno = EINVAL; | ||
+ return -1; | ||
+} | ||
+#endif | ||
+ | ||
/* | ||
* The guts of setstat and fsetstat, macroised so that they can call | ||
* fchown(fd,...) or chown(path,...) depending on parameters. | ||
diff --git a/unix/uxutils.c b/unix/uxutils.c | ||
index fcbcc4d422c1..f01bc2c14a2d 100644 | ||
--- a/unix/uxutils.c | ||
+++ b/unix/uxutils.c | ||
@@ -1,6 +1,7 @@ | ||
#include "ssh.h" | ||
|
||
-#if defined __linux__ && (defined __arm__ || defined __aarch64__) | ||
+#if defined __linux__ && (defined __arm__ || defined __aarch64__) && \ | ||
+ HAVE_SYS_AUXV_H && HAVE_ASM_HWCAP_H | ||
|
||
#include <sys/auxv.h> | ||
#include <asm/hwcap.h> | ||
-- | ||
2.20.1 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters