aboutsummaryrefslogtreecommitdiff
path: root/elf
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2017-02-26 20:17:52 -0500
committerZack Weinberg <zackw@panix.com>2017-03-01 20:33:46 -0500
commit9090848d0607e93fb08a1d68d9f263846ee33f02 (patch)
treed6cd846fff1640a49ef071cfd0bfabb8efa5352c /elf
parent5e4e10636cf999c251b623c3be143a22156721d6 (diff)
downloadglibc-9090848d0607e93fb08a1d68d9f263846ee33f02.zip
glibc-9090848d0607e93fb08a1d68d9f263846ee33f02.tar.gz
glibc-9090848d0607e93fb08a1d68d9f263846ee33f02.tar.bz2
Narrowing the visibility of libc-internal.h even further.
posix/wordexp-test.c used libc-internal.h for PTR_ALIGN_DOWN; similar to what was done with libc-diag.h, I have split the definitions of cast_to_integer, ALIGN_UP, ALIGN_DOWN, PTR_ALIGN_UP, and PTR_ALIGN_DOWN to a new header, libc-pointer-arith.h. It then occurred to me that the remaining declarations in libc-internal.h are mostly to do with early initialization, and probably most of the files including it, even in the core code, don't need it anymore. Indeed, only 19 files actually need what remains of libc-internal.h. 23 others need libc-diag.h instead, and 12 need libc-pointer-arith.h instead. No file needs more than one of them, and 16 don't need any of them! So, with this patch, libc-internal.h stops including libc-diag.h as well as losing the pointer arithmetic macros, and all including files are adjusted. * include/libc-pointer-arith.h: New file. Define cast_to_integer, ALIGN_UP, ALIGN_DOWN, PTR_ALIGN_UP, and PTR_ALIGN_DOWN here. * include/libc-internal.h: Definitions of above macros moved from here. Don't include libc-diag.h anymore either. * posix/wordexp-test.c: Include stdint.h and libc-pointer-arith.h. Don't include libc-internal.h. * debug/pcprofile.c, elf/dl-tunables.c, elf/soinit.c, io/openat.c * io/openat64.c, misc/ptrace.c, nptl/pthread_clock_gettime.c * nptl/pthread_clock_settime.c, nptl/pthread_cond_common.c * string/strcoll_l.c, sysdeps/nacl/brk.c * sysdeps/unix/clock_settime.c * sysdeps/unix/sysv/linux/i386/get_clockfreq.c * sysdeps/unix/sysv/linux/ia64/get_clockfreq.c * sysdeps/unix/sysv/linux/powerpc/get_clockfreq.c * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c: Don't include libc-internal.h. * elf/get-dynamic-info.h, iconv/loop.c * iconvdata/iso-2022-cn-ext.c, locale/weight.h, locale/weightwc.h * misc/reboot.c, nis/nis_table.c, nptl_db/thread_dbP.h * nscd/connections.c, resolv/res_send.c, soft-fp/fmadf4.c * soft-fp/fmasf4.c, soft-fp/fmatf4.c, stdio-common/vfscanf.c * sysdeps/ieee754/dbl-64/e_lgamma_r.c * sysdeps/ieee754/dbl-64/k_rem_pio2.c * sysdeps/ieee754/flt-32/e_lgammaf_r.c * sysdeps/ieee754/flt-32/k_rem_pio2f.c * sysdeps/ieee754/ldbl-128/k_tanl.c * sysdeps/ieee754/ldbl-128ibm/k_tanl.c * sysdeps/ieee754/ldbl-96/e_lgammal_r.c * sysdeps/ieee754/ldbl-96/k_tanl.c, sysdeps/nptl/futex-internal.h: Include libc-diag.h instead of libc-internal.h. * elf/dl-load.c, elf/dl-reloc.c, locale/programs/locarchive.c * nptl/nptl-init.c, string/strcspn.c, string/strspn.c * malloc/malloc.c, sysdeps/i386/nptl/tls.h * sysdeps/nacl/dl-map-segments.h, sysdeps/x86_64/atomic-machine.h * sysdeps/unix/sysv/linux/spawni.c * sysdeps/x86_64/nptl/tls.h: Include libc-pointer-arith.h instead of libc-internal.h. * elf/get-dynamic-info.h, sysdeps/nacl/dl-map-segments.h * sysdeps/x86_64/atomic-machine.h: Add multiple include guard.
Diffstat (limited to 'elf')
-rw-r--r--elf/dl-load.c2
-rw-r--r--elf/dl-reloc.c2
-rw-r--r--elf/dl-tunables.c1
-rw-r--r--elf/get-dynamic-info.h7
-rw-r--r--elf/soinit.c1
5 files changed, 8 insertions, 5 deletions
diff --git a/elf/dl-load.c b/elf/dl-load.c
index a5318f9..c1b6d4b 100644
--- a/elf/dl-load.c
+++ b/elf/dl-load.c
@@ -36,7 +36,7 @@
#include <caller.h>
#include <sysdep.h>
#include <stap-probe.h>
-#include <libc-internal.h>
+#include <libc-pointer-arith.h>
#include <dl-dst.h>
#include <dl-load.h>
diff --git a/elf/dl-reloc.c b/elf/dl-reloc.c
index 4ac558d..b3c3a9b 100644
--- a/elf/dl-reloc.c
+++ b/elf/dl-reloc.c
@@ -25,8 +25,8 @@
#include <sys/param.h>
#include <sys/types.h>
#include <_itoa.h>
+#include <libc-pointer-arith.h>
#include "dynamic-link.h"
-#include <libc-internal.h>
/* Statistics function. */
#ifdef SHARED
diff --git a/elf/dl-tunables.c b/elf/dl-tunables.c
index e42aa67..ebf48bb 100644
--- a/elf/dl-tunables.c
+++ b/elf/dl-tunables.c
@@ -22,7 +22,6 @@
#include <stdbool.h>
#include <unistd.h>
#include <stdlib.h>
-#include <libc-internal.h>
#include <sysdep.h>
#include <fcntl.h>
#include <ldsodefs.h>
diff --git a/elf/get-dynamic-info.h b/elf/get-dynamic-info.h
index 86760d8..6413558 100644
--- a/elf/get-dynamic-info.h
+++ b/elf/get-dynamic-info.h
@@ -16,8 +16,11 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#ifndef _GET_DYNAMIC_INFO_H
+#define _GET_DYNAMIC_INFO_H 1
+
#include <assert.h>
-#include <libc-internal.h>
+#include <libc-diag.h>
#ifndef RESOLVE_MAP
static
@@ -179,3 +182,5 @@ elf_get_dynamic_info (struct link_map *l, ElfW(Dyn) *temp)
info[DT_RPATH] = NULL;
#endif
}
+
+#endif /* get-dynamic-info.h */
diff --git a/elf/soinit.c b/elf/soinit.c
index 7139830..fe99357 100644
--- a/elf/soinit.c
+++ b/elf/soinit.c
@@ -4,7 +4,6 @@
calling those lists of functions. */
#ifndef NO_CTORS_DTORS_SECTIONS
-# include <libc-internal.h>
# include <stdlib.h>
static void (*const __CTOR_LIST__[1]) (void)