about summary refs log tree commit diff
path: root/src/ldso
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/ldso
parent0676c3a34c7bf12b33f8f5efb92476f4ffc7f20e (diff)
downloadmusl-5ce3737931bb411a8d167356d4d0287b53b0cbdc.tar.gz
musl-5ce3737931bb411a8d167356d4d0287b53b0cbdc.tar.xz
musl-5ce3737931bb411a8d167356d4d0287b53b0cbdc.zip
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/ldso')
-rw-r--r--src/ldso/__dlsym.c1
-rw-r--r--src/ldso/dladdr.c1
-rw-r--r--src/ldso/dlclose.c1
-rw-r--r--src/ldso/dlerror.c1
-rw-r--r--src/ldso/dlinfo.c1
-rw-r--r--src/ldso/dlopen.c1
-rw-r--r--src/ldso/tlsdesc.c1
7 files changed, 0 insertions, 7 deletions
diff --git a/src/ldso/__dlsym.c b/src/ldso/__dlsym.c
index 012994a7..8ac0a334 100644
--- a/src/ldso/__dlsym.c
+++ b/src/ldso/__dlsym.c
@@ -1,6 +1,5 @@
 #include <dlfcn.h>
 #include "dynlink.h"
-#include "libc.h"
 
 static void *stub_dlsym(void *restrict p, const char *restrict s, void *restrict ra)
 {
diff --git a/src/ldso/dladdr.c b/src/ldso/dladdr.c
index 659ab91e..e5c80206 100644
--- a/src/ldso/dladdr.c
+++ b/src/ldso/dladdr.c
@@ -1,6 +1,5 @@
 #define _GNU_SOURCE
 #include <dlfcn.h>
-#include "libc.h"
 
 static int stub_dladdr(const void *addr, Dl_info *info)
 {
diff --git a/src/ldso/dlclose.c b/src/ldso/dlclose.c
index b839fe2f..e437422a 100644
--- a/src/ldso/dlclose.c
+++ b/src/ldso/dlclose.c
@@ -1,6 +1,5 @@
 #include <dlfcn.h>
 #include "dynlink.h"
-#include "libc.h"
 
 int dlclose(void *p)
 {
diff --git a/src/ldso/dlerror.c b/src/ldso/dlerror.c
index 7e5ec23d..06ed8542 100644
--- a/src/ldso/dlerror.c
+++ b/src/ldso/dlerror.c
@@ -3,7 +3,6 @@
 #include <stdarg.h>
 #include "pthread_impl.h"
 #include "dynlink.h"
-#include "libc.h"
 
 char *dlerror()
 {
diff --git a/src/ldso/dlinfo.c b/src/ldso/dlinfo.c
index a8a5ad56..b55f5fe6 100644
--- a/src/ldso/dlinfo.c
+++ b/src/ldso/dlinfo.c
@@ -1,7 +1,6 @@
 #define _GNU_SOURCE
 #include <dlfcn.h>
 #include "dynlink.h"
-#include "libc.h"
 
 int dlinfo(void *dso, int req, void *res)
 {
diff --git a/src/ldso/dlopen.c b/src/ldso/dlopen.c
index 9544741b..69372a22 100644
--- a/src/ldso/dlopen.c
+++ b/src/ldso/dlopen.c
@@ -1,6 +1,5 @@
 #include <dlfcn.h>
 #include "dynlink.h"
-#include "libc.h"
 
 static void *stub_dlopen(const char *file, int mode)
 {
diff --git a/src/ldso/tlsdesc.c b/src/ldso/tlsdesc.c
index caf8dc08..49a1f18c 100644
--- a/src/ldso/tlsdesc.c
+++ b/src/ldso/tlsdesc.c
@@ -1,6 +1,5 @@
 #include <stddef.h>
 #include <dynlink.h>
-#include "libc.h"
 
 ptrdiff_t __tlsdesc_static()
 {