From a10178bda190a62e7e3f56773f55f23cf06848a7 Mon Sep 17 00:00:00 2001 From: Siddhesh Poyarekar Date: Thu, 20 Nov 2014 12:03:11 +0530 Subject: 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. --- extra-lib.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'extra-lib.mk') diff --git a/extra-lib.mk b/extra-lib.mk index fd8812cb21..c719bd9b91 100644 --- a/extra-lib.mk +++ b/extra-lib.mk @@ -106,4 +106,4 @@ ifneq (,$(cpp-srcs-left)) include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left)) endif -CPPFLAGS-$(lib) := -DNOT_IN_libc=1 -DIS_IN_$(lib)=1 -DIN_LIB=$(lib) +CPPFLAGS-$(lib) := -DNOT_IN_libc=1 -DIS_IN_$(lib)=1 -- cgit 1.4.1