Hi all, Doing the perf native (PowerPC le) build today produces these warnings: util/dsos.c: In function 'dsos__findnew_id': util/dsos.c:39:14: note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5 39 | dso->id.maj = id->maj; | ~~~~~~~~~~~~^~~~~~~~~ util/namespaces.c: In function 'nsinfo__new': util/namespaces.c:139:12: note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5 139 | nsi->pid = pid; | ~~~~~~~~~^~~~~ util/evlist.c: In function 'perf_evlist__set_id_pos': util/evlist.c:116:17: note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5 116 | evlist->id_pos = first->id_pos; | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ util/annotate.c: In function 'annotation__init_column_widths': util/annotate.c:2701:44: note: the layout of aggregates containing vectors with 2-byte alignment has changed in GCC 5 2701 | notes->widths.addr = notes->widths.target = | ~~~~~~~~~~~~~~~~~~~~~^ 2702 | notes->widths.min_addr = hex_width(symbol__size(sym)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ util/session.c: In function 'perf_event__read_swap': util/session.c:620:20: note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5 620 | event->read.pid = bswap_32(event->read.pid); | ^ util/jitdump.c: In function 'jit_process': util/jitdump.c:329:23: note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5 329 | jr->load.pid = bswap_32(jr->load.pid); | ^ util/auxtrace.c: In function 'auxtrace_queues__add_buffer.part.0': util/auxtrace.c:360:12: note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5 360 | static int auxtrace_queues__add_buffer(struct auxtrace_queues *queues, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ util/synthetic-events.c: In function 'perf_event__synthesize_sample': util/synthetic-events.c:1441:22: note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5 1441 | u.val32[0] = sample->pid; | ~~~~~~^~~~~ util/probe-finder.c: In function 'line_range_search_cb': util/probe-finder.c:1887:17: note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5 1887 | lr->start = lf->lno_s; | ~~^~~~~~~ util/machine.c: In function 'machine__process_mmap2_event': util/machine.c:1716:5: note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5 1716 | int machine__process_mmap2_event(struct machine *machine, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ util/intel-pt-decoder/intel-pt-decoder.c: In function 'intel_pt_get_next_packet': util/intel-pt-decoder/intel-pt-decoder.c:916:21: note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5 916 | decoder->pkt_step = ret; | ~~~~~~~~~~~~~~~~~~^~~~~ util/pmu.c: In function '__perf_pmu__new_alias': util/pmu.c:308:12: note: the layout of aggregates containing vectors with 2-byte alignment has changed in GCC 5 308 | static int __perf_pmu__new_alias(struct list_head *list, char *dir, char *name, | ^~~~~~~~~~~~~~~~~~~~~ util/intel-pt.c: In function 'intel_pt_synth_pebs_sample': util/intel-pt.c:1284:14: note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5 1284 | sample->pid = ptq->pid; | ~~~~~~~~~~~~^~~~~~~~~~ util/parse-events.c: In function 'parse_events__modifier_event': util/parse-events.c:1885:5: note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5 1885 | int parse_events__modifier_event(struct list_head *list, char *str, bool add) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/sfr/next/next/tools/perf/util/namespaces.c: In function 'nsinfo__new': /home/sfr/next/next/tools/perf/util/namespaces.c:139:12: note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5 139 | nsi->pid = pid; | ~~~~~~~~~^~~~~ I assume they are because I have changed all my toolcahins to gcc v10 today. -- Cheers, Stephen Rothwell