diff options
| -rw-r--r-- | meta/recipes-support/apr/apr/0001-configure-Remove-runtime-test-for-mmap-that-can-map-.patch | 62 | ||||
| -rw-r--r-- | meta/recipes-support/apr/apr_1.7.0.bb | 15 |
2 files changed, 75 insertions, 2 deletions
diff --git a/meta/recipes-support/apr/apr/0001-configure-Remove-runtime-test-for-mmap-that-can-map-.patch b/meta/recipes-support/apr/apr/0001-configure-Remove-runtime-test-for-mmap-that-can-map-.patch new file mode 100644 index 0000000000..fa6202da79 --- /dev/null +++ b/meta/recipes-support/apr/apr/0001-configure-Remove-runtime-test-for-mmap-that-can-map-.patch | |||
| @@ -0,0 +1,62 @@ | |||
| 1 | From ee728971fd9d2da39356f1574d58d5daa3b24520 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Fri, 26 Aug 2022 00:28:08 -0700 | ||
| 4 | Subject: [PATCH] configure: Remove runtime test for mmap that can map | ||
| 5 | /dev/zero | ||
| 6 | |||
| 7 | This never works for cross-compile moreover it ends up disabling | ||
| 8 | ac_cv_file__dev_zero which then results in compiler errors in shared | ||
| 9 | mutexes | ||
| 10 | |||
| 11 | Upstream-Status: Inappropriate [Cross-compile specific] | ||
| 12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 13 | --- | ||
| 14 | configure.in | 32 -------------------------------- | ||
| 15 | 1 file changed, 32 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/configure.in b/configure.in | ||
| 18 | index a99049d..f1f55c7 100644 | ||
| 19 | --- a/configure.in | ||
| 20 | +++ b/configure.in | ||
| 21 | @@ -1182,38 +1182,6 @@ AC_CHECK_FUNCS([mmap munmap shm_open shm_unlink shmget shmat shmdt shmctl \ | ||
| 22 | APR_CHECK_DEFINE(MAP_ANON, sys/mman.h) | ||
| 23 | AC_CHECK_FILE(/dev/zero) | ||
| 24 | |||
| 25 | -# Not all systems can mmap /dev/zero (such as HP-UX). Check for that. | ||
| 26 | -if test "$ac_cv_func_mmap" = "yes" && | ||
| 27 | - test "$ac_cv_file__dev_zero" = "yes"; then | ||
| 28 | - AC_MSG_CHECKING(for mmap that can map /dev/zero) | ||
| 29 | - AC_TRY_RUN([ | ||
| 30 | -#include <sys/types.h> | ||
| 31 | -#include <sys/stat.h> | ||
| 32 | -#include <fcntl.h> | ||
| 33 | -#ifdef HAVE_SYS_MMAN_H | ||
| 34 | -#include <sys/mman.h> | ||
| 35 | -#endif | ||
| 36 | - int main() | ||
| 37 | - { | ||
| 38 | - int fd; | ||
| 39 | - void *m; | ||
| 40 | - fd = open("/dev/zero", O_RDWR); | ||
| 41 | - if (fd < 0) { | ||
| 42 | - return 1; | ||
| 43 | - } | ||
| 44 | - m = mmap(0, sizeof(void*), PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0); | ||
| 45 | - if (m == (void *)-1) { /* aka MAP_FAILED */ | ||
| 46 | - return 2; | ||
| 47 | - } | ||
| 48 | - if (munmap(m, sizeof(void*)) < 0) { | ||
| 49 | - return 3; | ||
| 50 | - } | ||
| 51 | - return 0; | ||
| 52 | - }], [], [ac_cv_file__dev_zero=no], [ac_cv_file__dev_zero=no]) | ||
| 53 | - | ||
| 54 | - AC_MSG_RESULT($ac_cv_file__dev_zero) | ||
| 55 | -fi | ||
| 56 | - | ||
| 57 | # Now we determine which one is our anonymous shmem preference. | ||
| 58 | haveshmgetanon="0" | ||
| 59 | havemmapzero="0" | ||
| 60 | -- | ||
| 61 | 2.37.2 | ||
| 62 | |||
diff --git a/meta/recipes-support/apr/apr_1.7.0.bb b/meta/recipes-support/apr/apr_1.7.0.bb index 07bf61545e..cb4bb936d7 100644 --- a/meta/recipes-support/apr/apr_1.7.0.bb +++ b/meta/recipes-support/apr/apr_1.7.0.bb | |||
| @@ -25,6 +25,7 @@ SRC_URI = "${APACHE_MIRROR}/apr/${BPN}-${PV}.tar.bz2 \ | |||
| 25 | file://0001-Add-option-to-disable-timed-dependant-tests.patch \ | 25 | file://0001-Add-option-to-disable-timed-dependant-tests.patch \ |
| 26 | file://autoconf270.patch \ | 26 | file://autoconf270.patch \ |
| 27 | file://0001-add-AC_CACHE_CHECK-for-strerror_r-return-type.patch \ | 27 | file://0001-add-AC_CACHE_CHECK-for-strerror_r-return-type.patch \ |
| 28 | file://0001-configure-Remove-runtime-test-for-mmap-that-can-map-.patch \ | ||
| 28 | file://CVE-2021-35940.patch \ | 29 | file://CVE-2021-35940.patch \ |
| 29 | " | 30 | " |
| 30 | 31 | ||
| @@ -37,12 +38,22 @@ OE_BINCONFIG_EXTRA_MANGLE = " -e 's:location=source:location=installed:'" | |||
| 37 | 38 | ||
| 38 | # Added to fix some issues with cmake. Refer to https://github.com/bmwcarit/meta-ros/issues/68#issuecomment-19896928 | 39 | # Added to fix some issues with cmake. Refer to https://github.com/bmwcarit/meta-ros/issues/68#issuecomment-19896928 |
| 39 | CACHED_CONFIGUREVARS += "apr_cv_mutex_recursive=yes" | 40 | CACHED_CONFIGUREVARS += "apr_cv_mutex_recursive=yes" |
| 40 | 41 | # Enable largefile | |
| 42 | CACHED_CONFIGUREVARS += "apr_cv_use_lfs64=yes" | ||
| 43 | # Additional AC_TRY_RUN tests which will need to be cached for cross compile | ||
| 44 | CACHED_CONFIGUREVARS += "apr_cv_epoll=yes epoll_create1=yes apr_cv_sock_cloexec=yes \ | ||
| 45 | ac_cv_struct_rlimit=yes \ | ||
| 46 | ac_cv_func_sem_open=yes \ | ||
| 47 | apr_cv_process_shared_works=yes \ | ||
| 48 | apr_cv_mutex_robust_shared=yes \ | ||
| 49 | " | ||
| 41 | # Also suppress trying to use sctp. | 50 | # Also suppress trying to use sctp. |
| 42 | # | 51 | # |
| 43 | CACHED_CONFIGUREVARS += "ac_cv_header_netinet_sctp_h=no ac_cv_header_netinet_sctp_uio_h=no" | 52 | CACHED_CONFIGUREVARS += "ac_cv_header_netinet_sctp_h=no ac_cv_header_netinet_sctp_uio_h=no" |
| 44 | 53 | ||
| 45 | CACHED_CONFIGUREVARS += "ac_cv_sizeof_struct_iovec=yes" | 54 | # ac_cv_sizeof_struct_iovec is deduced using runtime check which will fail during cross-compile |
| 55 | CACHED_CONFIGUREVARS += "${@['ac_cv_sizeof_struct_iovec=16','ac_cv_sizeof_struct_iovec=8'][d.getVar('SITEINFO_BITS') != '32']}" | ||
| 56 | |||
| 46 | CACHED_CONFIGUREVARS += "ac_cv_file__dev_zero=yes" | 57 | CACHED_CONFIGUREVARS += "ac_cv_file__dev_zero=yes" |
| 47 | 58 | ||
| 48 | CACHED_CONFIGUREVARS:append:libc-musl = " ac_cv_strerror_r_rc_int=yes" | 59 | CACHED_CONFIGUREVARS:append:libc-musl = " ac_cv_strerror_r_rc_int=yes" |
