This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 3/3] Narrowing the visibility of libc-internal.h even further.
- From: Carlos O'Donell <carlos at redhat dot com>
- To: Zack Weinberg <zackw at panix dot com>, libc-alpha at sourceware dot org
- Cc: joseph at codesourcery dot com, adhemerval dot zanella at linaro dot org, fweimer at redhat dot com
- Date: Wed, 1 Mar 2017 13:51:08 -0500
- Subject: Re: [PATCH 3/3] Narrowing the visibility of libc-internal.h even further.
- Authentication-results: sourceware.org; auth=none
- References: <20170301140212.14354-1-zackw@panix.com> <20170301140212.14354-4-zackw@panix.com>
On 03/01/2017 09:02 AM, Zack Weinberg wrote:
> 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.
This looks good to me.
--
Cheers,
Carlos.