include cleanups: remove unused headers and add feature test macros
diff --git a/src/legacy/euidaccess.c b/src/legacy/euidaccess.c
index 47b464d..7307251 100644
--- a/src/legacy/euidaccess.c
+++ b/src/legacy/euidaccess.c
@@ -1,3 +1,4 @@
+#define _GNU_SOURCE
 #include <unistd.h>
 #include <fcntl.h>
 #include "libc.h"
diff --git a/src/legacy/futimes.c b/src/legacy/futimes.c
index f8fd1cd..d81d83a 100644
--- a/src/legacy/futimes.c
+++ b/src/legacy/futimes.c
@@ -1,6 +1,6 @@
+#define _GNU_SOURCE
 #include <sys/stat.h>
 #include <sys/time.h>
-#include <fcntl.h>
 
 int futimes(int fd, const struct timeval tv[2])
 {
diff --git a/src/legacy/getdtablesize.c b/src/legacy/getdtablesize.c
index 623a6af..682da6d 100644
--- a/src/legacy/getdtablesize.c
+++ b/src/legacy/getdtablesize.c
@@ -1,3 +1,5 @@
+#define _GNU_SOURCE
+#include <unistd.h>
 #include <limits.h>
 #include <sys/resource.h>
 
diff --git a/src/legacy/getpagesize.c b/src/legacy/getpagesize.c
index a47995c..0fc29ff 100644
--- a/src/legacy/getpagesize.c
+++ b/src/legacy/getpagesize.c
@@ -1,3 +1,4 @@
+#define _GNU_SOURCE
 #include <unistd.h>
 #include "libc.h"
 
diff --git a/src/legacy/getpass.c b/src/legacy/getpass.c
index d439a2a..3565d95 100644
--- a/src/legacy/getpass.c
+++ b/src/legacy/getpass.c
@@ -1,5 +1,5 @@
+#define _GNU_SOURCE
 #include <stdio.h>
-#include <string.h>
 #include <termios.h>
 #include <unistd.h>
 #include <fcntl.h>
diff --git a/src/legacy/getusershell.c b/src/legacy/getusershell.c
index f31f404..5fecdec 100644
--- a/src/legacy/getusershell.c
+++ b/src/legacy/getusershell.c
@@ -1,7 +1,6 @@
 #define _GNU_SOURCE
 #include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
+#include <unistd.h>
 
 static const char defshells[] = "/bin/sh\n/bin/csh\n";
 
diff --git a/src/legacy/lutimes.c b/src/legacy/lutimes.c
index 13dfe4e..2e5502d 100644
--- a/src/legacy/lutimes.c
+++ b/src/legacy/lutimes.c
@@ -1,3 +1,4 @@
+#define _GNU_SOURCE
 #include <sys/stat.h>
 #include <sys/time.h>
 #include <fcntl.h>