Re: linux-next: build warnings from perf build in Linus' tree

From: Arnaldo Carvalho de Melo
Date: Tue Sep 01 2020 - 13:36:31 EST


Em Thu, Aug 27, 2020 at 09:10:09AM +1000, Stephen Rothwell escreveu:
> Hi all,
>
> On Thu, 27 Aug 2020 08:38:39 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> >
> > /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.
>
> From gcc v9, so I have no idea what the GGC 5 note is about.

Yeah, strange warning, and I reproduced it here with a container:

[perfbuilder@five x-powerpc64el]$ dm ubuntu:20.04-x-powerpc64el
Tue 01 Sep 2020 02:23:28 PM -03
# export PERF_TARBALL=http://192.168.122.1/perf/perf-5.9.0-rc1.tar.xz
# dm ubuntu:20.04-x-powerpc64el
1 37.44 ubuntu:20.04-x-powerpc64el : Ok powerpc64le-linux-gnu-gcc (Ubuntu 10-20200411-0ubuntu1) 10.0.1 20200411 (experimental) [master revision bb87d5cc77d:75961caccb7:f883c46b4877f637e0fa5025b4d6b5c9040ec566]
2 37.4383
[perfbuilder@five x-powerpc64el]$

But then the build goes thru and finishes ok :-\


CC /tmp/build/perf/util/perf-hooks.o
FLEX /tmp/build/perf/util/parse-events-flex.c
FLEX /tmp/build/perf/util/pmu-flex.c
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;
| ~~~~~~^~~~~
CC /tmp/build/perf/util/pmu-bison.o
FLEX /tmp/build/perf/util/expr-flex.c
CC /tmp/build/perf/util/expr-bison.o
CC /tmp/build/perf/util/parse-events.o
CC /tmp/build/perf/util/parse-events-flex.o
CC /tmp/build/perf/util/pmu.o
CC /tmp/build/perf/util/pmu-flex.o
CC /tmp/build/perf/util/expr-flex.o
CC /tmp/build/perf/util/expr.o
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/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/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,
| ^~~~~~~~~~~~~~~~~~~~~
LD /tmp/build/perf/util/intel-pt-decoder/perf-in.o
util/parse-events.c: In function 'parse_events__modifier_event':
util/parse-events.c:1892:5: note: the layout of aggregates containing vectors with 8-byte alignment has changed in GCC 5
1892 | int parse_events__modifier_event(struct list_head *list, char *str, bool add)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
LD /tmp/build/perf/util/perf-in.o
LD /tmp/build/perf/perf-in.o
LINK /tmp/build/perf/perf
make: Leaving directory '/git/linux/tools/perf'
+ set +o xtrace
/rx_and_build.sh: 38: powerpc64le-linux-gnu-clang: not found
[perfbuilder@five x-powerpc64el]$