diff mbox series

[FFmpeg-devel] configure: Check for the header sys/mmap.h when checking for mmap

Message ID 20240111103300.68446-1-martin@martin.st
State New
Headers show
Series [FFmpeg-devel] configure: Check for the header sys/mmap.h when checking for mmap | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Martin Storsjö Jan. 11, 2024, 10:33 a.m. UTC
Whenever mmap is used, we include sys/mmap.h unconditionally
within HAVE_MMAP ifdefs.

When building for a system (e.g. mingw) that normally lacks the
mmap function, but if building with profiling enabled, the
profiling runtime which gets linked in in each test executable,
can contain a function named mmap, causing stray detection of it.

This fixes an issue reported at
https://github.com/mstorsjo/llvm-mingw/issues/390.
---
 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

徐福隆 Jan. 11, 2024, 11:11 a.m. UTC | #1
There maybe a spelling mistake, which in "check_func_headers sys/mman.h mmap".
It looks like should be "sys/mmap.h"


Thanks
------------------ Original ------------------
From:                                                                                                                        "FFmpeg development discussions and patches"                                                                                    <martin@martin.st&gt;;
Date:&nbsp;Thu, Jan 11, 2024 06:33 PM
To:&nbsp;"ffmpeg-devel"<ffmpeg-devel@ffmpeg.org&gt;;

Subject:&nbsp;[FFmpeg-devel] [PATCH] configure: Check for the header sys/mmap.h when checking for mmap



Whenever mmap is used, we include sys/mmap.h unconditionally
within HAVE_MMAP ifdefs.

When building for a system (e.g. mingw) that normally lacks the
mmap function, but if building with profiling enabled, the
profiling runtime which gets linked in in each test executable,
can contain a function named mmap, causing stray detection of it.

This fixes an issue reported at
https://github.com/mstorsjo/llvm-mingw/issues/390.
---
&nbsp;configure | 2 +-
&nbsp;1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure b/configure
index 0b5e83bd20..99fa5260a4 100755
--- a/configure
+++ b/configure
@@ -6457,7 +6457,7 @@ check_func&nbsp; getrusage
&nbsp;check_func&nbsp; gettimeofday
&nbsp;check_func&nbsp; isatty
&nbsp;check_func&nbsp; mkstemp
-check_func&nbsp; mmap
+check_func_headers sys/mman.h mmap
&nbsp;check_func&nbsp; mprotect
&nbsp;# Solaris has nanosleep in -lrt, OpenSolaris no longer needs that
&nbsp;check_func_headers time.h nanosleep || check_lib nanosleep time.h nanosleep -lrt
Martin Storsjö Jan. 11, 2024, 11:31 a.m. UTC | #2
On Thu, 11 Jan 2024, 徐福隆 wrote:

> There maybe a spelling mistake, which in "check_func_headers sys/mman.h
> mmap".
> It looks like should be "sys/mmap.h"

No, this is not a mistake, this is the name of the header. Have a look at 
libavutil/file.c or libswscale/utils.c, both which have this:

#if HAVE_MMAP
#include <sys/mman.h>
...

// Martin
diff mbox series

Patch

diff --git a/configure b/configure
index 0b5e83bd20..99fa5260a4 100755
--- a/configure
+++ b/configure
@@ -6457,7 +6457,7 @@  check_func  getrusage
 check_func  gettimeofday
 check_func  isatty
 check_func  mkstemp
-check_func  mmap
+check_func_headers sys/mman.h mmap
 check_func  mprotect
 # Solaris has nanosleep in -lrt, OpenSolaris no longer needs that
 check_func_headers time.h nanosleep || check_lib nanosleep time.h nanosleep -lrt