aboutsummaryrefslogtreecommitdiff
path: root/src/linux
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2018-09-12 00:08:09 -0400
committerRich Felker <dalias@aerifal.cx>2018-09-12 14:34:37 -0400
commit5ce3737931bb411a8d167356d4d0287b53b0cbdc (patch)
tree726fc5dde9cc462316faa715158c38f0da72292d /src/linux
parent0676c3a34c7bf12b33f8f5efb92476f4ffc7f20e (diff)
downloadmusl-5ce3737931bb411a8d167356d4d0287b53b0cbdc.zip
musl-5ce3737931bb411a8d167356d4d0287b53b0cbdc.tar.gz
musl-5ce3737931bb411a8d167356d4d0287b53b0cbdc.tar.bz2
reduce spurious inclusion of libc.h
libc.h was intended to be a header for access to global libc state and related interfaces, but ended up included all over the place because it was the way to get the weak_alias macro. most of the inclusions removed here are places where weak_alias was needed. a few were recently introduced for hidden. some go all the way back to when libc.h defined CANCELPT_BEGIN and _END, and all (wrongly implemented) cancellation points had to include it. remaining spurious users are mostly callers of the LOCK/UNLOCK macros and files that use the LFS64 macro to define the awful *64 aliases. in a few places, new inclusion of libc.h is added because several internal headers no longer implicitly include libc.h. declarations for __lockfile and __unlockfile are moved from libc.h to stdio_impl.h so that the latter does not need libc.h. putting them in libc.h made no sense at all, since the macros in stdio_impl.h are needed to use them correctly anyway.
Diffstat (limited to 'src/linux')
-rw-r--r--src/linux/cache.c1
-rw-r--r--src/linux/getdents.c2
-rw-r--r--src/linux/setfsgid.c1
-rw-r--r--src/linux/setfsuid.c1
-rw-r--r--src/linux/sysinfo.c1
-rw-r--r--src/linux/x32/sysinfo.c1
6 files changed, 2 insertions, 5 deletions
diff --git a/src/linux/cache.c b/src/linux/cache.c
index 3f0abc7..84a138a 100644
--- a/src/linux/cache.c
+++ b/src/linux/cache.c
@@ -1,5 +1,4 @@
#include "syscall.h"
-#include "libc.h"
#ifdef SYS_cacheflush
int _flush_cache(void *addr, int len, int op)
diff --git a/src/linux/getdents.c b/src/linux/getdents.c
index 90f7556..cab2995 100644
--- a/src/linux/getdents.c
+++ b/src/linux/getdents.c
@@ -1,5 +1,7 @@
+#define _BSD_SOURCE
#include <dirent.h>
#include "syscall.h"
+#include "libc.h"
int getdents(int fd, struct dirent *buf, size_t len)
{
diff --git a/src/linux/setfsgid.c b/src/linux/setfsgid.c
index ad80422..e29d9c0 100644
--- a/src/linux/setfsgid.c
+++ b/src/linux/setfsgid.c
@@ -1,6 +1,5 @@
#include <sys/fsuid.h>
#include "syscall.h"
-#include "libc.h"
int setfsgid(gid_t gid)
{
diff --git a/src/linux/setfsuid.c b/src/linux/setfsuid.c
index 8635873..1bae441 100644
--- a/src/linux/setfsuid.c
+++ b/src/linux/setfsuid.c
@@ -1,6 +1,5 @@
#include <sys/fsuid.h>
#include "syscall.h"
-#include "libc.h"
int setfsuid(uid_t uid)
{
diff --git a/src/linux/sysinfo.c b/src/linux/sysinfo.c
index 4b5a798..db86476 100644
--- a/src/linux/sysinfo.c
+++ b/src/linux/sysinfo.c
@@ -1,6 +1,5 @@
#include <sys/sysinfo.h>
#include "syscall.h"
-#include "libc.h"
int __lsysinfo(struct sysinfo *info)
{
diff --git a/src/linux/x32/sysinfo.c b/src/linux/x32/sysinfo.c
index d1c1b14..59b3bb7 100644
--- a/src/linux/x32/sysinfo.c
+++ b/src/linux/x32/sysinfo.c
@@ -1,6 +1,5 @@
#include <sys/sysinfo.h>
#include "syscall.h"
-#include "libc.h"
#define klong long long
#define kulong unsigned long long