Re: [PATCH] perf tools: Fix a building error introduced by recent new patch

From: Arnaldo Carvalho de Melo
Date: Fri Feb 27 2015 - 08:40:33 EST


Em Fri, Feb 27, 2015 at 10:36:06AM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Fri, Feb 27, 2015 at 07:53:46PM +0800, Yunlong Song escreveu:
> > The recent new patch "perf tools: Add new 'perf data' command" (commit
> > 2245bf14 in acme's git repo perf/core) has caused a building error when
> > compiling the source code of perf:
> >
> > cc1: warnings being treated as errors
> > builtin-data.c:89: error: missing initializer
> > builtin-data.c:89: error: (near initialization for âdata_cmds[1].summaryâ)
> > make[2]: *** [builtin-data.o] Error 1
> > make[2]: *** Waiting for unfinished jobs....
> > LD bench/perf-in.o
> > LD tests/perf-in.o
> > make[1]: *** [perf-in.o] Error 2
> > make: *** [all] Error 2
> >
> > This patch fixes the building error above.
> >
> > Signed-off-by: Yunlong Song <yunlong.song@xxxxxxxxxx>
> > ---
> > tools/perf/builtin-data.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/tools/perf/builtin-data.c b/tools/perf/builtin-data.c
> > index 9705ba7..0385063 100644
> > --- a/tools/perf/builtin-data.c
> > +++ b/tools/perf/builtin-data.c
> > @@ -86,7 +86,7 @@ static int cmd_data_convert(int argc, const char **argv,
> >
> > static struct data_cmd data_cmds[] = {
> > { "convert", "converts data file between formats", cmd_data_convert },
> > - { NULL },
> > + { NULL, NULL, NULL },
>
> I guess here we could just do it as:
>
> { NULL, },
>
> Will check and apply that instead, as it is more "future proof", i.e. if
> a new field is introduced to this struct, one doesn't need to bother
> updating the data_cmds array sentinel.

Also please mention the gcc version, as this is not a problem in my
devel machine, where I have:

[acme@ssdandy linux]$ gcc -v
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.2-20140120/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.2-20140120/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC)
[acme@ssdandy linux]$

But I'll get those VMs with more distros working again...

Thanks for the report!

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/