diff options
author | Siddhesh Poyarekar <siddhesh@redhat.com> | 2014-11-20 12:03:11 +0530 |
---|---|---|
committer | Siddhesh Poyarekar <siddhesh@redhat.com> | 2014-11-24 11:41:42 +0530 |
commit | a10178bda190a62e7e3f56773f55f23cf06848a7 (patch) | |
tree | aec76d63ed6098f2ec59bd6a057a537ec8cd38e8 /include/stap-probe.h | |
parent | 279bc5b3c384c09746fbadb2b68c6db9e833c064 (diff) | |
download | glibc-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/stap-probe.h')
-rw-r--r-- | include/stap-probe.h | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/include/stap-probe.h b/include/stap-probe.h index 150fc1ec26..6532b376b3 100644 --- a/include/stap-probe.h +++ b/include/stap-probe.h @@ -40,18 +40,6 @@ architecture specific and can be found in the gdb and SystemTap source code. */ -# ifndef NOT_IN_libc -# define IN_LIB libc -# elif !defined IN_LIB -/* This is intentionally defined with extra unquoted commas in it so - that macro substitution will bomb out when it is used. We don't - just use #error here, so that this header can be included by - other headers that use LIBC_PROBE inside their own macros. We - only want such headers to fail to compile if those macros are - actually used in a context where IN_LIB has not been defined. */ -# define IN_LIB ,,,missing -DIN_LIB=... -- not extra-lib.mk?,,, -# endif - # define LIBC_PROBE(name, n, ...) \ LIBC_PROBE_1 (MODULE_NAME, name, n, ## __VA_ARGS__) |