1*4882a593SmuzhiyunFrom 676abde95bab10e1d26e91682772514010143343 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Peter Seiderer <ps.report@gmx.net> 3*4882a593SmuzhiyunDate: Sun, 21 Mar 2021 17:00:08 +0100 4*4882a593SmuzhiyunSubject: [PATCH] Check for sys/auxv.h before using it. 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun- fixes uclibc-ng compile (does not provide sys/auxv.h header file) 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunFixes: 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun haveged.c:22:10: fatal error: sys/auxv.h: No such file or directory 11*4882a593Smuzhiyun 22 | #include <sys/auxv.h> 12*4882a593Smuzhiyun | ^~~~~~~~~~~~ 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun[Upstream: https://github.com/jirka-h/haveged/pull/59] 15*4882a593SmuzhiyunSigned-off-by: Peter Seiderer <ps.report@gmx.net> 16*4882a593Smuzhiyun--- 17*4882a593Smuzhiyun configure.ac | 1 + 18*4882a593Smuzhiyun src/haveged.c | 4 ++++ 19*4882a593Smuzhiyun 2 files changed, 5 insertions(+) 20*4882a593Smuzhiyun 21*4882a593Smuzhiyundiff --git a/configure.ac b/configure.ac 22*4882a593Smuzhiyunindex c172a10..a0263f5 100644 23*4882a593Smuzhiyun--- a/configure.ac 24*4882a593Smuzhiyun+++ b/configure.ac 25*4882a593Smuzhiyun@@ -125,6 +125,7 @@ AC_CHECK_HEADERS(stdio.h) 26*4882a593Smuzhiyun AC_CHECK_HEADERS(stdlib.h) 27*4882a593Smuzhiyun AC_CHECK_HEADERS(string.h) 28*4882a593Smuzhiyun AC_CHECK_HEADERS(sys/ioctl.h) 29*4882a593Smuzhiyun+AC_CHECK_HEADERS(sys/auxv.h) 30*4882a593Smuzhiyun AC_CHECK_HEADERS(sys/mman.h) 31*4882a593Smuzhiyun AC_CHECK_HEADERS(sys/types.h) 32*4882a593Smuzhiyun AC_CHECK_HEADERS(sys/socket.h) 33*4882a593Smuzhiyundiff --git a/src/haveged.c b/src/haveged.c 34*4882a593Smuzhiyunindex b9cb77b..dad3072 100644 35*4882a593Smuzhiyun--- a/src/haveged.c 36*4882a593Smuzhiyun+++ b/src/haveged.c 37*4882a593Smuzhiyun@@ -19,7 +19,9 @@ 38*4882a593Smuzhiyun ** along with this program. If not, see <http://www.gnu.org/licenses/>. 39*4882a593Smuzhiyun */ 40*4882a593Smuzhiyun #include "config.h" 41*4882a593Smuzhiyun+#if defined(HAVE_SYS_AUXV_H) 42*4882a593Smuzhiyun #include <sys/auxv.h> 43*4882a593Smuzhiyun+#endif 44*4882a593Smuzhiyun #include <stdlib.h> 45*4882a593Smuzhiyun #include <stdio.h> 46*4882a593Smuzhiyun #include <getopt.h> 47*4882a593Smuzhiyun@@ -135,8 +137,10 @@ int main(int argc, char **argv) 48*4882a593Smuzhiyun { 49*4882a593Smuzhiyun volatile char *path = strdup(argv[0]); 50*4882a593Smuzhiyun volatile char *arg0 = argv[0]; 51*4882a593Smuzhiyun+#if defined(HAVE_SYS_AUXV_H) 52*4882a593Smuzhiyun if (path[0] != '/') 53*4882a593Smuzhiyun path = (char*)getauxval(AT_EXECFN); 54*4882a593Smuzhiyun+#endif 55*4882a593Smuzhiyun static const char* cmds[] = { 56*4882a593Smuzhiyun "b", "buffer", "1", SETTINGR("Buffer size [KW], default: ",COLLECT_BUFSIZE), 57*4882a593Smuzhiyun "d", "data", "1", SETTINGR("Data cache size [KB], with fallback to: ", GENERIC_DCACHE ), 58*4882a593Smuzhiyun-- 59*4882a593Smuzhiyun2.30.2 60*4882a593Smuzhiyun 61