From mboxrd@z Thu Jan 1 00:00:00 1970 From: nils@as68123.uab.ericsson.se (Nils Carlson) Date: Tue, 21 Sep 2010 14:13:52 +0200 (CEST) Subject: [ltt-dev] [UST PATCH 1/3] Change code for consistency In-Reply-To: <1284752472-350-1-git-send-email-david.goulet@polymtl.ca> References: <1284752472-350-1-git-send-email-david.goulet@polymtl.ca> Message-ID: Acked, pulled, thanks. /Nils On Fri, 17 Sep 2010, David Goulet wrote: > Use the kcompat stringify header for double level > stringification for markers section. > > Also use the GET_MARKER macro for uniformity across the code. > > Signed-off-by: David Goulet > --- > include/ust/marker.h | 33 +++++++++++++++------------------ > 1 files changed, 15 insertions(+), 18 deletions(-) > > diff --git a/include/ust/marker.h b/include/ust/marker.h > index 2751f58..287f20f 100644 > --- a/include/ust/marker.h > +++ b/include/ust/marker.h > @@ -30,15 +30,12 @@ > #include > #include > #include > +#include > > #include > > struct marker; > > -/* To stringify the expansion of a define */ > -#define XSTR(d) STR(d) > -#define STR(s) #s > - > /** > * marker_probe_func - Type of a marker probe function > * @mdata: marker data > @@ -83,6 +80,8 @@ struct marker { > #define CONFIG_MARKERS > #ifdef CONFIG_MARKERS > > +#define GET_MARKER(channel, name) (__mark_##channel##_##name) > + > #define _DEFINE_MARKER(channel, name, tp_name_str, tp_cb, format, unique, m) \ > struct registers regs; \ > \ > @@ -96,14 +95,14 @@ struct marker { > * will try to create the same symbols, resulting in a conflict. This \ > * is not unusual as it can be the result of function inlining. \ > */ \ > - ".ifndef __mstrtab_" XSTR(channel) "_" XSTR(name) "_channel_" XSTR(unique) "\n\t" \ > + ".ifndef __mstrtab_" __stringify(channel) "_" __stringify(name) "_channel_" __stringify(unique) "\n\t" \ > /*".section __markers_strings\n\t"*/ \ > ".section __markers_strings,\"aw\", at progbits\n\t" \ > - "__mstrtab_" XSTR(channel) "_" XSTR(name) "_channel_" XSTR(unique) ":\n\t" \ > - ".string \"" XSTR(channel) "\"\n\t" \ > - "__mstrtab_" XSTR(channel) "_" XSTR(name) "_name_" XSTR(unique) ":\n\t" \ > - ".string \"" XSTR(name) "\"\n\t" \ > - "__mstrtab_" XSTR(channel) "_" XSTR(name) "_format_" XSTR(unique) ":\n\t" \ > + "__mstrtab_" __stringify(channel) "_" __stringify(name) "_channel_" __stringify(unique) ":\n\t" \ > + ".string \"" __stringify(channel) "\"\n\t" \ > + "__mstrtab_" __stringify(channel) "_" __stringify(name) "_name_" __stringify(unique) ":\n\t" \ > + ".string \"" __stringify(name) "\"\n\t" \ > + "__mstrtab_" __stringify(channel) "_" __stringify(name) "_format_" __stringify(unique) ":\n\t" \ > ".string " "\"" format "\"" "\n\t" \ > ".previous\n\t" \ > ".endif\n\t" \ > @@ -113,14 +112,14 @@ struct marker { > ".section __markers,\"aw\", at progbits\n\t" \ > ".balign 8\n\t" \ > "2:\n\t" \ > - _ASM_PTR "(__mstrtab_" XSTR(channel) "_" XSTR(name) "_channel_" XSTR(unique) ")\n\t" /* channel string */ \ > - _ASM_PTR "(__mstrtab_" XSTR(channel) "_" XSTR(name) "_name_" XSTR(unique) ")\n\t" /* name string */ \ > - _ASM_PTR "(__mstrtab_" XSTR(channel) "_" XSTR(name) "_format_" XSTR(unique) ")\n\t" /* format string */ \ > + _ASM_PTR "(__mstrtab_" __stringify(channel) "_" __stringify(name) "_channel_" __stringify(unique) ")\n\t" /* channel string */ \ > + _ASM_PTR "(__mstrtab_" __stringify(channel) "_" __stringify(name) "_name_" __stringify(unique) ")\n\t" /* name string */ \ > + _ASM_PTR "(__mstrtab_" __stringify(channel) "_" __stringify(name) "_format_" __stringify(unique) ")\n\t" /* format string */ \ > ".byte 0\n\t" /* state imv */ \ > ".byte 0\n\t" /* ptype */ \ > ".word 0\n\t" /* channel_id */ \ > ".word 0\n\t" /* event_id */ \ > - ".balign " XSTR(__WORDSIZE) " / 8\n\t" /* alignment */ \ > + ".balign " __stringify(__WORDSIZE) " / 8\n\t" /* alignment */ \ > _ASM_PTR "(marker_probe_cb)\n\t" /* call */ \ > _ASM_PTR "(__mark_empty_function)\n\t" /* marker_probe_closure single.field1 */ \ > _ASM_PTR "0\n\t" /* marker_probe_closure single.field2 */ \ > @@ -146,7 +145,7 @@ struct marker { > static const char __mstrtab_##channel##_##name[] \ > __attribute__((section("__markers_strings"))) \ > = #channel "\0" #name "\0" format; \ > - static struct marker __mark_##channel##_##name \ > + static struct marker GET_MARKER(channel, name) \ > __attribute__((section("__markers"), aligned(8))) = \ > { __mstrtab_##channel##_##name, \ > &__mstrtab_##channel##_##name[sizeof(#channel)], \ > @@ -195,15 +194,13 @@ struct marker { > } \ > DEFINE_MARKER_TP(channel, name, tp_name, tp_cb, format);\ > __mark_check_format(format, ## args); \ > - (*__mark_##channel##_##name.call)(&__mark_##channel##_##name, \ > + (*GET_MARKER(channel, name).call)(&GET_MARKER(channel, name), \ > call_private, ®s, ## args); \ > } while (0) > > extern void marker_update_probe_range(struct marker *begin, > struct marker *end); > > -#define GET_MARKER(channel, name) (__mark_##channel##_##name) > - > #else /* !CONFIG_MARKERS */ > #define DEFINE_MARKER(channel, name, tp_name, tp_cb, format, m) > #define __trace_mark(generic, channel, name, call_private, format, args...) \ > -- > 1.7.2.3 > > > _______________________________________________ > ltt-dev mailing list > ltt-dev at lists.casi.polymtl.ca > http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev >