From patchwork Wed Sep 17 12:47:16 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Siddhesh Poyarekar X-Patchwork-Id: 2887 Received: (qmail 13228 invoked by alias); 17 Sep 2014 12:47:25 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 13214 invoked by uid 89); 17 Sep 2014 12:47:24 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.7 required=5.0 tests=AWL, BAYES_00, RP_MATCHES_RCVD, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Date: Wed, 17 Sep 2014 18:17:16 +0530 From: Siddhesh Poyarekar To: libc-alpha@sourceware.org Cc: Roland McGrath Subject: [ping][PATCH 04/19] Use MODULE_NAME in stap-probe instead of IN_LIB Message-ID: <20140917124715.GW6586@spoyarek.pnq.redhat.com> References: <1408618663-2281-1-git-send-email-siddhesh@redhat.com> <1408618663-2281-5-git-send-email-siddhesh@redhat.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1408618663-2281-5-git-send-email-siddhesh@redhat.com> User-Agent: Mutt/1.5.22.1-rc1 (2013-10-16) Rebased on top of latest master. No changes to the patch. Siddhesh From b3ae47d0b34aa5d0366cf27cb944aa008e069186 Mon Sep 17 00:00:00 2001 From: Siddhesh Poyarekar 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") + } }