X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Fltt%2Ftracefile.c;h=72eb3a6efc0a4af46bb0a21859b373666de68dc7;hb=72013e4093fbaf26456b22101550d58253e858dd;hp=9bd4e2c67284ebb58958f51904c628e2764cf29e;hpb=44f317b74c12963935e1893155eaada5dae31dd6;p=lttv.git diff --git a/ltt/branches/poly/ltt/tracefile.c b/ltt/branches/poly/ltt/tracefile.c index 9bd4e2c6..72eb3a6e 100644 --- a/ltt/branches/poly/ltt/tracefile.c +++ b/ltt/branches/poly/ltt/tracefile.c @@ -272,7 +272,9 @@ int parse_trace_header(void *header, LttTracefile *tf, LttTrace *t) t->start_time.tv_nsec *= 1000; /* microsec to nanosec */ t->start_time_from_tsc = ltt_time_from_uint64( - (double)t->start_tsc * 1000000.0 / (double)t->start_freq); + (double)t->start_tsc + * (1000000000.0 / tf->trace->freq_scale) + / (double)t->start_freq); } } break; @@ -1082,7 +1084,7 @@ static int ltt_process_facility_tracefile(LttTracefile *tf) g_debug("Doing LTT_EVENT_FACILITY_LOAD of facility %s", fac_name); pos = (tf->event.data + strlen(fac_name) + 1); - pos += ltt_align((size_t)pos, sizeof(guint32), tf->has_alignment); + pos += ltt_align((size_t)pos, tf->trace->arch_size, tf->has_alignment); fac_load_data = (struct LttFacilityLoad *)pos; fac = &g_array_index (tf->trace->facilities_by_num, LttFacility, @@ -1138,7 +1140,7 @@ static int ltt_process_facility_tracefile(LttTracefile *tf) g_debug("Doing LTT_EVENT_STATE_DUMP_FACILITY_LOAD of facility %s", fac_name); pos = (tf->event.data + strlen(fac_name) + 1); - pos += ltt_align((size_t)pos, sizeof(guint32), tf->has_alignment); + pos += ltt_align((size_t)pos, tf->trace->arch_size, tf->has_alignment); fac_state_dump_load_data = (struct LttStateDumpFacilityLoad *)pos; fac = &g_array_index (tf->trace->facilities_by_num, LttFacility, @@ -2040,6 +2042,7 @@ void ltt_update_event_size(LttTracefile *tf) goto event_id_error; } + goto no_offset; /* Skip the field computation */ } else { g_warning("Unknown facility %hhu (0x%hhx) in tracefile %s", tf->event.facility_id, @@ -2066,7 +2069,8 @@ void ltt_update_event_size(LttTracefile *tf) //g_debug("Event root field : f.e %hhu.%hhu size %zd", // tf->event.facility_id, // tf->event.event_id, size); - + +no_offset: tf->event.data_size = size; /* Check consistency between kernel and LTTV structure sizes */