aboutsummaryrefslogtreecommitdiff
path: root/gprofng/libcollector/profile.c
diff options
context:
space:
mode:
Diffstat (limited to 'gprofng/libcollector/profile.c')
-rw-r--r--gprofng/libcollector/profile.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/gprofng/libcollector/profile.c b/gprofng/libcollector/profile.c
index 4819d83..02c3e66 100644
--- a/gprofng/libcollector/profile.c
+++ b/gprofng/libcollector/profile.c
@@ -27,6 +27,7 @@
#include "config.h"
#include <dlfcn.h>
+#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <ucontext.h>
@@ -181,22 +182,28 @@ open_experiment (const char *exp)
module_interface.description);
/* Record Profile packet description */
- ClockPacket *cp = NULL;
collector_interface->writeLog (" <profpckt kind=\"%d\" uname=\"" STXT ("Clock profiling data") "\">\n", CLOCK_TYPE);
collector_interface->writeLog (" <field name=\"LWPID\" uname=\"" STXT ("Lightweight process id") "\" offset=\"%d\" type=\"%s\"/>\n",
- &cp->lwp_id, sizeof (cp->lwp_id) == 4 ? "INT32" : "INT64");
+ (int) offsetof (ClockPacket, lwp_id),
+ fld_sizeof (ClockPacket, lwp_id) == 4 ? "INT32" : "INT64");
collector_interface->writeLog (" <field name=\"THRID\" uname=\"" STXT ("Thread number") "\" offset=\"%d\" type=\"%s\"/>\n",
- &cp->thr_id, sizeof (cp->thr_id) == 4 ? "INT32" : "INT64");
+ (int) offsetof (ClockPacket, thr_id),
+ fld_sizeof (ClockPacket, thr_id) == 4 ? "INT32" : "INT64");
collector_interface->writeLog (" <field name=\"CPUID\" uname=\"" STXT ("CPU id") "\" offset=\"%d\" type=\"%s\"/>\n",
- &cp->cpu_id, sizeof (cp->cpu_id) == 4 ? "INT32" : "INT64");
+ (int) offsetof (ClockPacket, cpu_id),
+ fld_sizeof (ClockPacket, cpu_id) == 4 ? "INT32" : "INT64");
collector_interface->writeLog (" <field name=\"TSTAMP\" uname=\"" STXT ("High resolution timestamp") "\" offset=\"%d\" type=\"%s\"/>\n",
- &cp->tstamp, sizeof (cp->tstamp) == 4 ? "INT32" : "INT64");
+ (int) offsetof (ClockPacket, tstamp),
+ fld_sizeof (ClockPacket, tstamp) == 4 ? "INT32" : "INT64");
collector_interface->writeLog (" <field name=\"FRINFO\" offset=\"%d\" type=\"%s\"/>\n",
- &cp->frinfo, sizeof (cp->frinfo) == 4 ? "INT32" : "INT64");
+ (int) offsetof (ClockPacket, frinfo),
+ fld_sizeof (ClockPacket, frinfo) == 4 ? "INT32" : "INT64");
collector_interface->writeLog (" <field name=\"MSTATE\" uname=\"" STXT ("Thread state") "\" offset=\"%d\" type=\"%s\"/>\n",
- &cp->mstate, sizeof (cp->mstate) == 4 ? "INT32" : "INT64");
+ (int) offsetof (ClockPacket, mstate),
+ fld_sizeof (ClockPacket, mstate) == 4 ? "INT32" : "INT64");
collector_interface->writeLog (" <field name=\"NTICK\" uname=\"" STXT ("Duration") "\" offset=\"%d\" type=\"%s\"/>\n",
- &cp->nticks, sizeof (cp->nticks) == 4 ? "INT32" : "INT64");
+ (int) offsetof (ClockPacket, nticks),
+ fld_sizeof (ClockPacket, nticks) == 4 ? "INT32" : "INT64");
collector_interface->writeLog (" </profpckt>\n");
collector_interface->writeLog ("</profile>\n");
return COL_ERROR_NONE;