This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[ping2][PATCH 04/19] Use MODULE_NAME in stap-probe instead of IN_LIB


Ping!

On Wed, Sep 17, 2014 at 06:17:16PM +0530, Siddhesh Poyarekar wrote:
> Rebased on top of latest master.  No changes to the patch.
> 
> Siddhesh
> 
> From b3ae47d0b34aa5d0366cf27cb944aa008e069186 Mon Sep 17 00:00:00 2001
> From: Siddhesh Poyarekar <siddhesh@redhat.com>
> Date: Thu, 21 Aug 2014 11:55:35 +0530
> Subject: [PATCH] Use MODULE_NAME in stap-probe instead of IN_LIB
> 
> Verified that the generated code is unchanged on x86_64.
> 
> 	* scripts/gen-libc-modules.awk (END): Generate defines for
> 	MODULE_NAME.
> 	* include/stap-probe.h (LIBC_PROBE_1): Use MODULE_NAME instead
> 	of IN_LIB.
> 	(STAP_PROBE_ASM): Likewise.
> ---
>  include/stap-probe.h         | 6 +++---
>  scripts/gen-libc-modules.awk | 9 ++++++++-
>  2 files changed, 11 insertions(+), 4 deletions(-)
> 
> diff --git a/include/stap-probe.h b/include/stap-probe.h
> index 688646c..150fc1e 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
>  
> diff --git a/scripts/gen-libc-modules.awk b/scripts/gen-libc-modules.awk
> index d3382b6..1ae4af3 100644
> --- a/scripts/gen-libc-modules.awk
> +++ b/scripts/gen-libc-modules.awk
> @@ -32,9 +32,16 @@ match (FILENAME, ".*soversions.i") {
>  
>  # Finally, print out the header file.
>  END {
> -  printf ("/* AUTOGENERATED BY gen-libc-modules.awk, DO NOT EDIT.  */\n\n")
> +  printf ("/* AUTOGENERATED BY gen-libc-modules.awk, DO NOT EDIT.  */\n")
>    i = 1
> +  print ("\n/* Allowed values for IN_MODULE.  */")
>    for (l in libs) {
>      printf ("#define MODULE_%s %d\n", l, libs[l])
>    }
> +  print ("\n/* Module names, used in stap-probe.h */")
> +  for (l in libs) {
> +    printf ("#if IN_MODULE == MODULE_%s\n", l)
> +    printf ("# define MODULE_NAME %s\n", l)
> +    printf ("#endif\n")
> +  }
>  }
> -- 
> 1.9.3
> 


Attachment: pgpF3w9eJ8HXb.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]