Remove IN_LIB
commita10178bda190a62e7e3f56773f55f23cf06848a7
authorSiddhesh Poyarekar <siddhesh@redhat.com>
Thu, 20 Nov 2014 06:33:11 +0000 (20 12:03 +0530)
committerSiddhesh Poyarekar <siddhesh@redhat.com>
Mon, 24 Nov 2014 06:11:42 +0000 (24 11:41 +0530)
treeaec76d63ed6098f2ec59bd6a057a537ec8cd38e8
parent279bc5b3c384c09746fbadb2b68c6db9e833c064
Remove IN_LIB

Replace with IS_IN and IS_IN_LIB macros instead.  This change results
in a change in generated code, because it fixes a subtle bug.  The bug
was introduced when systemtap probes were added to lowlevellock.h,
which resulted in stap-probe.h being included in a number of places.
stap-probe.h always defines IN_LIB, which breaks a check in errno.h
and netdb.h since they rely on that macro to decide whether to
implement an internal version of a declaration or an external one.

The components that see a code change due to this are:

iconv_prog
libmemusage.so
libpcprofile.so
libSegFault.so
libutil.so.1
locale
localedef
nscd

All other built components (i.e. libc, libpthread, etc.) remain
unchanged by this on x86_64.

* elf/Makefile (CPPFLAGS-.os): Remove IN_LIB.
* elf/rtld-Rules (rtld-CPPFLAGS): Likewise.
* extra-lib.mk (CPPFLAGS-$(lib)): Likewise.
* include/libc-symbols.h (IS_IN_LIB): New macro.
* include/errno.h: Use IS_IN_LIB instead of IN_LIB.
* include/netdb.h: Likewise.
* include/stap-probe.h: Remove all uses of IN_LIB.
ChangeLog
elf/Makefile
elf/rtld-Rules
extra-lib.mk
include/errno.h
include/libc-symbols.h
include/netdb.h
include/stap-probe.h