Also, change visibility of marker structs so they are visible
only to the current compilation unit. This allows to have the same
marker on the same line in two different files. It however does not
allow to have two identical (channel and name) markers on the same line
of the same file.
".align 8\n\t" \
XSTR(make_mark_struct_name(channel, name, unique)) ":\n\t" \
".global " XSTR(make_mark_struct_name(channel, name, unique)) "\n\t" \
".align 8\n\t" \
XSTR(make_mark_struct_name(channel, name, unique)) ":\n\t" \
".global " XSTR(make_mark_struct_name(channel, name, unique)) "\n\t" \
- ".hidden " XSTR(make_mark_struct_name(channel, name, unique)) "\n\t" \
+ ".local " XSTR(make_mark_struct_name(channel, name, unique)) "\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_" 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 */ \
__mark_struct_##channel##_##name##_##unique
#define __trace_mark(generic, channel, name, call_private, format, args...) \
__mark_struct_##channel##_##name##_##unique
#define __trace_mark(generic, channel, name, call_private, format, args...) \
- __trace_mark_counter(generic, channel, name, __COUNTER__, call_private, format, ## args)
+ __trace_mark_counter(generic, channel, name, __LINE__, call_private, format, ## args)
#define __trace_mark_counter(generic, channel, name, unique, call_private, format, args...) \
do { \
#define __trace_mark_counter(generic, channel, name, unique, call_private, format, args...) \
do { \
} while (0)
#define __trace_mark_tp(channel, name, call_private, tp_name, tp_cb, format, args...) \
} while (0)
#define __trace_mark_tp(channel, name, call_private, tp_name, tp_cb, format, args...) \
- __trace_mark_tp_counter(channel, name, __COUNTER__, call_private, tp_name, tp_cb, format, ## args)
+ __trace_mark_tp_counter(channel, name, __LINE__, call_private, tp_name, tp_cb, format, ## args)
#define __trace_mark_tp_counter(channel, name, unique, call_private, tp_name, tp_cb, format, args...) \
do { \
#define __trace_mark_tp_counter(channel, name, unique, call_private, tp_name, tp_cb, format, args...) \
do { \