diff --git a/ChangeLog b/ChangeLog
index 079d01530e9330d4539bc97b62d1c6f8c3682349..e0beb7f26845403bfec21ecbff51a95e694a994d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2018-12-26  Niels Möller  <nisse@lysator.liu.se>
 
+	* tools/nettle-pbkdf2.c: Add #define _GNU_SOURCE, needed for
+	strdup with gcc -std=c89.
+	* testsuite/ed25519-test.c: Add #define _GNU_SOURCE, needed for
+	getline with gcc -std=c89.
+
 	* rsa-sign-tr.c (sec_equal): Fix accidental use of C99 for loop.
 	Reported by Andreas Gustafsson.
 	* testsuite/rsa-sec-decrypt-test.c (test_main): Likewise.
diff --git a/testsuite/ed25519-test.c b/testsuite/ed25519-test.c
index 83b6b84eca6d64113c791f4fda0215729ba01541..abcef34effee5d6f50656b74bd6809c1515c206e 100644
--- a/testsuite/ed25519-test.c
+++ b/testsuite/ed25519-test.c
@@ -29,6 +29,8 @@
    not, see http://www.gnu.org/licenses/.
 */
 
+#define _GNU_SOURCE
+
 #include "testutils.h"
 
 #include <errno.h>
diff --git a/tools/nettle-pbkdf2.c b/tools/nettle-pbkdf2.c
index 1f0a3015ad3c7fd18f016b9e1a4d4d9b10e27ad1..fe6528d90a3d644fc5f9f3a34e91b1488c8222ae 100644
--- a/tools/nettle-pbkdf2.c
+++ b/tools/nettle-pbkdf2.c
@@ -31,6 +31,8 @@
    not, see http://www.gnu.org/licenses/.
 */
 
+#define _GNU_SOURCE
+
 #if HAVE_CONFIG_H
 # include "config.h"
 #endif