summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2025-08-06 21:14:00 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-08-11 18:04:25 +0100
commit324b1bfa0d8421360f00991e4954601ffab4a1cd (patch)
tree2e95f8a83d8e6b474cdb7f2121a666b404c43e9f
parentd2edf7d3522a245b230a2f1a0b8f929a56128db9 (diff)
downloadpoky-324b1bfa0d8421360f00991e4954601ffab4a1cd.tar.gz
perl: Disable strict aliasing with clang
clang-21+ compiled perl ends up with segfults in various places if this optimization is enabled panic: del_backref, svp=0 at /usr/lib/perl5/5.40.2/warnings.pm line 622. Compilation failed in require at /usr/lib/perl5/5.40.2/Getopt/Std.pm line 4. The crash starts at frame #0 in Perl_sv_kill_backrefs() at sv.c:6420 called during magic cleanup (Perl_magic_killbackrefs) (From OE-Core rev: d4af9e6a1c0090e4ee9b1199adf2144636997f03) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/perl/perl_5.40.2.bb4
1 files changed, 4 insertions, 0 deletions
diff --git a/meta/recipes-devtools/perl/perl_5.40.2.bb b/meta/recipes-devtools/perl/perl_5.40.2.bb
index c3bcbf053d..1df1467d42 100644
--- a/meta/recipes-devtools/perl/perl_5.40.2.bb
+++ b/meta/recipes-devtools/perl/perl_5.40.2.bb
@@ -50,6 +50,10 @@ export ENC2XS_NO_COMMENTS = "1"
50 50
51CFLAGS += "-D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" 51CFLAGS += "-D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
52 52
53# Perl built with clang runs into sefaults with clang-21+
54# https://github.com/llvm/llvm-project/issues/152241
55CFLAGS:append:toolchain-clang = " -fno-strict-aliasing"
56
53do_configure:prepend() { 57do_configure:prepend() {
54 rm -rf ${B} 58 rm -rf ${B}
55 cp -rfp ${S} ${B} 59 cp -rfp ${S} ${B}