Upstream fix: https://src.fedoraproject.org/rpms/apr/raw/rawhide/f/apr-1.7.6-autoconf.patch Resolves: RHEL-107890 This commit was backported by Jotnar, a Red Hat Enterprise Linux software maintenance AI agent. Assisted-by: Jotnar
217 lines
6.7 KiB
Diff
217 lines
6.7 KiB
Diff
From 9ad9b8ce843f4b8c01b3be6421acc6c76994d45a Mon Sep 17 00:00:00 2001
|
|
From: RHEL Packaging Agent <jotnar@redhat.com>
|
|
Date: Tue, 9 Sep 2025 15:02:50 +0000
|
|
Subject: [PATCH] Patch RHEL-107890.patch
|
|
|
|
---
|
|
build/apr_common.m4 | 11 +++++------
|
|
build/apr_network.m4 | 15 ++++++++++-----
|
|
build/buildcheck.sh | 4 ++--
|
|
configure.in | 12 ++++++++----
|
|
poll/unix/poll.c | 4 ++--
|
|
5 files changed, 27 insertions(+), 19 deletions(-)
|
|
|
|
diff --git a/build/apr_common.m4 b/build/apr_common.m4
|
|
index 148d7a2..3a2e0d4 100644
|
|
--- a/build/apr_common.m4
|
|
+++ b/build/apr_common.m4
|
|
@@ -467,12 +467,11 @@ AC_DEFUN([APR_TRY_COMPILE_NO_WARNING],
|
|
CFLAGS="$CFLAGS -Werror"
|
|
fi
|
|
AC_COMPILE_IFELSE(
|
|
- [AC_LANG_SOURCE(
|
|
- [[$1]],
|
|
- [[$2]]
|
|
- )], [CFLAGS=$apr_save_CFLAGS
|
|
-$3], [CFLAGS=$apr_save_CFLAGS
|
|
-$4])
|
|
+ [AC_LANG_PROGRAM([[$1]], [[$2]])],
|
|
+ [CFLAGS=$apr_save_CFLAGS
|
|
+ $3],
|
|
+ [CFLAGS=$apr_save_CFLAGS
|
|
+ $4])
|
|
])
|
|
|
|
dnl
|
|
diff --git a/build/apr_network.m4 b/build/apr_network.m4
|
|
index b3dd33f..e0799b3 100644
|
|
--- a/build/apr_network.m4
|
|
+++ b/build/apr_network.m4
|
|
@@ -259,11 +259,12 @@ APR_TRY_COMPILE_NO_WARNING([
|
|
#ifdef HAVE_STDLIB_H
|
|
#include <stdlib.h>
|
|
#endif
|
|
+#include <stdio.h>
|
|
],[
|
|
int tmp = gethostbyname_r((const char *) 0, (struct hostent *) 0,
|
|
(char *) 0, 0, (struct hostent **) 0, &tmp);
|
|
/* use tmp to suppress the warning */
|
|
-tmp=0;
|
|
+puts(tmp ? "non-zero" : "zero");
|
|
], ac_cv_gethostbyname_r_style=glibc2, ac_cv_gethostbyname_r_style=none))
|
|
|
|
if test "$ac_cv_gethostbyname_r_style" = "glibc2"; then
|
|
@@ -287,11 +288,12 @@ APR_TRY_COMPILE_NO_WARNING([
|
|
#ifdef HAVE_STDLIB_H
|
|
#include <stdlib.h>
|
|
#endif
|
|
+#include <stdio.h>
|
|
],[
|
|
int tmp = gethostbyname_r((const char *) 0, (struct hostent *) 0,
|
|
(struct hostent_data *) 0);
|
|
/* use tmp to suppress the warning */
|
|
-tmp=0;
|
|
+puts(tmp ? "non-zero" : "zero");
|
|
], ac_cv_gethostbyname_r_arg=hostent_data, ac_cv_gethostbyname_r_arg=char))
|
|
|
|
if test "$ac_cv_gethostbyname_r_arg" = "hostent_data"; then
|
|
@@ -327,12 +329,13 @@ APR_TRY_COMPILE_NO_WARNING([
|
|
#ifdef HAVE_STDLIB_H
|
|
#include <stdlib.h>
|
|
#endif
|
|
+#include <stdio.h>
|
|
],[
|
|
int tmp = getservbyname_r((const char *) 0, (const char *) 0,
|
|
(struct servent *) 0, (char *) 0, 0,
|
|
(struct servent **) 0);
|
|
/* use tmp to suppress the warning */
|
|
-tmp=0;
|
|
+puts(tmp ? "non-zero" : "zero");
|
|
], ac_cv_getservbyname_r_style=glibc2, ac_cv_getservbyname_r_style=none)
|
|
|
|
if test "$ac_cv_getservbyname_r_style" = "none"; then
|
|
@@ -354,11 +357,12 @@ if test "$ac_cv_getservbyname_r_style" = "none"; then
|
|
#ifdef HAVE_STDLIB_H
|
|
#include <stdlib.h>
|
|
#endif
|
|
+ #include <stdio.h>
|
|
],[
|
|
struct servent *tmp = getservbyname_r((const char *) 0, (const char *) 0,
|
|
(struct servent *) 0, (char *) 0, 0);
|
|
/* use tmp to suppress the warning */
|
|
- tmp=NULL;
|
|
+ puts(tmp ? "non-zero" : "zero");
|
|
], ac_cv_getservbyname_r_style=solaris, ac_cv_getservbyname_r_style=none)
|
|
fi
|
|
|
|
@@ -381,11 +385,12 @@ if test "$ac_cv_getservbyname_r_style" = "none"; then
|
|
#ifdef HAVE_STDLIB_H
|
|
#include <stdlib.h>
|
|
#endif
|
|
+ #include <stdio.h>
|
|
],[
|
|
int tmp = getservbyname_r((const char *) 0, (const char *) 0,
|
|
(struct servent *) 0, (struct servent_data *) 0);
|
|
/* use tmp to suppress the warning */
|
|
- tmp=0;
|
|
+ puts(tmp ? "non-zero" : "zero");
|
|
], ac_cv_getservbyname_r_style=osf1, ac_cv_getservbyname_r_style=none)
|
|
fi
|
|
])
|
|
diff --git a/build/buildcheck.sh b/build/buildcheck.sh
|
|
index 44921b5..f619454 100755
|
|
--- a/build/buildcheck.sh
|
|
+++ b/build/buildcheck.sh
|
|
@@ -15,11 +15,11 @@ else
|
|
echo "buildconf: python version $py_version (ok)"
|
|
fi
|
|
|
|
-# autoconf 2.59 or newer
|
|
+# autoconf 2.61 or newer
|
|
ac_version=`${AUTOCONF:-autoconf} --version 2>/dev/null|sed -e 's/^[^0-9]*//;s/[a-z]* *$//;q'`
|
|
if test -z "$ac_version"; then
|
|
echo "buildconf: autoconf not found."
|
|
- echo " You need autoconf version 2.59 or newer installed"
|
|
+ echo " You need autoconf version 2.61 or newer installed"
|
|
echo " to build APR from SVN."
|
|
res=1
|
|
else
|
|
diff --git a/configure.in b/configure.in
|
|
index b0457e2..1ae6f62 100644
|
|
--- a/configure.in
|
|
+++ b/configure.in
|
|
@@ -145,12 +145,14 @@ if test "x$host_alias" != x; then
|
|
APR_CROSS_COMPILING=maybe
|
|
elif test "x$build_alias" != "x$host_alias"; then
|
|
APR_CROSS_COMPILING=yes
|
|
+ else
|
|
+ APR_CROSS_COMPILING=no
|
|
fi
|
|
else
|
|
APR_CROSS_COMPILING=no
|
|
fi
|
|
-
|
|
AC_SUBST(APR_CROSS_COMPILING)
|
|
+AC_MSG_NOTICE([cross-compilation detection: $APR_CROSS_COMPILING])
|
|
|
|
# Libtool might need this symbol -- it must point to the location of
|
|
# the generated libtool script (not necessarily the "top" build dir).
|
|
@@ -1876,6 +1878,7 @@ AC_TYPE_UID_T
|
|
AC_CHECK_TYPE(ssize_t, int)
|
|
AC_C_INLINE
|
|
AC_C_CONST
|
|
+AC_C_VARARRAYS
|
|
AC_FUNC_SETPGRP
|
|
|
|
APR_CHECK_SOCKLEN_T
|
|
@@ -1971,6 +1974,8 @@ else
|
|
AC_ERROR([could not detect a 64-bit integer type])
|
|
fi
|
|
|
|
+AC_MSG_NOTICE([for apr_(u)int64_t using $int64_strfn and ${int64_value}/${uint64_value}])
|
|
+
|
|
# If present, allow the C99 macro INT64_C to override our conversion.
|
|
#
|
|
# HP-UX's ANSI C compiler provides this without any includes, so we
|
|
@@ -2152,7 +2157,6 @@ else
|
|
aprlfs=0
|
|
fi
|
|
|
|
-AC_MSG_CHECKING([which type to use for apr_off_t])
|
|
if test "${ac_cv_sizeof_off_t}${apr_cv_use_lfs64}" = "4yes"; then
|
|
# LFS is go!
|
|
off_t_fmt='#define APR_OFF_T_FMT APR_INT64_T_FMT'
|
|
@@ -2203,7 +2207,7 @@ else
|
|
off_t_fmt=d
|
|
off_t_strfn='strtoi'
|
|
fi
|
|
-AC_MSG_RESULT($off_t_value)
|
|
+AC_MSG_NOTICE([for apr_off_t using $off_t_strfn and $off_t_value])
|
|
|
|
# Regardless of whether _LARGEFILE64_SOURCE is used, on some
|
|
# platforms _FILE_OFFSET_BITS will affect the size of ino_t and hence
|
|
@@ -2234,7 +2238,7 @@ case $host in
|
|
fi
|
|
;;
|
|
esac
|
|
-AC_MSG_NOTICE([using $ino_t_value for ino_t])
|
|
+AC_MSG_NOTICE([for apr_ino_t using $ino_t_value])
|
|
|
|
# Checks for endianness
|
|
AC_C_BIGENDIAN
|
|
diff --git a/poll/unix/poll.c b/poll/unix/poll.c
|
|
index 28090c4..b2338a7 100644
|
|
--- a/poll/unix/poll.c
|
|
+++ b/poll/unix/poll.c
|
|
@@ -73,7 +73,7 @@ APR_DECLARE(apr_status_t) apr_poll(apr_pollfd_t *aprset, apr_int32_t num,
|
|
apr_interval_time_t timeout)
|
|
{
|
|
int i, num_to_poll;
|
|
-#ifdef HAVE_VLA
|
|
+#ifdef HAVE_C_VARARRAYS
|
|
/* XXX: I trust that this is a segv when insufficient stack exists? */
|
|
struct pollfd pollset[num + 1]; /* +1 since allocating 0 is undefined behaviour */
|
|
#elif defined(HAVE_ALLOCA)
|
|
@@ -130,7 +130,7 @@ APR_DECLARE(apr_status_t) apr_poll(apr_pollfd_t *aprset, apr_int32_t num,
|
|
}
|
|
}
|
|
|
|
-#if !defined(HAVE_VLA) && !defined(HAVE_ALLOCA)
|
|
+#if !defined(HAVE_C_VARARRAYS) && !defined(HAVE_ALLOCA)
|
|
if (num > SMALL_POLLSET_LIMIT) {
|
|
free(pollset);
|
|
}
|
|
--
|
|
2.51.0
|
|
|