diff --git a/ChangeLog b/ChangeLog index 0bde88ca37..43759c8ad7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2014-11-24 Siddhesh Poyarekar + + * Makeconfig (module-cppflags-real): Define MODULE_NAME + instead of IN_MODULE. + * include/libc-symbols.h (IN_MODULE): Define using + MODULE_NAME. + (PASTE_NAME, PASTE_NAME1): New macros. + * include/stap-probe.h (LIBC_PROBE_1): Use MODULE_NAME instead + of IN_LIB. + (STAP_PROBE_ASM): Likewise. + 2014-11-23 Samuel Thibault * sysdeps/mach/hurd/i386/init-first.c (posixland_init): Call diff --git a/Makeconfig b/Makeconfig index 1a26cc5568..bbf546072c 100644 --- a/Makeconfig +++ b/Makeconfig @@ -830,9 +830,9 @@ in-module = $(subst -,_,$(firstword $(libof-$(basename $(@F))) \ libc)) module-cppflags-real = -include $(common-objpfx)libc-modules.h \ - -DIN_MODULE=MODULE_$(in-module) + -DMODULE_NAME=$(in-module) -# We don't need libc-modules.h and the IN_MODULE definition for +# We don't need libc-modules.h and the MODULE_NAME definition for # shlib-version.v.i. module-cppflags = $(if $(filter $(@F),$(skip-module-cppflags)), \ ,$(module-cppflags-real)) @@ -1008,7 +1008,7 @@ postclean-generated += soversions.mk soversions.i \ before-compile += $(common-objpfx)libc-modules.h ifeq ($(soversions.mk-done),t) # Generate a header with macro definitions for use with the IS_IN macro. -# These are the possible values for the IN_MODULE macro defined when building +# These are the possible values for the MODULE_NAME macro defined when building # sources, to identify which module the translation unit is going to be built # into. $(common-objpfx)libc-modules.h: $(common-objpfx)libc-modules.stmp; @: diff --git a/include/libc-symbols.h b/include/libc-symbols.h index 9c5c9bb850..5cbf47308d 100644 --- a/include/libc-symbols.h +++ b/include/libc-symbols.h @@ -20,8 +20,12 @@ #ifndef _LIBC_SYMBOLS_H #define _LIBC_SYMBOLS_H 1 +#define IN_MODULE PASTE_NAME (MODULE_, MODULE_NAME) #define IS_IN(lib) (IN_MODULE == MODULE_##lib) +#define PASTE_NAME(a,b) PASTE_NAME1 (a,b) +#define PASTE_NAME1(a,b) a##b + /* This file's macros are included implicitly in the compilation of every file in the C library by -imacros. diff --git a/include/stap-probe.h b/include/stap-probe.h index 688646c9e9..150fc1ec26 100644 --- a/include/stap-probe.h +++ b/include/stap-probe.h @@ -30,7 +30,7 @@ Systemtap's header defines the macros STAP_PROBE (provider, name) and STAP_PROBEn (provider, name, arg1, ..., argn). For "provider" we paste - in the IN_LIB name (libc, libpthread, etc.) automagically. + in MODULE_NAME (libc, libpthread, etc.) automagically. The format of the arg parameters is discussed here: @@ -53,7 +53,7 @@ # endif # define LIBC_PROBE(name, n, ...) \ - LIBC_PROBE_1 (IN_LIB, name, n, ## __VA_ARGS__) + LIBC_PROBE_1 (MODULE_NAME, name, n, ## __VA_ARGS__) # define LIBC_PROBE_1(lib, name, n, ...) \ STAP_PROBE##n (lib, name, ## __VA_ARGS__) @@ -61,7 +61,7 @@ # define STAP_PROBE0 STAP_PROBE # define LIBC_PROBE_ASM(name, template) \ - STAP_PROBE_ASM (IN_LIB, name, template) + STAP_PROBE_ASM (MODULE_NAME, name, template) # define LIBC_PROBE_ASM_OPERANDS STAP_PROBE_ASM_OPERANDS