diff --git a/ChangeLog b/ChangeLog
index 910b696d60764405d6a3dc38794ca7d2acb80a6c..41dab74fe220352173f4b5e6217457422a4547ec 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2019-12-05  Niels Möller  <nisse@lysator.liu.se>
+
+	* configure.ac: Use AC_TRY_LINK rather than AC_TRY_COMPILE to
+	check for __builtin_bswap64. Since calling an non-existing
+	function typically results in a warning only at compile time, but
+	fails at link time. Patch contributed by by George Koehler.
+
 2019-12-04  Niels Möller  <nisse@lysator.liu.se>
 
 	* testsuite/testutils.c (test_cipher_cfb8): Add cast of size_t to
diff --git a/configure.ac b/configure.ac
index 3547cae4ee15fa332dfad17711e9259050778ed4..7ac84f2e30efde3cd1e891132e445af595626a37 100644
--- a/configure.ac
+++ b/configure.ac
@@ -213,7 +213,7 @@ AC_C_BIGENDIAN([AC_DEFINE([WORDS_BIGENDIAN], 1)
 
 AC_CACHE_CHECK([for __builtin_bswap64],
 		nettle_cv_c_builtin_bswap64,
-[AC_TRY_COMPILE([
+[AC_TRY_LINK([
 #include <stdint.h>
 ],[
 uint64_t x = 17;