From 5ce3737931bb411a8d167356d4d0287b53b0cbdc Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Wed, 12 Sep 2018 00:08:09 -0400 Subject: 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. --- src/env/__environ.c | 2 +- src/env/clearenv.c | 1 - src/env/getenv.c | 1 - src/env/putenv.c | 1 - src/env/unsetenv.c | 1 - 5 files changed, 1 insertion(+), 5 deletions(-) (limited to 'src/env') diff --git a/src/env/__environ.c b/src/env/__environ.c index e6c6faa5..fe8abcf9 100644 --- a/src/env/__environ.c +++ b/src/env/__environ.c @@ -1,4 +1,4 @@ -#include "libc.h" +#include char **__environ = 0; weak_alias(__environ, ___environ); diff --git a/src/env/clearenv.c b/src/env/clearenv.c index 2e275b43..db8e8e94 100644 --- a/src/env/clearenv.c +++ b/src/env/clearenv.c @@ -1,7 +1,6 @@ #define _GNU_SOURCE #include #include -#include "libc.h" static void dummy(char *old, char *new) {} weak_alias(dummy, __env_rm_add); diff --git a/src/env/getenv.c b/src/env/getenv.c index f2797798..a90d39cf 100644 --- a/src/env/getenv.c +++ b/src/env/getenv.c @@ -1,7 +1,6 @@ #include #include #include -#include "libc.h" char *getenv(const char *name) { diff --git a/src/env/putenv.c b/src/env/putenv.c index 20f96022..dce8c828 100644 --- a/src/env/putenv.c +++ b/src/env/putenv.c @@ -1,7 +1,6 @@ #include #include #include -#include "libc.h" static void dummy(char *old, char *new) {} weak_alias(dummy, __env_rm_add); diff --git a/src/env/unsetenv.c b/src/env/unsetenv.c index 471219e8..b14c4c92 100644 --- a/src/env/unsetenv.c +++ b/src/env/unsetenv.c @@ -2,7 +2,6 @@ #include #include #include -#include "libc.h" static void dummy(char *old, char *new) {} weak_alias(dummy, __env_rm_add); -- cgit v1.2.1