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

From: Arnaldo Carvalho de Melo <[email-masked]>
Date: Tue, 1 Sep 2020 14:36:25 -0300

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 <[email-masked]> 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]$