aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2011-04-26 16:56:40 +0100
committerBlue Swirl <blauwirbel@gmail.com>2011-04-26 18:48:42 +0000
commit19e83f6bdf86f92ee90db77d606affe5b08f8b40 (patch)
treeff3739d194f016733ca5c8531bc98405545aadc0
parent143f6ffe9cd288d2b507ddc1508316181c1007a7 (diff)
downloadqemu-19e83f6bdf86f92ee90db77d606affe5b08f8b40.zip
qemu-19e83f6bdf86f92ee90db77d606affe5b08f8b40.tar.gz
qemu-19e83f6bdf86f92ee90db77d606affe5b08f8b40.tar.bz2
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 <peter.maydell@linaro.org> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
-rwxr-xr-xconfigure10
1 files changed, 9 insertions, 1 deletions
diff --git a/configure b/configure
index de44bac..2bbbbf5 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