aboutsummaryrefslogtreecommitdiff
path: root/gprofng/libcollector/synctrace.c
diff options
context:
space:
mode:
Diffstat (limited to 'gprofng/libcollector/synctrace.c')
-rw-r--r--gprofng/libcollector/synctrace.c23
1 files changed, 15 insertions, 8 deletions
diff --git a/gprofng/libcollector/synctrace.c b/gprofng/libcollector/synctrace.c
index 565afbe..4c4d80d 100644
--- a/gprofng/libcollector/synctrace.c
+++ b/gprofng/libcollector/synctrace.c
@@ -26,6 +26,7 @@
#include <dlfcn.h>
#include <unistd.h>
#include <semaphore.h> /* sem_wait() */
+#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <sys/param.h>
@@ -252,22 +253,28 @@ open_experiment (const char *exp)
collector_interface->writeLog (" <profdata fname=\"%s\"/>\n",
module_interface.description);
/* Record Sync_packet description */
- Sync_packet *pp = NULL;
collector_interface->writeLog (" <profpckt kind=\"%d\" uname=\"Synchronization tracing data\">\n", SYNC_PCKT);
collector_interface->writeLog (" <field name=\"LWPID\" uname=\"Lightweight process id\" offset=\"%d\" type=\"%s\"/>\n",
- &pp->comm.lwp_id, sizeof (pp->comm.lwp_id) == 4 ? "INT32" : "INT64");
+ (int) offsetof (Sync_packet, comm.lwp_id),
+ fld_sizeof (Sync_packet, comm.lwp_id) == 4 ? "INT32" : "INT64");
collector_interface->writeLog (" <field name=\"THRID\" uname=\"Thread number\" offset=\"%d\" type=\"%s\"/>\n",
- &pp->comm.thr_id, sizeof (pp->comm.thr_id) == 4 ? "INT32" : "INT64");
+ (int) offsetof (Sync_packet, comm.thr_id),
+ fld_sizeof (Sync_packet, comm.thr_id) == 4 ? "INT32" : "INT64");
collector_interface->writeLog (" <field name=\"CPUID\" uname=\"CPU id\" offset=\"%d\" type=\"%s\"/>\n",
- &pp->comm.cpu_id, sizeof (pp->comm.cpu_id) == 4 ? "INT32" : "INT64");
+ (int) offsetof (Sync_packet, comm.cpu_id),
+ fld_sizeof (Sync_packet, comm.cpu_id) == 4 ? "INT32" : "INT64");
collector_interface->writeLog (" <field name=\"TSTAMP\" uname=\"High resolution timestamp\" offset=\"%d\" type=\"%s\"/>\n",
- &pp->comm.tstamp, sizeof (pp->comm.tstamp) == 4 ? "INT32" : "INT64");
+ (int) offsetof (Sync_packet, comm.tstamp),
+ fld_sizeof (Sync_packet, comm.tstamp) == 4 ? "INT32" : "INT64");
collector_interface->writeLog (" <field name=\"FRINFO\" offset=\"%d\" type=\"%s\"/>\n",
- &pp->comm.frinfo, sizeof (pp->comm.frinfo) == 4 ? "INT32" : "INT64");
+ (int) offsetof (Sync_packet, comm.frinfo),
+ fld_sizeof (Sync_packet, comm.frinfo) == 4 ? "INT32" : "INT64");
collector_interface->writeLog (" <field name=\"SRQST\" uname=\"Synchronization start time\" offset=\"%d\" type=\"%s\"/>\n",
- &pp->requested, sizeof (pp->requested) == 4 ? "INT32" : "INT64");
+ (int) offsetof (Sync_packet, requested),
+ fld_sizeof (Sync_packet, requested) == 4 ? "INT32" : "INT64");
collector_interface->writeLog (" <field name=\"SOBJ\" uname=\"Synchronization object address\" offset=\"%d\" type=\"%s\"/>\n",
- &pp->objp, sizeof (pp->objp) == 4 ? "INT32" : "INT64");
+ (int) offsetof (Sync_packet, objp),
+ fld_sizeof (Sync_packet, objp) == 4 ? "INT32" : "INT64");
collector_interface->writeLog (" </profpckt>\n");
collector_interface->writeLog ("</profile>\n");