aboutsummaryrefslogtreecommitdiff
path: root/src/linux
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2018-09-06 11:15:15 -0400
committerRich Felker <dalias@aerifal.cx>2018-09-12 14:34:20 -0400
commitc221d3e5862e249b03aa7569d5fec6389294fb22 (patch)
tree227098b1eefa6036f39a05941632771db54cf2b6 /src/linux
parenteeb6f7742506b08692f745c7f588d046f1aa8214 (diff)
downloadmusl-c221d3e5862e249b03aa7569d5fec6389294fb22.zip
musl-c221d3e5862e249b03aa7569d5fec6389294fb22.tar.gz
musl-c221d3e5862e249b03aa7569d5fec6389294fb22.tar.bz2
fix issues from public functions defined without declaration visible
policy is that all public functions which have a public declaration should be defined in a context where that public declaration is visible, to avoid preventable type mismatches. an audit performed using GCC's -Wmissing-declarations turned up the violations corrected here. in some cases the public header had not been included; in others, a feature test macro needed to make the declaration visible had been omitted. in the case of gethostent and getnetent, the omission seems to have been intentional, as a hack to admit a single stub definition for both functions. this kind of hack is no longer acceptable; it's UB and would not fly with LTO or advanced toolchains. the hack is undone to make exposure of the declarations possible.
Diffstat (limited to 'src/linux')
-rw-r--r--src/linux/brk.c2
-rw-r--r--src/linux/clone.c2
-rw-r--r--src/linux/sbrk.c2
3 files changed, 6 insertions, 0 deletions
diff --git a/src/linux/brk.c b/src/linux/brk.c
index ffdbbd5..a6173e0 100644
--- a/src/linux/brk.c
+++ b/src/linux/brk.c
@@ -1,3 +1,5 @@
+#define _BSD_SOURCE
+#include <unistd.h>
#include <errno.h>
#include "syscall.h"
diff --git a/src/linux/clone.c b/src/linux/clone.c
index b9e5594..8c1af7d 100644
--- a/src/linux/clone.c
+++ b/src/linux/clone.c
@@ -1,5 +1,7 @@
+#define _GNU_SOURCE
#include <stdarg.h>
#include <unistd.h>
+#include <sched.h>
#include "pthread_impl.h"
#include "syscall.h"
diff --git a/src/linux/sbrk.c b/src/linux/sbrk.c
index 1e82d64..bb86630 100644
--- a/src/linux/sbrk.c
+++ b/src/linux/sbrk.c
@@ -1,3 +1,5 @@
+#define _BSD_SOURCE
+#include <unistd.h>
#include <stdint.h>
#include <errno.h>
#include "syscall.h"