about summary refs log tree commit diff
path: root/include/netdb.h
diff options
context:
space:
mode:
authorSiddhesh Poyarekar <siddhesh@redhat.com>2014-11-20 12:03:11 +0530
committerSiddhesh Poyarekar <siddhesh@redhat.com>2014-11-24 11:41:42 +0530
commita10178bda190a62e7e3f56773f55f23cf06848a7 (patch)
treeaec76d63ed6098f2ec59bd6a057a537ec8cd38e8 /include/netdb.h
parent279bc5b3c384c09746fbadb2b68c6db9e833c064 (diff)
downloadglibc-a10178bda190a62e7e3f56773f55f23cf06848a7.tar.gz
glibc-a10178bda190a62e7e3f56773f55f23cf06848a7.tar.xz
glibc-a10178bda190a62e7e3f56773f55f23cf06848a7.zip
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.
Diffstat (limited to 'include/netdb.h')
-rw-r--r--include/netdb.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/netdb.h b/include/netdb.h
index a7960ebdf7..eccdbe6462 100644
--- a/include/netdb.h
+++ b/include/netdb.h
@@ -4,7 +4,7 @@
 
 #ifndef _ISOMAC
 /* Macros for accessing h_errno from inside libc.  */
-# if !defined NOT_IN_libc || defined IN_LIB
+# if !defined NOT_IN_libc || IS_IN_LIB
 #  undef  h_errno
 #  ifndef NOT_IN_libc
 #   define h_errno __libc_h_errno
@@ -12,7 +12,7 @@
 #   define h_errno h_errno	/* For #ifndef h_errno tests.  */
 #  endif
 extern __thread int h_errno attribute_tls_model_ie;
-# endif /* !NOT_IN_libc || IN_LIB */
+# endif /* !NOT_IN_libc || IS_IN_LIB */
 # define __set_h_errno(x) (h_errno = (x))
 
 libc_hidden_proto (hstrerror)