On Tue, Oct 17, 2023 at 10:58:22AM +0200, Vegard Nossum wrote:
On 16/10/2023 18:58, Greg Kroah-Hartman wrote:
On Mon, Oct 16, 2023 at 09:23:36PM +0530, Harshit Mogalapalli wrote:
Cause for this build issue: Commit: e2bf685d7e311 ("perf inject: Fix GEN_ELF_TEXT_OFFSET for jit")
And this issue is not in upstream due to presence of commit d6e6a27d960f ("tools: Fix math.h breakage") in upstream but not in 5.15.y
Ok, I'll go drop the patch entirely, I can't even get perf to build at all for me on 5.15, which is why I've given up on it even mattering anymore :(
Just for maximal clarity, there are several commits involved here:
- babd04386b1d perf jit: Include program header in ELF files
This commit is already in 5.15.y but introduced a bug...
- 89b15d00527b perf inject: Fix GEN_ELF_TEXT_OFFSET for jit
This commit is in this -rc1 and fixes the bug above, but introduces a new perf build failure on 5.15.y. [This is the one I think you've now dropped.]
- d6e6a27d960f tools: Fix math.h breakage
This is a prerequisite for #2 and is not in 5.15.y. However, it has some conflicts on 5.15.y, i.e. it probably has some prerequisites of its own that I haven't looked into.
I guess the question is -- if we're dropping #2, should we drop #1 as well? Or... instead of dropping either of them we could also apply a minimal fix:
I can't "drop" #1, as it's already merged.
So how about sending a set of patches that you feel should be applied to get this building for you? As again, it doesn't work at all for me.
Out of curiosity, Greg: what is your build error with perf? Given that it builds for us (and we actually package perf so we need it) it sounds like maybe you're missing a package in your environment or something? If you pass us your config + the output of
make -C tools/perf/
I'd be happy to look into it. Only if you want though :-)
Sure! Here's the output, good luck!
$ make -C tools/perf make: Entering directory '/home/gregkh/linux/stable/linux-5.15.y/tools/perf' BUILD: Doing 'make -j20' parallel build Warning: Kernel ABI header at 'tools/include/uapi/linux/const.h' differs from latest version at 'include/uapi/linux/const.h' diff -u tools/include/uapi/linux/const.h include/uapi/linux/const.h Warning: Kernel ABI header at 'tools/include/uapi/linux/in.h' differs from latest version at 'include/uapi/linux/in.h' diff -u tools/include/uapi/linux/in.h include/uapi/linux/in.h Warning: Kernel ABI header at 'tools/arch/x86/include/asm/disabled-features.h' differs from latest version at 'arch/x86/include/asm/disabled-features.h' diff -u tools/arch/x86/include/asm/disabled-features.h arch/x86/include/asm/disabled-features.h Warning: Kernel ABI header at 'tools/arch/x86/include/asm/required-features.h' differs from latest version at 'arch/x86/include/asm/required-features.h' diff -u tools/arch/x86/include/asm/required-features.h arch/x86/include/asm/required-features.h Warning: Kernel ABI header at 'tools/arch/x86/include/asm/cpufeatures.h' differs from latest version at 'arch/x86/include/asm/cpufeatures.h' diff -u tools/arch/x86/include/asm/cpufeatures.h arch/x86/include/asm/cpufeatures.h Warning: Kernel ABI header at 'tools/arch/x86/include/asm/msr-index.h' differs from latest version at 'arch/x86/include/asm/msr-index.h' diff -u tools/arch/x86/include/asm/msr-index.h arch/x86/include/asm/msr-index.h Warning: Kernel ABI header at 'tools/arch/arm64/include/uapi/asm/kvm.h' differs from latest version at 'arch/arm64/include/uapi/asm/kvm.h' diff -u tools/arch/arm64/include/uapi/asm/kvm.h arch/arm64/include/uapi/asm/kvm.h Makefile.config:1036: No libbabeltrace found, disables 'perf data' CTF format support, please install libbabeltrace-dev[el]/libbabeltrace-ctf-dev Makefile.config:1062: No alternatives command found, you need to set JDIR= to point to the root of your Java directory tests/bpf.c: In function ‘epoll_pwait_loop’: tests/bpf.c:36:17: error: argument 2 null where non-null expected [-Werror=nonnull] 36 | epoll_pwait(-(i + 1), NULL, 0, 0, NULL); | ^~~~~~~~~~~ In file included from tests/bpf.c:5: /usr/include/sys/epoll.h:134:12: note: in a call to function ‘epoll_pwait’ declared ‘nonnull’ 134 | extern int epoll_pwait (int __epfd, struct epoll_event *__events, | ^~~~~~~~~~~ CC util/jitdump.o CC util/genelf.o CC util/genelf_debug.o cc1: all warnings being treated as errors make[4]: *** [/home/gregkh/linux/stable/linux-5.15.y/tools/build/Makefile.build:96: tests/bpf.o] Error 1 make[3]: *** [/home/gregkh/linux/stable/linux-5.15.y/tools/build/Makefile.build:139: tests] Error 2 make[3]: *** Waiting for unfinished jobs.... In file included from /usr/lib/perl5/5.38/core_perl/CORE/perl.h:7811, from Context.xs:8: /usr/lib/perl5/5.38/core_perl/CORE/inline.h: In function ‘S_PerlEnv_putenv’: /usr/lib/perl5/5.38/core_perl/CORE/inline.h:295:5: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement] 295 | bool retval = putenv(str); | ^~~~ In file included from /usr/lib/perl5/5.38/core_perl/CORE/perl.h:3327: /usr/lib/perl5/5.38/core_perl/CORE/inline.h: In function ‘Perl_is_utf8_valid_partial_char_flags’: /usr/lib/perl5/5.38/core_perl/CORE/handy.h:155:23: error: cast from function call of type ‘STRLEN’ {aka ‘long unsigned int’} to non-matching type ‘_Bool’ [-Werror=bad-function-cast] 155 | #define cBOOL(cbool) ((bool) (cbool)) | ^ /usr/lib/perl5/5.38/core_perl/CORE/inline.h:2334:12: note: in expansion of macro ‘cBOOL’ 2334 | return cBOOL(is_utf8_char_helper_(s0, e, flags)); | ^~~~~ /usr/lib/perl5/5.38/core_perl/CORE/inline.h: In function ‘Perl_newPADxVOP’: /usr/lib/perl5/5.38/core_perl/CORE/inline.h:3135:5: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement] 3135 | OP *o = newOP(type, flags); | ^~ /usr/lib/perl5/5.38/core_perl/CORE/inline.h: In function ‘Perl_cop_file_avn’: /usr/lib/perl5/5.38/core_perl/CORE/inline.h:3500:5: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement] 3500 | const char *file = CopFILE(cop); | ^~~~~ In file included from /usr/lib/perl5/5.38/core_perl/CORE/perl.h:7812: /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h: In function ‘Perl_newSV_type’: /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_NULL’ not handled in switch [-Werror=switch-enum] 420 | switch(type) { | ^~~~~~ /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_IV’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_NV’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_PV’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_INVLIST’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_PVIV’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_PVNV’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_PVMG’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_REGEXP’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_PVGV’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_PVLV’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_PVCV’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_PVFM’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_PVIO’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_LAST’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:383:5: error: enumeration value ‘SVt_LAST’ not handled in switch [-Werror=switch-enum] 383 | switch (type) { | ^~~~~~ /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h: In function ‘Perl_sv_setpv_freshbuf’: /usr/lib/perl5/5.38/core_perl/CORE/handy.h:155:23: error: cast from function call of type ‘long int’ to non-matching type ‘_Bool’ [-Werror=bad-function-cast] 155 | #define cBOOL(cbool) ((bool) (cbool)) | ^ /usr/lib/perl5/5.38/core_perl/CORE/perl.h:4231:62: note: in definition of macro ‘EXPECT’ 4231 | # define EXPECT(expr,val) __builtin_expect(expr,val) | ^~~~ /usr/lib/perl5/5.38/core_perl/CORE/perl.h:4252:52: note: in expansion of macro ‘cBOOL’ 4252 | #define UNLIKELY(cond) EXPECT(cBOOL(cond),FALSE) | ^~~~~ /usr/lib/perl5/5.38/core_perl/CORE/sv.h:1724:13: note: in expansion of macro ‘UNLIKELY’ 1724 | if (UNLIKELY(TAINT_get)) \ | ^~~~~~~~ /usr/lib/perl5/5.38/core_perl/CORE/perl.h:996:34: note: in expansion of macro ‘cBOOL’ 996 | # define TAINT_get (cBOOL(UNLIKELY(PL_tainted))) /* Is something tainted? */ | ^~~~~ /usr/lib/perl5/5.38/core_perl/CORE/sv.h:1724:22: note: in expansion of macro ‘TAINT_get’ 1724 | if (UNLIKELY(TAINT_get)) \ | ^~~~~~~~~ /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:996:5: note: in expansion of macro ‘SvTAINT’ 996 | SvTAINT(sv); | ^~~~~~~ /usr/lib/perl5/5.38/core_perl/CORE/handy.h:155:23: error: cast from function call of type ‘long int’ to non-matching type ‘_Bool’ [-Werror=bad-function-cast] 155 | #define cBOOL(cbool) ((bool) (cbool)) | ^ /usr/lib/perl5/5.38/core_perl/CORE/perl.h:4231:62: note: in definition of macro ‘EXPECT’ 4231 | # define EXPECT(expr,val) __builtin_expect(expr,val) | ^~~~ /usr/lib/perl5/5.38/core_perl/CORE/perl.h:4252:52: note: in expansion of macro ‘cBOOL’ 4252 | #define UNLIKELY(cond) EXPECT(cBOOL(cond),FALSE) | ^~~~~ /usr/lib/perl5/5.38/core_perl/CORE/sv.h:1718:42: note: in expansion of macro ‘UNLIKELY’ 1718 | #define SvTAINTED_on(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);} }STMT_END | ^~~~~~~~ /usr/lib/perl5/5.38/core_perl/CORE/perl.h:997:34: note: in expansion of macro ‘cBOOL’ 997 | # define TAINTING_get (cBOOL(UNLIKELY(PL_tainting))) | ^~~~~ /usr/lib/perl5/5.38/core_perl/CORE/sv.h:1718:51: note: in expansion of macro ‘TAINTING_get’ 1718 | #define SvTAINTED_on(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);} }STMT_END | ^~~~~~~~~~~~ /usr/lib/perl5/5.38/core_perl/CORE/sv.h:1725:13: note: in expansion of macro ‘SvTAINTED_on’ 1725 | SvTAINTED_on(sv); \ | ^~~~~~~~~~~~ /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:996:5: note: in expansion of macro ‘SvTAINT’ 996 | SvTAINT(sv); | ^~~~~~~ Context.c: In function ‘XS_Perf__Trace__Context_common_pc’: /usr/lib/perl5/5.38/core_perl/CORE/perl.h:2494:33: error: cast from function call of type ‘IV’ {aka ‘long int’} to non-matching type ‘struct scripting_context *’ [-Werror=bad-function-cast] 2494 | # define INT2PTR(any,d) (any)(d) | ^ Context.c:55:39: note: in expansion of macro ‘INT2PTR’ /usr/lib/perl5/5.38/core_perl/CORE/handy.h:155:23: error: cast from function call of type ‘long int’ to non-matching type ‘_Bool’ [-Werror=bad-function-cast] 155 | #define cBOOL(cbool) ((bool) (cbool)) | ^ /usr/lib/perl5/5.38/core_perl/CORE/perl.h:4231:62: note: in definition of macro ‘EXPECT’ 4231 | # define EXPECT(expr,val) __builtin_expect(expr,val) | ^~~~ /usr/lib/perl5/5.38/core_perl/CORE/perl.h:4251:52: note: in expansion of macro ‘cBOOL’ 4251 | #define LIKELY(cond) EXPECT(cBOOL(cond),TRUE) | ^~~~~ /usr/lib/perl5/5.38/core_perl/CORE/pp.h:429:13: note: in expansion of macro ‘LIKELY’ 429 | if (LIKELY( \ | ^~~~~~ /usr/lib/perl5/5.38/core_perl/CORE/perl.h:996:34: note: in expansion of macro ‘cBOOL’ 996 | # define TAINT_get (cBOOL(UNLIKELY(PL_tainted))) /* Is something tainted? */ | ^~~~~ /usr/lib/perl5/5.38/core_perl/CORE/pp.h:431:28: note: in expansion of macro ‘TAINT_get’ 431 | & (do_taint ? !TAINT_get : 1))) \ | ^~~~~~~~~ /usr/lib/perl5/5.38/core_perl/CORE/pp.h:495:38: note: in expansion of macro ‘TARGi’ 495 | #define PUSHi(i) STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END | ^~~~~ Context.c:60:13: note: in expansion of macro ‘PUSHi’ Context.c: In function ‘XS_Perf__Trace__Context_common_flags’: /usr/lib/perl5/5.38/core_perl/CORE/perl.h:2494:33: error: cast from function call of type ‘IV’ {aka ‘long int’} to non-matching type ‘struct scripting_context *’ [-Werror=bad-function-cast] 2494 | # define INT2PTR(any,d) (any)(d) | ^ Context.c:78:39: note: in expansion of macro ‘INT2PTR’ /usr/lib/perl5/5.38/core_perl/CORE/handy.h:155:23: error: cast from function call of type ‘long int’ to non-matching type ‘_Bool’ [-Werror=bad-function-cast] 155 | #define cBOOL(cbool) ((bool) (cbool)) | ^ /usr/lib/perl5/5.38/core_perl/CORE/perl.h:4231:62: note: in definition of macro ‘EXPECT’ 4231 | # define EXPECT(expr,val) __builtin_expect(expr,val) | ^~~~ /usr/lib/perl5/5.38/core_perl/CORE/perl.h:4251:52: note: in expansion of macro ‘cBOOL’ 4251 | #define LIKELY(cond) EXPECT(cBOOL(cond),TRUE) | ^~~~~ /usr/lib/perl5/5.38/core_perl/CORE/pp.h:429:13: note: in expansion of macro ‘LIKELY’ 429 | if (LIKELY( \ | ^~~~~~ /usr/lib/perl5/5.38/core_perl/CORE/perl.h:996:34: note: in expansion of macro ‘cBOOL’ 996 | # define TAINT_get (cBOOL(UNLIKELY(PL_tainted))) /* Is something tainted? */ | ^~~~~ /usr/lib/perl5/5.38/core_perl/CORE/pp.h:431:28: note: in expansion of macro ‘TAINT_get’ 431 | & (do_taint ? !TAINT_get : 1))) \ | ^~~~~~~~~ /usr/lib/perl5/5.38/core_perl/CORE/pp.h:495:38: note: in expansion of macro ‘TARGi’ 495 | #define PUSHi(i) STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END | ^~~~~ Context.c:83:13: note: in expansion of macro ‘PUSHi’ Context.c: In function ‘XS_Perf__Trace__Context_common_lock_depth’: /usr/lib/perl5/5.38/core_perl/CORE/perl.h:2494:33: error: cast from function call of type ‘IV’ {aka ‘long int’} to non-matching type ‘struct scripting_context *’ [-Werror=bad-function-cast] 2494 | # define INT2PTR(any,d) (any)(d) | ^ Context.c:101:39: note: in expansion of macro ‘INT2PTR’ /usr/lib/perl5/5.38/core_perl/CORE/handy.h:155:23: error: cast from function call of type ‘long int’ to non-matching type ‘_Bool’ [-Werror=bad-function-cast] 155 | #define cBOOL(cbool) ((bool) (cbool)) | ^ /usr/lib/perl5/5.38/core_perl/CORE/perl.h:4231:62: note: in definition of macro ‘EXPECT’ 4231 | # define EXPECT(expr,val) __builtin_expect(expr,val) | ^~~~ /usr/lib/perl5/5.38/core_perl/CORE/perl.h:4251:52: note: in expansion of macro ‘cBOOL’ 4251 | #define LIKELY(cond) EXPECT(cBOOL(cond),TRUE) | ^~~~~ /usr/lib/perl5/5.38/core_perl/CORE/pp.h:429:13: note: in expansion of macro ‘LIKELY’ 429 | if (LIKELY( \ | ^~~~~~ /usr/lib/perl5/5.38/core_perl/CORE/perl.h:996:34: note: in expansion of macro ‘cBOOL’ 996 | # define TAINT_get (cBOOL(UNLIKELY(PL_tainted))) /* Is something tainted? */ | ^~~~~ /usr/lib/perl5/5.38/core_perl/CORE/pp.h:431:28: note: in expansion of macro ‘TAINT_get’ 431 | & (do_taint ? !TAINT_get : 1))) \ | ^~~~~~~~~ /usr/lib/perl5/5.38/core_perl/CORE/pp.h:495:38: note: in expansion of macro ‘TARGi’ 495 | #define PUSHi(i) STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END | ^~~~~ Context.c:106:13: note: in expansion of macro ‘PUSHi’ In file included from /usr/lib/perl5/5.38/core_perl/CORE/perl.h:7811, from util/scripting-engines/trace-event-perl.c:35: /usr/lib/perl5/5.38/core_perl/CORE/inline.h: In function ‘S_PerlEnv_putenv’: /usr/lib/perl5/5.38/core_perl/CORE/inline.h:295:5: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement] 295 | bool retval = putenv(str); | ^~~~ In file included from /usr/lib/perl5/5.38/core_perl/CORE/perl.h:3327: /usr/lib/perl5/5.38/core_perl/CORE/inline.h: In function ‘Perl_is_utf8_valid_partial_char_flags’: /usr/lib/perl5/5.38/core_perl/CORE/handy.h:155:23: error: cast from function call of type ‘STRLEN’ {aka ‘long unsigned int’} to non-matching type ‘_Bool’ [-Werror=bad-function-cast] 155 | #define cBOOL(cbool) ((bool) (cbool)) | ^ /usr/lib/perl5/5.38/core_perl/CORE/inline.h:2334:12: note: in expansion of macro ‘cBOOL’ 2334 | return cBOOL(is_utf8_char_helper_(s0, e, flags)); | ^~~~~ /usr/lib/perl5/5.38/core_perl/CORE/inline.h: In function ‘Perl_newPADxVOP’: /usr/lib/perl5/5.38/core_perl/CORE/inline.h:3135:5: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement] 3135 | OP *o = newOP(type, flags); | ^~ /usr/lib/perl5/5.38/core_perl/CORE/inline.h: In function ‘Perl_cop_file_avn’: /usr/lib/perl5/5.38/core_perl/CORE/inline.h:3500:5: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement] 3500 | const char *file = CopFILE(cop); | ^~~~~ cc1: all warnings being treated as errors In file included from /usr/lib/perl5/5.38/core_perl/CORE/perl.h:7812: /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h: In function ‘Perl_newSV_type’: /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_NULL’ not handled in switch [-Werror=switch-enum] 420 | switch(type) { | ^~~~~~ /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_IV’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_NV’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_PV’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_INVLIST’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_PVIV’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_PVNV’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_PVMG’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_REGEXP’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_PVGV’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_PVLV’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_PVCV’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_PVFM’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_PVIO’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:420:9: error: enumeration value ‘SVt_LAST’ not handled in switch [-Werror=switch-enum] /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:383:5: error: enumeration value ‘SVt_LAST’ not handled in switch [-Werror=switch-enum] 383 | switch (type) { | ^~~~~~ /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h: In function ‘Perl_sv_setpv_freshbuf’: /usr/lib/perl5/5.38/core_perl/CORE/handy.h:155:23: error: cast from function call of type ‘long int’ to non-matching type ‘_Bool’ [-Werror=bad-function-cast] 155 | #define cBOOL(cbool) ((bool) (cbool)) | ^ /usr/lib/perl5/5.38/core_perl/CORE/perl.h:4231:62: note: in definition of macro ‘EXPECT’ 4231 | # define EXPECT(expr,val) __builtin_expect(expr,val) | ^~~~ /usr/lib/perl5/5.38/core_perl/CORE/perl.h:4252:52: note: in expansion of macro ‘cBOOL’ 4252 | #define UNLIKELY(cond) EXPECT(cBOOL(cond),FALSE) | ^~~~~ /usr/lib/perl5/5.38/core_perl/CORE/sv.h:1724:13: note: in expansion of macro ‘UNLIKELY’ 1724 | if (UNLIKELY(TAINT_get)) \ | ^~~~~~~~ /usr/lib/perl5/5.38/core_perl/CORE/perl.h:996:34: note: in expansion of macro ‘cBOOL’ 996 | # define TAINT_get (cBOOL(UNLIKELY(PL_tainted))) /* Is something tainted? */ | ^~~~~ /usr/lib/perl5/5.38/core_perl/CORE/sv.h:1724:22: note: in expansion of macro ‘TAINT_get’ 1724 | if (UNLIKELY(TAINT_get)) \ | ^~~~~~~~~ /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:996:5: note: in expansion of macro ‘SvTAINT’ 996 | SvTAINT(sv); | ^~~~~~~ /usr/lib/perl5/5.38/core_perl/CORE/handy.h:155:23: error: cast from function call of type ‘long int’ to non-matching type ‘_Bool’ [-Werror=bad-function-cast] 155 | #define cBOOL(cbool) ((bool) (cbool)) | ^ /usr/lib/perl5/5.38/core_perl/CORE/perl.h:4231:62: note: in definition of macro ‘EXPECT’ 4231 | # define EXPECT(expr,val) __builtin_expect(expr,val) | ^~~~ /usr/lib/perl5/5.38/core_perl/CORE/perl.h:4252:52: note: in expansion of macro ‘cBOOL’ 4252 | #define UNLIKELY(cond) EXPECT(cBOOL(cond),FALSE) | ^~~~~ /usr/lib/perl5/5.38/core_perl/CORE/sv.h:1718:42: note: in expansion of macro ‘UNLIKELY’ 1718 | #define SvTAINTED_on(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);} }STMT_END | ^~~~~~~~ /usr/lib/perl5/5.38/core_perl/CORE/perl.h:997:34: note: in expansion of macro ‘cBOOL’ 997 | # define TAINTING_get (cBOOL(UNLIKELY(PL_tainting))) | ^~~~~ /usr/lib/perl5/5.38/core_perl/CORE/sv.h:1718:51: note: in expansion of macro ‘TAINTING_get’ 1718 | #define SvTAINTED_on(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);} }STMT_END | ^~~~~~~~~~~~ /usr/lib/perl5/5.38/core_perl/CORE/sv.h:1725:13: note: in expansion of macro ‘SvTAINTED_on’ 1725 | SvTAINTED_on(sv); \ | ^~~~~~~~~~~~ /usr/lib/perl5/5.38/core_perl/CORE/sv_inline.h:996:5: note: in expansion of macro ‘SvTAINT’ 996 | SvTAINT(sv); | ^~~~~~~ make[5]: *** [/home/gregkh/linux/stable/linux-5.15.y/tools/build/Makefile.build:97: scripts/perl/Perf-Trace-Util/Context.o] Error 1 make[4]: *** [/home/gregkh/linux/stable/linux-5.15.y/tools/build/Makefile.build:139: perl/Perf-Trace-Util] Error 2 make[3]: *** [/home/gregkh/linux/stable/linux-5.15.y/tools/build/Makefile.build:139: scripts] Error 2 cc1: all warnings being treated as errors make[5]: *** [/home/gregkh/linux/stable/linux-5.15.y/tools/build/Makefile.build:96: util/scripting-engines/trace-event-perl.o] Error 1 make[4]: *** [/home/gregkh/linux/stable/linux-5.15.y/tools/build/Makefile.build:139: scripting-engines] Error 2 make[3]: *** [/home/gregkh/linux/stable/linux-5.15.y/tools/build/Makefile.build:139: util] Error 2 make[2]: *** [Makefile.perf:658: perf-in.o] Error 2 make[1]: *** [Makefile.perf:238: sub-make] Error 2 make: *** [Makefile:70: all] Error 2 make: Leaving directory '/home/gregkh/linux/stable/linux-5.15.y/tools/perf'