path: root/src/thread
diff options
authorRich Felker <>2018-09-12 00:08:09 -0400
committerRich Felker <>2018-09-12 14:34:37 -0400
commit5ce3737931bb411a8d167356d4d0287b53b0cbdc (patch)
tree726fc5dde9cc462316faa715158c38f0da72292d /src/thread
parent0676c3a34c7bf12b33f8f5efb92476f4ffc7f20e (diff)
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/thread')
8 files changed, 1 insertions, 8 deletions
diff --git a/src/thread/__syscall_cp.c b/src/thread/__syscall_cp.c
index afd82eff..af666f06 100644
--- a/src/thread/__syscall_cp.c
+++ b/src/thread/__syscall_cp.c
@@ -1,6 +1,5 @@
#include "pthread_impl.h"
#include "syscall.h"
-#include "libc.h"
hidden long __syscall_cp_c();
diff --git a/src/thread/__tls_get_addr.c b/src/thread/__tls_get_addr.c
index 013817b4..34fbc46c 100644
--- a/src/thread/__tls_get_addr.c
+++ b/src/thread/__tls_get_addr.c
@@ -1,6 +1,5 @@
#include <stddef.h>
#include "pthread_impl.h"
-#include "libc.h"
void *__tls_get_addr(tls_mod_off_t *v)
diff --git a/src/thread/pthread_attr_setinheritsched.c b/src/thread/pthread_attr_setinheritsched.c
index 605af973..6a648376 100644
--- a/src/thread/pthread_attr_setinheritsched.c
+++ b/src/thread/pthread_attr_setinheritsched.c
@@ -1,6 +1,5 @@
#include "pthread_impl.h"
#include "syscall.h"
-#include "libc.h"
hidden void *__start_sched(void *p)
diff --git a/src/thread/pthread_cancel.c b/src/thread/pthread_cancel.c
index 43f8d405..2f9d5e97 100644
--- a/src/thread/pthread_cancel.c
+++ b/src/thread/pthread_cancel.c
@@ -2,7 +2,6 @@
#include <string.h>
#include "pthread_impl.h"
#include "syscall.h"
-#include "libc.h"
hidden long __cancel(), __syscall_cp_asm(), __syscall_cp_c();
diff --git a/src/thread/pthread_equal.c b/src/thread/pthread_equal.c
index 7c31482a..dbb73655 100644
--- a/src/thread/pthread_equal.c
+++ b/src/thread/pthread_equal.c
@@ -1,6 +1,5 @@
#include <pthread.h>
#include <threads.h>
-#include "libc.h"
static int __pthread_equal(pthread_t a, pthread_t b)
diff --git a/src/thread/pthread_self.c b/src/thread/pthread_self.c
index 241a6202..bd3bf95b 100644
--- a/src/thread/pthread_self.c
+++ b/src/thread/pthread_self.c
@@ -1,6 +1,5 @@
#include "pthread_impl.h"
#include <threads.h>
-#include "libc.h"
static pthread_t __pthread_self_internal()
diff --git a/src/thread/pthread_testcancel.c b/src/thread/pthread_testcancel.c
index ee48e6d8..d772449d 100644
--- a/src/thread/pthread_testcancel.c
+++ b/src/thread/pthread_testcancel.c
@@ -1,5 +1,4 @@
#include "pthread_impl.h"
-#include "libc.h"
static void dummy()
diff --git a/src/thread/x32/syscall_cp_fixup.c b/src/thread/x32/syscall_cp_fixup.c
index b1a1faa6..4956610f 100644
--- a/src/thread/x32/syscall_cp_fixup.c
+++ b/src/thread/x32/syscall_cp_fixup.c
@@ -1,5 +1,5 @@
#include <sys/syscall.h>
-#include "libc.h"
+#include <features.h>
hidden long __syscall_cp_internal(volatile void*, long long, long long,
long long, long long, long long,