On Fri, Jan 10, 2025 at 10:05:05AM +1100, Stephen Rothwell wrote: > Hi all, > > After merging the perf tree, today's linux-next build (native perf) > failed like this: > > In file included from tools/perf/arch/powerpc/include/syscall_table.h:5, > from util/syscalltbl.c:16: > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:16:16: error: initialized field overwritten [-Werror=override-init] > 16 | [13] = "time", > | ^~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:16:16: note: (near initialization for 'syscalltbl[13]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:22:16: error: initialized field overwritten [-Werror=override-init] > 22 | [18] = "oldstat", > | ^~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:22:16: note: (near initialization for 'syscalltbl[18]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:27:16: error: initialized field overwritten [-Werror=override-init] > 27 | [22] = "umount", > | ^~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:27:16: note: (near initialization for 'syscalltbl[22]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:31:16: error: initialized field overwritten [-Werror=override-init] > 31 | [25] = "stime", > | ^~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:31:16: note: (near initialization for 'syscalltbl[25]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:35:16: error: initialized field overwritten [-Werror=override-init] > 35 | [28] = "oldfstat", > | ^~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:35:16: note: (near initialization for 'syscalltbl[28]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:67:16: error: initialized field overwritten [-Werror=override-init] > 67 | [59] = "oldolduname", > | ^~~~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:67:16: note: (near initialization for 'syscalltbl[59]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:76:16: error: initialized field overwritten [-Werror=override-init] > 76 | [67] = "sigaction", > | ^~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:76:16: note: (near initialization for 'syscalltbl[67]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:82:16: error: initialized field overwritten [-Werror=override-init] > 82 | [72] = "sigsuspend", > | ^~~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:82:16: note: (near initialization for 'syscalltbl[72]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:84:16: error: initialized field overwritten [-Werror=override-init] > 84 | [73] = "sigpending", > | ^~~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:84:16: note: (near initialization for 'syscalltbl[73]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:88:16: error: initialized field overwritten [-Werror=override-init] > 88 | [76] = "getrlimit", > | ^~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:88:16: note: (near initialization for 'syscalltbl[76]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:95:16: error: initialized field overwritten [-Werror=override-init] > 95 | [82] = "select", > | ^~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:95:16: note: (near initialization for 'syscalltbl[82]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:98:16: error: initialized field overwritten [-Werror=override-init] > 98 | [84] = "oldlstat", > | ^~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:98:16: note: (near initialization for 'syscalltbl[84]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:104:16: error: initialized field overwritten [-Werror=override-init] > 104 | [89] = "readdir", > | ^~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:104:16: note: (near initialization for 'syscalltbl[89]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:125:17: error: initialized field overwritten [-Werror=override-init] > 125 | [109] = "olduname", > | ^~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:125:17: note: (near initialization for 'syscalltbl[109]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:136:17: error: initialized field overwritten [-Werror=override-init] > 136 | [119] = "sigreturn", > | ^~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:136:17: note: (near initialization for 'syscalltbl[119]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:142:17: error: initialized field overwritten [-Werror=override-init] > 142 | [124] = "adjtimex", > | ^~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:142:17: note: (near initialization for 'syscalltbl[124]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:145:17: error: initialized field overwritten [-Werror=override-init] > 145 | [126] = "sigprocmask", > | ^~~~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:145:17: note: (near initialization for 'syscalltbl[126]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:156:17: error: initialized field overwritten [-Werror=override-init] > 156 | [136] = "personality", > | ^~~~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:156:17: note: (near initialization for 'syscalltbl[136]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:182:17: error: initialized field overwritten [-Werror=override-init] > 182 | [161] = "sched_rr_get_interval", > | ^~~~~~~~~~~~~~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:182:17: note: (near initialization for 'syscalltbl[161]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:184:17: error: initialized field overwritten [-Werror=override-init] > 184 | [162] = "nanosleep", > | ^~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:184:17: note: (near initialization for 'syscalltbl[162]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:202:17: error: initialized field overwritten [-Werror=override-init] > 202 | [179] = "pread64", > | ^~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:202:17: note: (near initialization for 'syscalltbl[179]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:204:17: error: initialized field overwritten [-Werror=override-init] > 204 | [180] = "pwrite64", > | ^~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:204:17: note: (near initialization for 'syscalltbl[180]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:211:17: error: initialized field overwritten [-Werror=override-init] > 211 | [186] = "sendfile", > | ^~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:211:17: note: (near initialization for 'syscalltbl[186]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:217:17: error: initialized field overwritten [-Werror=override-init] > 217 | [191] = "readahead", > | ^~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:217:17: note: (near initialization for 'syscalltbl[191]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:241:17: error: initialized field overwritten [-Werror=override-init] > 241 | [221] = "futex", > | ^~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:241:17: note: (near initialization for 'syscalltbl[221]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:248:17: error: initialized field overwritten [-Werror=override-init] > 248 | [229] = "io_getevents", > | ^~~~~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:248:17: note: (near initialization for 'syscalltbl[229]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:253:17: error: initialized field overwritten [-Werror=override-init] > 253 | [233] = "fadvise64", > | ^~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:253:17: note: (near initialization for 'syscalltbl[233]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:262:17: error: initialized field overwritten [-Werror=override-init] > 262 | [241] = "timer_settime", > | ^~~~~~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:262:17: note: (near initialization for 'syscalltbl[241]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:264:17: error: initialized field overwritten [-Werror=override-init] > 264 | [242] = "timer_gettime", > | ^~~~~~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:264:17: note: (near initialization for 'syscalltbl[242]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:268:17: error: initialized field overwritten [-Werror=override-init] > 268 | [245] = "clock_settime", > | ^~~~~~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:268:17: note: (near initialization for 'syscalltbl[245]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:270:17: error: initialized field overwritten [-Werror=override-init] > 270 | [246] = "clock_gettime", > | ^~~~~~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:270:17: note: (near initialization for 'syscalltbl[246]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:272:17: error: initialized field overwritten [-Werror=override-init] > 272 | [247] = "clock_getres", > | ^~~~~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:272:17: note: (near initialization for 'syscalltbl[247]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:274:17: error: initialized field overwritten [-Werror=override-init] > 274 | [248] = "clock_nanosleep", > | ^~~~~~~~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:274:17: note: (near initialization for 'syscalltbl[248]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:278:17: error: initialized field overwritten [-Werror=override-init] > 278 | [251] = "utimes", > | ^~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:278:17: note: (near initialization for 'syscalltbl[251]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:284:17: error: initialized field overwritten [-Werror=override-init] > 284 | [256] = "sys_debug_setcontext", > | ^~~~~~~~~~~~~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:284:17: note: (near initialization for 'syscalltbl[256]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:318:17: error: initialized field overwritten [-Werror=override-init] > 318 | [290] = "utimesat", > | ^~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:318:17: note: (near initialization for 'syscalltbl[290]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:320:17: error: initialized field overwritten [-Werror=override-init] > 320 | [291] = "newfstatat", > | ^~~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:320:17: note: (near initialization for 'syscalltbl[291]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:334:17: error: initialized field overwritten [-Werror=override-init] > 334 | [304] = "utimensat", > | ^~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:334:17: note: (near initialization for 'syscalltbl[304]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:339:17: error: initialized field overwritten [-Werror=override-init] > 339 | [308] = "sync_file_range2", > | ^~~~~~~~~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:339:17: note: (near initialization for 'syscalltbl[308]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:343:17: error: initialized field overwritten [-Werror=override-init] > 343 | [311] = "timerfd_settime", > | ^~~~~~~~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:343:17: note: (near initialization for 'syscalltbl[311]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:345:17: error: initialized field overwritten [-Werror=override-init] > 345 | [312] = "timerfd_gettime", > | ^~~~~~~~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:345:17: note: (near initialization for 'syscalltbl[312]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:377:17: error: initialized field overwritten [-Werror=override-init] > 377 | [343] = "recvmmsg", > | ^~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:377:17: note: (near initialization for 'syscalltbl[343]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:382:17: error: initialized field overwritten [-Werror=override-init] > 382 | [347] = "clock_adjtime", > | ^~~~~~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:382:17: note: (near initialization for 'syscalltbl[347]') > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:399:17: error: initialized field overwritten [-Werror=override-init] > 399 | [363] = "switch_endian", > | ^~~~~~~~~~~~~~~ > /home/sfr/next/perf/arch/powerpc/include/generated/asm/syscalls_64.h:399:17: note: (near initialization for 'syscalltbl[363]') > cc1: all warnings being treated as errors > > Presumably caused by commit > > 7eca67cf3dab ("perf tools powerpc: Use generic syscall table scripts") > > This is a native powerpc build of perf on a little endian host. Thank you for reporting! I see that these headers for powerpc are generating duplicate entries. This is due to me mistakenly setting the abis for the syscall headers for powerpc to be spu and nospu, causing conflicts. It looks like for the uapi, only nospu needs to be exposed. I will send a patch to fix that. - Charlie > > I have used the perf tree from next-20250109 for today. > > -- > Cheers, > Stephen Rothwell