This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH 04/19] Use MODULE_NAME in stap-probe instead of IN_LIB
- From: Siddhesh Poyarekar <siddhesh at redhat dot com>
- To: libc-alpha at sourceware dot org
- Cc: Siddhesh Poyarekar <siddhesh at redhat dot com>
- Date: Thu, 21 Aug 2014 16:27:28 +0530
- Subject: [PATCH 04/19] Use MODULE_NAME in stap-probe instead of IN_LIB
- Authentication-results: sourceware.org; auth=none
- References: <1408618663-2281-1-git-send-email-siddhesh at redhat dot com>
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