Em Wed, Aug 08, 2018 at 01:08:43PM -0300, Arnaldo Carvalho de Melo escreveu: > No need for __packed. > I'm removing that to avoid having this failling in compilers that have > such a warning, since we default to Werror. > Holler if there is something I'missing :-)
BTW: 15 68.32 debian:9 : Ok gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516 16 105.45 debian:experimental : Ok gcc (Debian 8.2.0-1) 8.2.0 17 39.76 debian:experimental-x-arm64 : Ok aarch64-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0 18 18.40 debian:experimental-x-mips : FAIL mips-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0 19 18.30 debian:experimental-x-mips64 : FAIL mips64-linux-gnuabi64-gcc (Debian 7.3.0-18) 7.3.0 20 20.58 debian:experimental-x-mipsel : FAIL mipsel-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0 21 38.90 fedora:20 : Ok gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-7) 22 39.14 fedora:21 : Ok gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6) 23 38.65 fedora:22 : Ok gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6) 24 41.29 fedora:23 : Ok gcc (GCC) 5.3.1 20160406 (Red Hat 5.3.1-6) 25 40.03 fedora:24 : Ok gcc (GCC) 6.3.1 20161221 (Red Hat 6.3.1-1) 26 17.49 fedora:24-x-ARC-uClibc : FAIL arc-linux-gcc (ARCompact ISA Linux uClibc toolchain 2017.09-rc2) 7.1.1 20170710 27 94.44 fedora:25 : Ok gcc (GCC) 6.4.1 20170727 (Red Hat 6.4.1-1) 28 104.96 fedora:26 : Ok gcc (GCC) 7.3.1 20180130 (Red Hat 7.3.1-2) 29 107.23 fedora:27 : Ok gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5) 30 120.34 fedora:28 : Ok gcc (GCC) 8.1.1 20180502 (Red Hat 8.1.1-1) Lets see, different warning, much newer GCC version (8.1.0), and additional errors in that file, I'll remove the __packed and see whats left, see at the end, out of curiosity, for (ARCompact ISA Linux uClibc toolchain 2017.09-rc2), older compiler (7.1.1) but same warnings/errors: 18 18.40 debian:experimental-x-mips : FAIL mips-linux-gnu-gcc (Debian 8.1.0-12) 8.1.0 CC /tmp/build/perf/util/s390-cpumsf.o CC /tmp/build/perf/util/parse-branch-options.o In file included from util/s390-cpumsf.c:161: util/s390-cpumsf-kernel.h:16:15: error: packed attribute causes inefficient alignment for 'def' [-Werror=attributes] unsigned int def:16; /* 0-15 Data Entry Format */ ^~~ util/s390-cpumsf-kernel.h:25:15: error: packed attribute causes inefficient alignment for 'CL' [-Werror=attributes] unsigned int CL:2; /* 32-33 Configuration Level */ ^~ util/s390-cpumsf-kernel.h:28:21: error: packed attribute causes inefficient alignment for 'ia' [-Werror=attributes] unsigned long long ia; /* Instruction Address */ ^~ util/s390-cpumsf-kernel.h:29:21: error: packed attribute causes inefficient alignment for 'gpp' [-Werror=attributes] unsigned long long gpp; /* Guest Program Parameter */ ^~~ util/s390-cpumsf-kernel.h:30:21: error: packed attribute causes inefficient alignment for 'hpp' [-Werror=attributes] unsigned long long hpp; /* Host Program Parameter */ ^~~ util/s390-cpumsf-kernel.h:34:15: error: packed attribute causes inefficient alignment for 'def' [-Werror=attributes] unsigned int def:16; /* 0-15 Data Entry Format */ ^~~ In file included from util/cpumap.h:10, from util/s390-cpumsf.c:150: util/s390-cpumsf.c: In function 's390_cpumsf_diag_show': util/s390-cpumsf.c:208:10: error: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'size_t' {aka 'unsigned int'} [-Werror=format=] pr_err("Invalid AUX trace diagnostic entry [%#08lx]\n", pos); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /git/linux/tools/perf/util/debug.h:20:21: note: in definition of macro 'pr_fmt' #define pr_fmt(fmt) fmt ^~~ util/s390-cpumsf.c:208:3: note: in expansion of macro 'pr_err' pr_err("Invalid AUX trace diagnostic entry [%#08lx]\n", pos); ^~~~~~ util/s390-cpumsf.c: In function 's390_cpumsf_trailer_show': util/s390-cpumsf.c:233:10: error: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'size_t' {aka 'unsigned int'} [-Werror=format=] pr_err("Invalid AUX trace trailer entry [%#08lx]\n", pos); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /git/linux/tools/perf/util/debug.h:20:21: note: in definition of macro 'pr_fmt' #define pr_fmt(fmt) fmt ^~~ util/s390-cpumsf.c:233:3: note: in expansion of macro 'pr_err' pr_err("Invalid AUX trace trailer entry [%#08lx]\n", pos); ^~~~~~ util/s390-cpumsf.c: In function 's390_cpumsf_make_event': util/s390-cpumsf.c:421:12: error: format '%lx' expects argument of type 'long unsigned int', but argument 6 has type 'u64' {aka 'long long unsigned int'} [-Werror=format=] pr_debug4("%s pos:%#zx ip:%#lx P:%d CL:%d pid:%d.%d cpumode:%d cpu:%d\n", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /git/linux/tools/perf/util/debug.h:20:21: note: in definition of macro 'pr_fmt' #define pr_fmt(fmt) fmt ^~~ /git/linux/tools/perf/util/debug.h:35:29: note: in expansion of macro 'pr_debugN' #define pr_debug4(fmt, ...) pr_debugN(4, pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~~~~ /git/linux/tools/perf/util/debug.h:35:42: note: in expansion of macro 'pr_fmt' #define pr_debug4(fmt, ...) pr_debugN(4, pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~ util/s390-cpumsf.c:421:2: note: in expansion of macro 'pr_debug4' pr_debug4("%s pos:%#zx ip:%#lx P:%d CL:%d pid:%d.%d cpumode:%d cpu:%d\n", ^~~~~~~~~ util/s390-cpumsf.c: In function 's390_cpumsf_samples': util/s390-cpumsf.c:501:10: error: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'off_t' {aka 'long long int'} [-Werror=format=] pr_err("[%#08lx] Invalid AUX trailer entry TOD clock base\n", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /git/linux/tools/perf/util/debug.h:20:21: note: in definition of macro 'pr_fmt' #define pr_fmt(fmt) fmt ^~~ util/s390-cpumsf.c:501:3: note: in expansion of macro 'pr_err' pr_err("[%#08lx] Invalid AUX trailer entry TOD clock base\n", ^~~~~~ util/s390-cpumsf.c: In function 's390_cpumsf_run_decoder': util/s390-cpumsf.c:610:12: error: format '%ld' expects argument of type 'long int', but argument 6 has type 'u64' {aka 'long long unsigned int'} [-Werror=format=] pr_debug4("%s queue_nr:%d buffer:%ld offset:%#lx size:%#zx rest:%#zx\n", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /git/linux/tools/perf/util/debug.h:20:21: note: in definition of macro 'pr_fmt' #define pr_fmt(fmt) fmt ^~~ /git/linux/tools/perf/util/debug.h:35:29: note: in expansion of macro 'pr_debugN' #define pr_debug4(fmt, ...) pr_debugN(4, pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~~~~ /git/linux/tools/perf/util/debug.h:35:42: note: in expansion of macro 'pr_fmt' #define pr_debug4(fmt, ...) pr_debugN(4, pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~ util/s390-cpumsf.c:610:2: note: in expansion of macro 'pr_debug4' pr_debug4("%s queue_nr:%d buffer:%ld offset:%#lx size:%#zx rest:%#zx\n", ^~~~~~~~~ util/s390-cpumsf.c:610:12: error: format '%lx' expects argument of type 'long unsigned int', but argument 7 has type 'u64' {aka 'long long unsigned int'} [-Werror=format=] pr_debug4("%s queue_nr:%d buffer:%ld offset:%#lx size:%#zx rest:%#zx\n", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /git/linux/tools/perf/util/debug.h:20:21: note: in definition of macro 'pr_fmt' #define pr_fmt(fmt) fmt ^~~ /git/linux/tools/perf/util/debug.h:35:29: note: in expansion of macro 'pr_debugN' #define pr_debug4(fmt, ...) pr_debugN(4, pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~~~~ /git/linux/tools/perf/util/debug.h:35:42: note: in expansion of macro 'pr_fmt' #define pr_debug4(fmt, ...) pr_debugN(4, pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~ util/s390-cpumsf.c:610:2: note: in expansion of macro 'pr_debug4' pr_debug4("%s queue_nr:%d buffer:%ld offset:%#lx size:%#zx rest:%#zx\n", ^~~~~~~~~ ----------------------------------------------------------------------------------- ----------------------------------------------------------------------------------- ----------------------------------------------------------------------------------- ----------------------------------------------------------------------------------- ----------------------------------------------------------------------------------- ----------------------------------------------------------------------------------- ----------------------------------------------------------------------------------- ----------------------------------------------------------------------------------- ----------------------------------------------------------------------------------- ----------------------------------------------------------------------------------- ----------------------------------------------------------------------------------- ----------------------------------------------------------------------------------- ----------------------------------------------------------------------------------- ----------------------------------------------------------------------------------- ----------------------------------------------------------------------------------- ----------------------------------------------------------------------------------- ----------------------------------------------------------------------------------- ----------------------------------------------------------------------------------- 26 17.49 fedora:24-x-ARC-uClibc : FAIL arc-linux-gcc (ARCompact ISA Linux uClibc toolchain 2017.09-rc2) 7.1.1 20170710 ----------------------------------------------------------------------------------- CC /tmp/build/perf/util/s390-cpumsf.o CC /tmp/build/perf/util/parse-branch-options.o In file included from util/s390-cpumsf.c:161:0: util/s390-cpumsf-kernel.h:16:15: error: packed attribute causes inefficient alignment for 'def' [-Werror=attributes] unsigned int def:16; /* 0-15 Data Entry Format */ ^~~ util/s390-cpumsf-kernel.h:25:15: error: packed attribute causes inefficient alignment for 'CL' [-Werror=attributes] unsigned int CL:2; /* 32-33 Configuration Level */ ^~ util/s390-cpumsf-kernel.h:28:21: error: packed attribute causes inefficient alignment for 'ia' [-Werror=attributes] unsigned long long ia; /* Instruction Address */ ^~ util/s390-cpumsf-kernel.h:29:21: error: packed attribute causes inefficient alignment for 'gpp' [-Werror=attributes] unsigned long long gpp; /* Guest Program Parameter */ ^~~ util/s390-cpumsf-kernel.h:30:21: error: packed attribute causes inefficient alignment for 'hpp' [-Werror=attributes] unsigned long long hpp; /* Host Program Parameter */ ^~~ util/s390-cpumsf-kernel.h:34:15: error: packed attribute causes inefficient alignment for 'def' [-Werror=attributes] unsigned int def:16; /* 0-15 Data Entry Format */ ^~~ In file included from util/cpumap.h:10:0, from util/s390-cpumsf.c:150: util/s390-cpumsf.c: In function 's390_cpumsf_diag_show': util/s390-cpumsf.c:208:10: error: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'size_t {aka unsigned int}' [-Werror=format=] pr_err("Invalid AUX trace diagnostic entry [%#08lx]\n", pos); ^ /git/linux/tools/perf/util/debug.h:20:21: note: in definition of macro 'pr_fmt' #define pr_fmt(fmt) fmt ^~~ util/s390-cpumsf.c:208:3: note: in expansion of macro 'pr_err' pr_err("Invalid AUX trace diagnostic entry [%#08lx]\n", pos); ^~~~~~ util/s390-cpumsf.c: In function 's390_cpumsf_trailer_show': util/s390-cpumsf.c:233:10: error: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'size_t {aka unsigned int}' [-Werror=format=] pr_err("Invalid AUX trace trailer entry [%#08lx]\n", pos); ^ /git/linux/tools/perf/util/debug.h:20:21: note: in definition of macro 'pr_fmt' #define pr_fmt(fmt) fmt ^~~ util/s390-cpumsf.c:233:3: note: in expansion of macro 'pr_err' pr_err("Invalid AUX trace trailer entry [%#08lx]\n", pos); ^~~~~~ util/s390-cpumsf.c: In function 's390_cpumsf_make_event': util/s390-cpumsf.c:421:12: error: format '%lx' expects argument of type 'long unsigned int', but argument 6 has type 'u64 {aka long long unsigned int}' [-Werror=format=] pr_debug4("%s pos:%#zx ip:%#lx P:%d CL:%d pid:%d.%d cpumode:%d cpu:%d\n", ^ /git/linux/tools/perf/util/debug.h:20:21: note: in definition of macro 'pr_fmt' #define pr_fmt(fmt) fmt ^~~ /git/linux/tools/perf/util/debug.h:35:29: note: in expansion of macro 'pr_debugN' #define pr_debug4(fmt, ...) pr_debugN(4, pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~~~~ /git/linux/tools/perf/util/debug.h:35:42: note: in expansion of macro 'pr_fmt' #define pr_debug4(fmt, ...) pr_debugN(4, pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~ util/s390-cpumsf.c:421:2: note: in expansion of macro 'pr_debug4' pr_debug4("%s pos:%#zx ip:%#lx P:%d CL:%d pid:%d.%d cpumode:%d cpu:%d\n", ^~~~~~~~~ util/s390-cpumsf.c: In function 's390_cpumsf_samples': util/s390-cpumsf.c:501:10: error: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'off_t {aka long long int}' [-Werror=format=] pr_err("[%#08lx] Invalid AUX trailer entry TOD clock base\n", ^ /git/linux/tools/perf/util/debug.h:20:21: note: in definition of macro 'pr_fmt' #define pr_fmt(fmt) fmt ^~~ util/s390-cpumsf.c:501:3: note: in expansion of macro 'pr_err' pr_err("[%#08lx] Invalid AUX trailer entry TOD clock base\n", ^~~~~~ util/s390-cpumsf.c: In function 's390_cpumsf_run_decoder': util/s390-cpumsf.c:610:12: error: format '%ld' expects argument of type 'long int', but argument 6 has type 'u64 {aka long long unsigned int}' [-Werror=format=] pr_debug4("%s queue_nr:%d buffer:%ld offset:%#lx size:%#zx rest:%#zx\n", ^ /git/linux/tools/perf/util/debug.h:20:21: note: in definition of macro 'pr_fmt' #define pr_fmt(fmt) fmt ^~~ /git/linux/tools/perf/util/debug.h:35:29: note: in expansion of macro 'pr_debugN' #define pr_debug4(fmt, ...) pr_debugN(4, pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~~~~ /git/linux/tools/perf/util/debug.h:35:42: note: in expansion of macro 'pr_fmt' #define pr_debug4(fmt, ...) pr_debugN(4, pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~ util/s390-cpumsf.c:610:2: note: in expansion of macro 'pr_debug4' pr_debug4("%s queue_nr:%d buffer:%ld offset:%#lx size:%#zx rest:%#zx\n", ^~~~~~~~~ util/s390-cpumsf.c:610:12: error: format '%lx' expects argument of type 'long unsigned int', but argument 7 has type 'u64 {aka long long unsigned int}' [-Werror=format=] pr_debug4("%s queue_nr:%d buffer:%ld offset:%#lx size:%#zx rest:%#zx\n", ^ /git/linux/tools/perf/util/debug.h:20:21: note: in definition of macro 'pr_fmt' #define pr_fmt(fmt) fmt ^~~ /git/linux/tools/perf/util/debug.h:35:29: note: in expansion of macro 'pr_debugN' #define pr_debug4(fmt, ...) pr_debugN(4, pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~~~~ /git/linux/tools/perf/util/debug.h:35:42: note: in expansion of macro 'pr_fmt' #define pr_debug4(fmt, ...) pr_debugN(4, pr_fmt(fmt), ##__VA_ARGS__) ^~~~~~ util/s390-cpumsf.c:610:2: note: in expansion of macro 'pr_debug4' pr_debug4("%s queue_nr:%d buffer:%ld offset:%#lx size:%#zx rest:%#zx\n", ^~~~~~~~~ CC /tmp/build/perf/util/dump-insn.o CC /tmp/build/perf/util/parse-regs-options.o CC /tmp/build/perf/util/term.o CC /tmp/build/perf/util/help-unknown-cmd.o CC /tmp/build/perf/util/mem-events.o cc1: all warnings being treated as errors mv: cannot stat '/tmp/build/perf/util/.s390-cpumsf.o.tmp': No such file or directory /git/linux/tools/build/Makefile.build:96: recipe for target '/tmp/build/perf/util/s390-cpumsf.o' failed make[4]: *** [/tmp/build/perf/util/s390-cpumsf.o] Error 1 make[4]: *** Waiting for unfinished jobs.... CC /tmp/build/perf/util/intel-pt-decoder/intel-pt-insn-decoder.o LD /tmp/build/perf/util/intel-pt-decoder/libperf-in.o /git/linux/tools/build/Makefile.build:139: recipe for target 'util' failed make[3]: *** [util] Error 2 Makefile.perf:633: recipe for target '/tmp/build/perf/libperf-in.o' failed make[2]: *** [/tmp/build/perf/libperf-in.o] Error 2 Makefile.perf:205: recipe for target 'sub-make' failed make[1]: *** [sub-make] Error 2 Makefile:69: recipe for target 'all' failed make: *** [all] Error 2 make: Leaving directory '/git/linux/tools/perf' [root@seventh ~]#