Elfutils tests do not all run cleanly on musl systems. Make the current set
as baseline by making the failing tests as XFAILS. This helps to not regress
further more.
(From OE-Core rev: c962949c7d70a40f94fb41c342b7a282578069ed)
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>
elfuitls testsuites do not pass on all kind of distro features e.g.
with musl there are failures and with ld-is-lld less numer but it shows
failures too. Make run-ptest treat these as known failures.
(From OE-Core rev: 54f4588d49f5164aa8a404a1cb6a9984fd2b49cd)
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>
set GOARCH to HOST_GOARCH which is set from SDKMACHINE,
since GOARCH defaults to TARGET_GOARCH, which is set from MACHINE (wrong arch).
Also fix do_install to correctly install all binaries from
${GO_BUILD_BINDIR} by using 'find -type f' to avoid issues when the
directory contains subdirectories (e.g. "linux_arm").
(From OE-Core rev: 31e3bd61c7986bc044e547aa5cb9caba7b32bf22)
Signed-off-by: Osama Abdelkader <osama.abdelkader@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This test fails [1] with x86-64-v3, surfaces when we switch default
tune for qemux86-64 to be x86-64-v3 or newer
Test seems to compare exact floating point numbers but it might not be
precise enough and comparison may fail.
[1] https://github.com/numpy/numpy/issues/27460
(From OE-Core rev: aaf986bfa93b91a64cbf1c4e23b7fe961bdbb1f7)
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>
The Rust cstring-merging assembly test was failing on PowerPC targets due to
LLVM's GlobalMerge optimization pass merging all global string constants into
a single merged global. This caused the test's CHECK directives to fail as
they expected separate .Lanon labels for each string literal ("foo", "bar",
"baz").
The test verifies that C-style string literals are correctly placed in
mergeable read-only sections (.rodata.str1.1) with proper section flags
(aMS - Allocatable, Merge, Strings) for linker optimization.
This backports the upstream fix that disables the GlobalMerge pass
(-Cllvm-args=-enable-global-merge=0) specifically for this test, allowing
it to verify the expected assembly structure without interference from
the optimization.
Fixes test failure:
- tests/assembly/cstring-merging.rs on powerpc-poky-linux-gnu
Backport of 2d51acd2fb
(From OE-Core rev: 2435b16b050ebdca0f70fe9ed1eebfdd3bacf19d)
Signed-off-by: Peter Tatrai <peter.tatrai.ext@siemens.com>
Tested-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The executable-no-mangle-strip test fails on PowerPC target with an undefined
reference error when linking. The linker attempts to resolve this undefined symbol
at link time, causing the test to fail with:
undefined reference to `THIS_SYMBOL_SHOULD_BE_UNDEFINED'
The test is designed to verify garbage collection behavior of #[no_mangle]
functions and used(compiler)] statics. This appears to be a PowerPC-specific
linker behavior issue.
Temporarily disable this test on PowerPC until the underlying issue is
resolved upstream.
Related upstream issue: https://github.com/rust-lang/rust/issues/144777
Fixes oe-selftest failure:
- tests/ui/linking/executable-no-mangle-strip.rs on powerpc-poky-linux-gnu
(From OE-Core rev: 58ccb78de7e87f2f17d8ee47be545de49b8e2450)
Signed-off-by: Peter Tatrai <peter.tatrai.ext@siemens.com>
Tested-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
LLD fails to link gprofng
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'GLIBC_2.0' to symbol 'dlclose' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'GLIBC_2.0' to symbol 'dlopen' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'GLIBC_2.0' to symbol 'fclose' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'GLIBC_2.0' to symbol 'fdopen' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'GLIBC_2.0' to symbol 'fgetpos' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'GLIBC_2.0' to symbol 'fopen' failed: symbol not defined
aarch64-yoesdk-linux-ld.lld: error: version script assignment of 'GLIBC_2.0' to symbol 'fsetpos' failed: symbol not defined
(From OE-Core rev: 2ba5473dd7747a51e611638b712b2b5a10485dbe)
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>
The upstream project has extended the tests slightly, by adding a cargo command
to ensure that the library is built before the tests would be executed. This
doesn't really work for ptests, since it rebuilds the library from scratch on the
target. As an attempt to solve this issue, introduce an environment variable with
a patch, which, if present, will skip building the library before executing the test.
Changelog:
https://github.com/rpm-software-management/rpm-sequoia/compare/v1.7.0...v1.9.0
(From OE-Core rev: 1f070ae58b87183aaecd8c847a73081d680bdab6)
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
0001-libreswan-Allow-skipping-test_config-for-old-ipsec.patch
patch was dropped, as it is included in this revision.
(From OE-Core rev: f9d328b0f3a87b3aeb5fd7193429482cbc2220af)
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upgrade to latest 1.24.x release [1]:
$ git --no-pager log --oneline go1.24.5..go1.24.6
7f36edc26d [release-branch.go1.24] go1.24.6
83b4a5db24 [release-branch.go1.24] database/sql: avoid closing Rows while scan is in progress
0f5133b742 [release-branch.go1.24] os/exec: fix incorrect expansion of "", "." and ".." in LookPath
6e1c4529e4 [release-branch.go1.24] cmd/compile: for arm64 epilog, do SP increment with a single instruction
731de13dc3 [release-branch.go1.24] os/user: user random name for the test user account
390ffce7d6 [release-branch.go1.24] runtime: prevent unnecessary zeroing of large objects with pointers
b454859a8a [release-branch.go1.24] runtime: stash allpSnapshot on the M
Fixes CVE-2025-47906 and CVE-2025-47907 [2].
[1] https://github.com/golang/go/compare/go1.24.5...go1.24.6
[2] https://groups.google.com/g/golang-announce/c/x5MKroML2yM
(From OE-Core rev: f3072c210ac0a1e4d8046d920c3ebc29f9916b72)
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Added it to slow tests, as it takes betwen 165 and 190 seconds on my
machine to execute (qemux86-64 + kvm).
The test folder's Makefile contains a list of passing, failing and manual
tests. By default, only the expected-to-pass tests are executed by the
Makefile (unless magic environment variable is set).
The run-ptest script mimics the default behavior of executing the
expected-to-pass tests, however they are executed one by one, instead of
running them as one batch - that way it is easier to determine exactly
which tests pass and which fail.
One other thing that might worth a note, is that the tests folder that needs to be
installed contains a number of subfolders called "DEBIAN". When packaging them
at least with rpm, these folders are omitted from the package.
However these are essential for the tests, as they contain test data. As a
workaround, these folders are renamed during installation to DEBIAN-ptest,
and before execution the run-ptest script restores their names.
(From OE-Core rev: 02ed7fad85463840c46b6c0fa0ac9decef77c503)
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With libgcc (working):
Result: inf
Warnings: ['overflow encountered in cast']
With compiler-rt (failing):
Result: inf (probably still correct)
Warnings: [] (no warnings generated)
The issue is likely that compiler-rt on AArch64 doesn't trigger
the floating-point exceptions that NumPy expects for overflow
detection in type casting operations.
(From OE-Core rev: a85f07858b7cf8353541cbe72e2b1a95982d06f3)
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>
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>
cross-unwinding can pass exception across runtimes e.g.
Multi-language applications ( nodejs native modules, python C extensions )
However, cross-unwinding is not default in libcxx for sometime [1]
it requires special handling at runtime by apps who use it
Switch recipe defaults to upstream defaults, which is to turn it off
This means native unwinding ( with in same runtime )
is build by default which is the most common case.
This also fixes libcxx/libunwind build errors
when enabling TC_CXX_RUNTIME = "llvm" on aarch64 particularly
[1] 85624c5de3
(From OE-Core rev: 88e1214e01c48b174aa9516c60e15a0dfb69e10f)
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>
Starting from CMake version 2.27 support for interactive debugging of CMake
scripts and configurations was added. However, by default the `nativesdk-cmake`
is compiled with debugger support turned off.
This change adds debugger support for cmake
(From OE-Core rev: 8acfca456c3502f0d097ba01a2d08f83fb75ab60)
Signed-off-by: Nikhil R <nikhilr5@kpit.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
pyrsistent was replaced with rpds in 4.18.0.
zipp doesn't appear to have ever been a dependency, remove. Maybe it was
a transient dependency.
(From OE-Core rev: bc0565683fdc78df8ec58beb4872646c48274e5f)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
typing-extensions is only needed with Python <3.10 we have 3.13, remove.
pyparsing and pip are not dependencies, not sure why they're here so
remove.
(From OE-Core rev: 101f2f9f9bf4ea0211963792633dd3c68660132c)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Detecting opengl using autoconf-archive currently fails:
| aclocal: warning: couldn't open directory 'm4': No such file or directory
| configure.ac:306: error: _AX_CHECK_GL_MANUAL_LIBS_GENERIC: argument must not be empty
| ../sources/autoconf-2.72/lib/m4sugar/m4sh.m4:690: _AS_IF_ELSE is expanded from...
| ../sources/autoconf-2.72/lib/m4sugar/m4sh.m4:697: AS_IF is expanded from...
| /home/flk/poky/build/tmp/work/corei7-64-poky-linux/cava/0.10.4/recipe-sysroot-native/usr/share/aclocal/ax_check_gl.m4:187: _AX_CHECK_GL_MANUAL_LIBS_GENERIC is expanded from...
| ../sources/autoconf-2.72/lib/m4sugar/m4sh.m4:595: AS_CASE is expanded from...
| /home/flk/poky/build/tmp/work/corei7-64-poky-linux/cava/0.10.4/recipe-sysroot-native/usr/share/aclocal/ax_check_gl.m4:253: AX_CHECK_GL is expanded from...
| ../sources/autoconf-2.72/lib/m4sugar/m4sh.m4:697: AS_IF is expanded from...
| ../sources/autoconf-2.72/lib/m4sugar/m4sh.m4:697: AS_IF is expanded from...
| configure.ac:306: the top level
| autom4te: error: m4 failed with exit status: 1
This issue has already been fixed upstream, but there has been no new release since then.
(From OE-Core rev: a1dce757f95fd13d80593bb6227315aacd29f5aa)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The pep517 class no longer called the "build" module directly, so we
can't play games with PYTHONPATH here.
However, the flit_core class has a bootstrap method so this recipe can
use that instead.
(From OE-Core rev: ae85c85b28fd01591ace2f48159cdc7fbc05a26a)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The optimization viewer is a web-based tool that helps developers visualize
and analyze LLVM's optimization passes. It generates reports showing
Which optimizations were applied to specific functions.
Why certain optimizations were or weren't performed.
Performance remarks and missed optimization opportunities
Interactive views of the optimization pipeline.
Its a nice add-on, keep it disabled by default.
(From OE-Core rev: 70c43e35fb7ce0b71f28a91a1864f02338545522)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The environment has variables like LDFLAGS set which CMake will try and
use, so until our cmake class is comprehensive enough to nuke those in
the native toolchain file (if that is possible) do a build inside a
clean (apart from PATH) environment to avoid cross-contamination.
As noticed by Khem Raj, this can fail in nativesdk builds as the target
flags will be passed to the native link resulting in failures like:
Requesting program interpreter: /usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-yoesdk-linux/lib/ld-linux-x86-64.so.2
(From OE-Core rev: 0013f501d1de01606b812d930ef6ca842633f551)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
'cross' dependencies are hard, the code currently handles adding MLPREFIX
in these cases but may not in future depending upon implementation.
Add the correct value explictly.
(From OE-Core rev: 8393be1792cee0fbe76d75fd20a97dda41134880)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The lld linker is a standalone project under the LLVM umbrella that just
depends on libLLVM and nothing else, such as clang.
To reduce the build time of clang if lld is not being used, split it out
into a separate recipe.
To ensure that lld is present if needed, the clang-cross recipe will
depend on lld-native if ld-is-lld is enable.
(From OE-Core rev: 5212b69f892af8c9b080fee2c21533a2bbdd2755)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This started to fail with rust 1.88, due to rust libc
upgrade
(From OE-Core rev: f9145bc8bec77e1f454f80c4e5576567daa99ac8)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
LLDB Uses SWIG to generate python bindings, however
LLDB is no longer part of clang anymore, its a
separate recipe.
(From OE-Core rev: deda1e227dbdcb04c7bfb0ad0afef6ff05674c4f)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
None of these recipes need a native build of Python as they don't depend
on native Python modules, nor build Python modules against the target.
(From OE-Core rev: e0da53fca5ec30d883216bfb0be7d96ad597aa69)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Now that lldb has been split out of the clang recipe, there's no need
for the clang recipe to have Python integration beyond the current
Python major version for installing the libclang bindings, which can be
done by simply inheriting python3-dir.
The installation of six.py was done by lldb, and was removed in LLVM 16.
(From OE-Core rev: 5cbe58c604233a0d367e1bb1e3fce0492ae0e836)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Specifically, c-index-test is a 35MB binary which isn't needed if we're
not running the tests.
(From OE-Core rev: a61c3ab08039d382ec2216b8a5deaf256d7bf9c5)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This was added by a certain Mr Burton back in 2016[1] to avoid needing
to depend on perl-native or python3-native, and use the host perl and
python.
However, perl is no longer needed and python3-native is depended on
because the Python bindings are build, so this is now redundant.
[1] meta-clang: 2e003cc ("clang: don't depend on native perl or python")
(From OE-Core rev: 540b02e0fb168fade2afc1d657463c7e0248ae94)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As a single clang-native build is a cross-compiler for all targets, this
recipe should simply create target-prefixed symlinks.
As such, it doesn't need to pull in the common clang include files, or
set TOOLCHAIN.
Unsetting PACKAGES isn't needed as cross inherits nopackages.
The sysroot preprocessing is used to stage bindir, but cross recipes
already stage this directory.
There doesn't appear to be a need to copy clang, so these are now linked
too.
SSTATE_SCAN_FILES only works on actual files not symlinks, so setting it
is pointless.
(From OE-Core rev: 5d96ed55acf7b9a908241222097ad809355de7cf)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>