diff --git a/src/backends/regex.c b/src/backends/regex.c
index 6471eccb229f925fa19369d08ca5c7ae1ccb0804..755fbad8c60b4e77059db4879b2c3c2788630141 100644
--- a/src/backends/regex.c
+++ b/src/backends/regex.c
@@ -1,3 +1,6 @@
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
 #include <string.h>
 #include <assert.h>
 #include "../internal.h"
diff --git a/src/platform_bsdlike.c b/src/platform_bsdlike.c
index 561869fc29bf73a0064437adb5c93d9693beacf1..cb8248492281e8318f7fe955e5251fe377f1f015 100644
--- a/src/platform_bsdlike.c
+++ b/src/platform_bsdlike.c
@@ -1,3 +1,6 @@
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE // to obtain asprintf/vasprintf
+#endif
 #include "platform.h"
 
 #include <stdio.h>