From: Peter Maydell Date: Tue, 26 Apr 2011 15:56:40 +0000 (+0100) Subject: configure: Make epoll_create1 test work around SPARC glibc bug X-Git-Tag: pull-nvme-20200902~9818 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=19e83f6bdf86f92ee90db77d606affe5b08f8b40;p=qemu-nvme.git configure: Make epoll_create1 test work around SPARC glibc bug Work around a SPARC glibc bug which caused the epoll_create1 configure test to wrongly claim that the function was present. Some versions of SPARC glibc provided the function in the library but didn't declare it in the include file; the result is that gcc warns about an implicit declaration but a link succeeds. So we reference the function as a value rather than a function call to induce a compile time error if the declaration was not present. Signed-off-by: Peter Maydell Signed-off-by: Blue Swirl --- diff --git a/configure b/configure index de44bac1d6..2bbbbf5daa 100755 --- a/configure +++ b/configure @@ -2225,7 +2225,15 @@ cat > $TMPC << EOF int main(void) { - epoll_create1(0); + /* Note that we use epoll_create1 as a value, not as + * a function being called. This is necessary so that on + * old SPARC glibc versions where the function was present in + * the library but not declared in the header file we will + * fail the configure check. (Otherwise we will get a compiler + * warning but not an error, and will proceed to fail the + * qemu compile where we compile with -Werror.) + */ + epoll_create1; return 0; } EOF