398 Commits
Author SHA1 Message Date
Khem Raj 63bfcfbfd9 kernel-selftest: Delete patch not needed with latest 7.2 kernel
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-21 08:13:55 -07:00
Khem Raj 3fedccaafa kernel-selftest: Skip stressor tests
filesystems:file_stressor is a 15 minute stress test; its forked children
move to their own process group, escape the per-test timeout and keep the
runner blocked (and silent) until they finish, so ptest-runner kills the
whole suite. Skip it.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-12 16:52:17 -07:00
Khem RajandClaude Opus 5 11a9324c84 kernel-selftest: fix ptest hangs and several failing selftests
meta-oe-image-ptest-kernel-selftest on qemux86-64 was killed by
ptest-runner after 34 of 427 tests. Fix the hangs, and a set of
failures found while running the rest of the suite:

- Add coreutils to RDEPENDS: the kselftest runner only enforces
  per-test timeouts when timeout(1) is available, and busybox has
  no timeout applet by default.
- Skip ftrace:ftracetest-ktap: it has no per-test timeout, and
  instances/instance-event.tc can leave a task stuck in D state in
  trace_array_get() on linux-yocto 7.2.4, hanging the whole suite.
- Add e2fsprogs-mke2fs to RDEPENDS, mount_setattr_test needs mkfs.ext4.
- selftests/filelock: zero-initialize struct flock in ofdlocks, which
  memcmp()s structures with uninitialized padding, and fix its test
  plan count (it announces 4 tests but reports 5).
- selftests/cgroup: keep the anon page touches in test_memcontrol
  from being removed as dead stores by GCC 16 at -O2.
- selftests/filesystems: chown the idmapped_tmpfile layer directory
  into the idmapped range so the mapped caller is not refused.
- Backport "selftests: proc: include fcntl.h in proc-pidns" to fix
  the proc selftests build.

Each fix was verified on qemux86-64 by running the affected tests.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-12 16:52:17 -07:00
Alper Ak 6b7942fa8c ipmiutil: fix build with OpenSSL 4.0
do_compile fails with:

  lanplus_crypt_impl.c:233:24: error: storage size of 'ctx' isn't known

Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:07:58 -07:00
Alper Ak ea1ada6ee3 intel-speed-select: inherit pkgconfig
do_compile fails with:

  cc1: error: include location "/usr/include/libnl3" is unsafe for
  cross-compilation [-Werror=poison-system-directories]

The kernel tools Makefile gets the libnl flags from pkg-config. The
recipe does not inherit pkgconfig, so there is no PKG_CONFIG_SYSROOT_DIR
and the host pkg-config answers with the host include path.

Drop the manual CFLAGS entry, pkg-config now gives the same path.

Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:07:57 -07:00
Khem Raj 09ec1df384 turbostat: fix build with kernel 7.x
Since kernel 7.x tools/include/linux/compiler_types.h includes
<linux/compiler-context-analysis.h>, a no-op stub for the new
compiler-based context analysis annotations. The recipe copies
compiler_types.h out of the kernel tree and rewrites its includes to
local headers, but did not know about the new one, so the build fails:

  ./compiler_types.h:16:10: fatal error: 'linux/compiler-context-analysis.h' file not found

Copy the new header when the kernel provides it and rewrite the include
like the others.

While here, fix the mangled quoting on the TMPCHECK line, which produced

  run.do_compile: line 138: TMPCHECK=grep: command not found

and left TMPCHECK unset. The unquoted [ -n $TMPCHECK ] test then always
succeeded, so the vdso branch was taken regardless of the grep result.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-08 08:23:16 -07:00
Jaipaul Cheernam 1a7e4f3433 libtracefs: remove recipe (moved to oe-core)
libtracefs has been imported into openembedded-core [1] as it is now
required by powertop 2.16 (upstream commit 2b133ed [2]). Remove it
from meta-oe to avoid duplicate recipes.

- This commit is depends on [1]

[1] https://lists.openembedded.org/g/openembedded-core/topic/120806764
[2] https://github.com/fenrus75/powertop/commit/2b133ed512c6852cf81cb98831bdfd585c0317bf

Signed-off-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-08-20 19:32:51 -07:00
mark.yang ea7c7c4f2e bpftool: start builds from a clean build dir
Nothing cleans ${B} between rebuilds and the kernel makefiles cache
their feature detection results there, so a sysroot-only change (say
binutils leaving DEPENDS) skips the relink and packages a stale
binary that still links libbfd.

Signed-off-by: mark.yang <mark.yang@lge.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-08-07 07:58:34 -07:00
Khem Raj 787d1b73e2 meta-oe: repair broken recipe upstream version-checks
A full check-upgrade-status sweep of meta-oe found 121 recipes reporting
UNKNOWN_BROKEN: their upstream version check resolved no version. This
adds the correct check metadata to each so the version check works again.

Fixes, by mechanism:
 - wget/tarball recipes: add UPSTREAM_CHECK_URI + UPSTREAM_CHECK_REGEX
   pointing at the real release listing (SourceForge files pages, GitHub
   releases pages, GNU/ftp mirrors, distro pools).
 - git recipes with release tags in a non-default format: add
   UPSTREAM_CHECK_GITTAGREGEX matching the actual tag scheme.
 - git repos with no tags at all: UPSTREAM_CHECK_COMMITS = "1".
 - recipes whose upstream has no checkable release channel, or whose PV
   format cannot be compared against upstream tags (CPAN zero-padded
   versions, AUTOINC "git" PVs, dash-separated tags the checker cannot
   convert): UPSTREAM_VERSION_UNKNOWN = "1" with an explanatory comment.

Also override GITHUB_BASE_URI for libppd's sibling libcupsfilters where the
github-releases class default pointed at a non-existent org (404).

Only version-check metadata is touched; no SRC_URI, SRCREV, PV, or checksum
is changed, so nothing that gets built is affected. Each fix was verified
with devtool check-upgrade-status: 120 of 121 now resolve (MATCH, UPDATE,
COMMITS, or an honestly-declared UNKNOWN). The remaining recipe (libubox)
already has correct metadata and only fails locally because the git://
port to git.openwrt.org is firewalled on the build host.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-08-03 18:09:53 -07:00
Khem Raj 91ca86a432 crash-cross-canadian: Use oe.utils.all_multilib_tune_values in the docs
oe-core 6b2defb521 ("utils: Move functions from utils.bbclass to utils.py")
moved all_multilib_tune_values out of utils.bbclass, so the unqualified name
is no longer available to recipes. Update the packagegroup snippet in the
comment block so that copying it still works.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-08-03 16:53:08 -07:00
Khem Raj 4fc7c36afb kernel-selftest: Drop obsolete dependency on linux-kernel-base
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-08-03 16:53:08 -07:00
Niko Mauno de818f92b4 meta-oe: Drop obsolete INC_PR declarations
The variable was pruned from oe-core already in 2020 since
commit 3fdd772b419b ("recipes: Remove remaining INC_PR variables")

Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-08-03 13:34:40 -07:00
Khem Raj e8ad55a0ee turbostat: Use oe.kernel.get_version_file
oe-core commit b980106560 ("lib/oe/kernel: Move python functions from
linux-kernel-base to library code") moved the kernel helpers out of
linux-kernel-base.bbclass into meta/lib/oe/kernel.py and renamed them from
get_kernelXXX to oe.kernel.get_XXX, so get_kernelversion_file no longer exists
and expanding KERNEL_VERSION raises NameError.

turbostat is COMPATIBLE_HOST x86 only, so this does not show up when parsing for
other architectures, but it breaks the same way as zabbix did.

Switch to the new name. The functions now live in the oe library, which is
always available in python expressions, so the linux-kernel-base inherit is no
longer needed -- it only exports KBUILD_BUILD_* now, which is of no use here,
and upstream intends to remove the class entirely.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-08-01 11:57:30 -07:00
Khem Raj a884b55acd oprofile: Fix build with binutils 2.47
binutils 2.47 removed the bfd_boolean compatibility define along with the
TRUE/FALSE macros it brought in, see binutils commit 1d95b744c069 ("Remove
bfd_boolean definition from bfd"). This breaks oprofile:

  opagent.c:81:2: error: use of undeclared identifier 'bfd_boolean'
  create_bfd.c:68:18: error: 'FALSE' undeclared

Add a patch using bool/false from <stdbool.h> instead, which is what the
bfd API has been returning since binutils 2.36.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-07-31 11:03:59 -07:00
Wang Mingyu e1dc6c6ce3 crash-trace: add recipe for crash trace extension module
Add a new recipe for crash-trace, a crash utility extension that
displays kernel tracing data and traced events prior to a panic.

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-07-20 23:08:10 -07:00
Khem Raj 8f3df8b447 recipes: Convert licenses to SPDX expressions
- Automatically convert all licenses to valid SPDX license expressions
  using convert-spdx-licenses.py

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-07-20 22:35:47 -07:00
Khem Raj 63a5292025 crash: Fix cross compilation for 32-bit arm
The upstream crash Makefile CONF_TARGET_ARCH mapping (used when
CROSS_COMPILE is set) enumerates most of OE supported arches
but omits 32-bit arm. Building with CROSS_COMPILE=arm-*
therefore aborts at Makefile parse time:

    Makefile:75: *** The current Arch(arm) does not support cross compilation.  Stop.

ARM is already a valid crash target (defs.h/configure.c), so add a patch
mapping the normalized "arm" arch to CONF_TARGET_ARCH=ARM like every
other supported arch.

Verified by cross building crash for qemuarm (arm-yoe-linux-gnueabi-):

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Cc: Ricardo Salveti <ricardo.salveti@oss.qualcomm.com>
2026-06-30 23:37:18 -07:00
Khem Raj de65cb93c3 ktls-utils: upgrade 1.3.0 -> 1.4.0
Drop 0001-systemd-Fix-out-of-tree-builds, which is present in 1.4.0 and
no longer applies.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-06-28 00:59:22 -07:00
Khem Raj 4a8a15f7aa ipmiutil: upgrade 3.1.9 -> 3.2.2
Refresh fix_systemd_path.patch for 3.2.2.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-06-28 00:59:22 -07:00
Khem Raj e73caaf78f crash-cross-canadian: fix build, including on clang based SDKs
The cross-canadian variant did not build. Several issues:

1. DEPENDS used :append on top of crash.inc's target DEPENDS. cross-canadian
   does not remap DEPENDS to nativesdk, so the target zlib/readline/ncurses/
   gmp/mpfr stayed in the dependency set and staged a real target usr/lib into
   the recipe sysroot, clashing with the nativesdk toolchain (clang-glue
   provides usr/lib as a symlink) during do_prepare_recipe_sysroot. Override
   DEPENDS with the nativesdk set instead (matching gdb-cross-canadian) and add
   the -native build tools the build needs.

2. do_compile hardcoded ${HOST_PREFIX}gcc, which does not exist on clang based
   SDKs (TOOLCHAIN = "clang"), giving "C compiler cannot create executables".
   Use the toolchain-aware ${CC}/${CXX} like the other variants.

3. crash's gdb merge re-enters the top-level crash Makefile from gdb's link
   rule ("make -C ../.. ... library") without passing the compiler, so crash's
   own objects fell back to the Makefile default $(CROSS_COMPILE)gcc and failed
   to find a compiler on clang SDKs. Forward CC/CXX through that recursion in
   the bundled gdb-16.2.patch; this is harmless where ${cross}-gcc exists.

Verified by building crash, crash-native, crash-cross and
crash-cross-canadian-x86-64 for a clang based SDK (qemux86-64).

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-06-27 15:50:59 -07:00
Khem Raj 496ce81934 crash: pull in gmp/mpfr for the cross variant
The bundled gdb 16.2 hard-requires GMP and MPFR (crash 8.0.6 bundled gdb 10.2,
which did not). native.bbclass remaps DEPENDS to their -native variants
automatically, so crash-native builds, but cross.bbclass does not - so
crash-cross failed in gdb's configure with:

    configure: error: Building GDB requires GMP 4.2+, and MPFR 3.1.0+.

List the build-host dependencies (gmp/mpfr, plus readline/ncurses that crash
links) explicitly for class-cross.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-06-27 15:50:59 -07:00
Khem Raj 15f9b7f915 crash: fix buildpaths QA properly via gdb --with-sysroot=/
The recipe passed --with-sysroot=${STAGING_DIR_TARGET} to the bundled gdb's
configure. gdb bakes that path in as its default target sysroot, so the
resulting /usr/bin/crash binary embedded the build-time recipe-sysroot path:

    File /usr/bin/crash in package crash contains reference to TMPDIR [buildpaths]

This was worked around by demoting the buildpaths QA check to a warning
(ERROR_QA:remove / WARN_QA:append), which only hides the problem - the build
path is still wrong for a binary that runs on the target (or, for the
cross-canadian variant, in the SDK).

Set --with-sysroot=/ instead. crash takes the kernel/vmlinux and dump on its
command line, so gdb's compiled-in default sysroot is irrelevant at runtime;
"/" is both a sane default and contains no build path. With this the binary
no longer references TMPDIR, so the QA suppression can be removed and the
buildpaths check passes for real.

Verified with a clean build for qemux86-64: no buildpaths QA issue and no
TMPDIR references remain in the crash binary.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-06-27 15:50:59 -07:00
Khem Raj d5423311b9 crash: drop unnecessary git scaffolding from do_compile
The do_compile:prepend ran "git init && git add . && git commit" inside the
staged gdb-16.2 tree. crash's build does not use git at all - the bundled gdb
is unpacked from a release tarball and merged with plain "patch -p0" - so this
served no purpose and only made the build depend on a working git identity.

In any environment where committer identity is unset, or where commit signing
is enabled globally (commit.gpgsign=true), do_compile fails with:

    error: gpg failed to sign the data
    fatal: failed to write commit object

Drop the git scaffolding entirely; the gdb patch still applies with patch(1).

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-06-27 15:50:59 -07:00
Robert Berger 56b437228b crash 8.0.6 -> 9.0.2 + crash-memory-driver
1) crash-memory-driver: fixed typo to include proper patch
2) crash-memory-driver: keep license,...

patch against comments on pull request:

1) HOMEPAGE updated
2) UPSTREAM_CHECK_URI updated
3) exports removed
4) if [ -f "gdb-16.2.patch" ]; then... removed
5) notes about QA Issue: reference to TMPDIR [buildpaths] added
6) notes ./crash --buildinfo removed
7) LIC_FILES_CHKSUM: use license text in crash.c
8) PV = "9.0.2+git${SRCPV}" -> SRCPV removed
9) removed unused patches
10) crash: LICENSE = GPL-3.0-only

Signed-off-by: Robert Berger <Robert.Berger@ReliableEmbeddedSystems.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-06-27 15:50:59 -07:00
Khem Raj a7428c96bf crash: fix bundled gdb build for C++20
std::allocator::construct was removed in C++20 (GCC 16 default).

Rewrite 0006-gdbsupport-fix-default-init-alloc to include <memory>
guard the using-declaration to pre-C++17, and add a forwarding
construct() overload.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-06-27 15:50:58 -07:00
Yi Zhao ecc7bd597e pm-graph: fix do_package issue for nativesdk
Specify BINDIR, MANDIR and SHRDIR to fix nativesdk-pm-graph do_package
QA issue:
  ERROR: nativesdk-pm-graph-5.13-r0 do_package: QA Issue:
  nativesdk-pm-graph: Files/directories were installed but not shipped
  in any package:
    /usr/bin
    /usr/share
    /usr/bin/bootgraph
    /usr/bin/netfix
    /usr/bin/sleepgraph
    /usr/share/pm-graph
    /usr/share/man
    /usr/share/man/man8
    /usr/share/man/man8/sleepgraph.8
    /usr/share/man/man8/bootgraph.8

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-06-25 08:42:03 -07:00
Wang Mingyu 924be4d82b crash: build bundled GDB with GNU C++17
The GDB 10.2 sources still rely on std::allocator::construct, which was
removed in C++20.

This causes the build to fail with errors such as:

default-init-alloc.h:52:12: error:
'construct' has not been declared in 'class std::allocator<...>'

Explicitly build the C++ sources with GNU C++17 to retain compatibility
with the bundled GDB sources.

Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-06-24 11:57:15 -07:00
Nora Schiffer c6722579be kernel-selftest: do not run 'make clean'
Due to the way the kernel-selftest sources are set up, the toplevel
Makefile does not work and `make clean` will always result in a "The
source tree is not clean, please run 'make ARCH=... mrproper'" error.

Avoid running it by setting CLEANBROKEN = "1", so rebuilding the recipe
without a clean (which often happens when the kernel has changed) does
not fail.

Signed-off-by: Nora Schiffer <nora.schiffer@ew.tq-group.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-06-09 07:26:33 -07:00
Telukula Jeevan Kumar Sahu d56e22f0d6 kernel-selftest: add generic architecture-independent self-tests
Add generic kernel self-tests that build cleanly with mainline
kernel (6.18+), work on all architectures, and either PASS or SKIP
gracefully at runtime.

Tests added:
- acct: BSD process accounting
- breakpoints: hardware breakpoint handling
- cachestat: page cache statistics (cachestat syscall)
- cgroup: control group v1 interface
- clone3: clone3 syscall with flags
- core: syscalls like close_range, unshare
- coredump: core dump generation
- dmabuf-heaps: DMA-BUF heap allocator
- efivarfs: EFI variable filesystem
- filelock: POSIX file locking (OFD locks)
- filesystems: basic filesystem operations
- filesystems/binderfs: Android Binder IPC (skips if CONFIG_ANDROID_BINDERFS=n)
- filesystems/epoll: epoll syscall extensions
- fpu: floating-point unit state
- ftrace: function tracer interface
- futex: fast userspace mutex
- gpio: general purpose I/O
- ipc: System V IPC primitives
- kcmp: compare kernel resource identifiers
- kvm: kernel-based virtual machine
- landlock: LSM sandboxing (skips if CONFIG_SECURITY_LANDLOCK=n)
- locking: ww_mutex deadlock avoidance
- lsm: Linux Security Module interface
- membarrier: memory barrier syscalls
- mincore: mincore syscall (page residency)
- mount: mount syscall (unprivileged variants)
- mount_setattr: mount attribute syscall
- move_mount_set_group: move_mount peer group
- mseal_system_mappings: system mapping sealing
- namespaces: PID/UTS/IPC/mount/network namespaces
- net: networking stack
- net/mptcp: multipath TCP
- pidfd: pidfd-based process management
- pid_namespace: PID namespace limits
- proc: /proc filesystem interface
- ptrace: process tracing
- rlimits: resource limits
- rseq: restartable sequences
- sched: scheduler and real-time classes
- seccomp: secure computing mode
- signal: signal handling
- size: ELF size utilities
- splice: zero-copy data transfers
- sync: cache synchronization
- syscall_user_dispatch: user-space syscall dispatch
- sysctl: sysctl interface
- tc-testing: traffic control
- timens: time namespaces
- tmpfs: tmpfs filesystem
- tpm2: Trusted Platform Module 2.0
- tty: TTY layer
- uevent: kernel uevent subsystem
- user_events: tracepoint user interface
- vDSO: virtual dynamic shared object
- watchdog: hardware watchdog timer
- zram: compressed RAM block device

Tested on aarch64 device BeaglePlay(AM6254 SoC):
- Tests either PASS or SKIP gracefully

Depends-on: kernel-selftest: add libcap to build and runtime dependencies

Signed-off-by: Telukula Jeevan Kumar Sahu <j-sahu@ti.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-06-07 18:21:52 -07:00
Telukula Jeevan Kumar Sahu 447405d1ff kernel-selftest: add libcap to build and runtime dependencies
libcap is needed unconditionally for capability-aware tests such as
breakpoints, cgroup, clone3, futex, ptrace, and seccomp.  Add it to
DEPENDS so it is always available at build time and to RDEPENDS so the
installed tests can call cap_get_proc() and friends at runtime.

bash and libgcc are also added to RDEPENDS: bash is required by several
test shell scripts, and libgcc provides libgcc_s.so needed by tests
that use GCC-emitted unwinding stubs.

Signed-off-by: Telukula Jeevan Kumar Sahu <j-sahu@ti.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-06-07 18:21:51 -07:00
Li Zhou e8910a6acc minicoredumper: upgrade 2.0.7 -> 2.0.8
Upgrade minicoredumper from 2.0.7 to 2.0.8.
Remove below patches because they have been merged by 2.0.8
upstream version:
0001-corestripper-Fix-uninitialized-warning.patch
0002-Fix-2038-year-problem-in-timestamp-handling.patch
0001-coreinject-fix-assignment-of-const-qualified-type.patch

Changelog:
===========
* Address multiple compiler warnings and errors found by more recent
  toolchains. The issues existed technically, but were not a problem
  for real-world usage scenarios.

* Relocate the man pages for sbin binaries to section 8.

* Fix timestamp value in the core dump directory name for 32-bit
  systems with a 64-bit time_t definition after 2038-01-19.

* Improve status query for init script to check core_pattern usage and
  handle when the regd daemon is not enabled.

* Known problems:

    - If tar is active, core files larger than 8GB will be
      truncated. If it is known that the core files will be >8GB and
      the full core file is needed, tar must be disabled.

License-Update:
The COPYING changes in upstream commit 941079541a
update Copyright end dates to reflect when changes were last committed.
The COPYING.LGPLv2.1 change in upstream commit 00e3b2fdf7 replaces
the FSF postal mailing address with a URL as recommended by the GNU FAQ.
No license change, no impact on the recipe licensing.

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-06-07 18:21:47 -07:00
Wang Mingyu e3d55327f3 python3-drgn: upgrade 0.1.0 -> 0.2.0
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-05-13 20:46:39 -07:00
He Zhe 0a3798eaed bpftool-native: Fix -Wdiscarded-qualifiers errors for glibc 2.42+
Backport a patch from kernel to fix the following build errors.

bbpf.c: In function ‘kallsyms_cb’:
| libbpf.c:8192:13: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
|  8192 |         res = strstr(sym_name, ".llvm.");
|       |             ^
| libbpf.c: In function ‘avail_kallsyms_cb’:
| libbpf.c:11497:31: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
| 11497 |                 if (!(sym_sfx = strstr(sym_name, ".llvm.")))
|       |                               ^
| libbpf.c: In function ‘resolve_full_path’:
| libbpf.c:12085:35: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
| 12085 |                         next_path = strchr(s, ':');
|       |

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-05-13 00:21:39 -07:00
Joao Marcos Costa 335045d3fb kernel-selftest: add missing sources if mm is enabled
Some headers come from 'mm' (in the top source directory, i.e. the root of
Linux's sources), as in the exampels below:

Makefile:LOCAL_HDRS += $(selfdir)/mm/local_config.h $(top_srcdir)/mm/gup_test.h
cow.c:#include "../../../../mm/gup_test.h"
gup_longterm.c:#include "../../../../mm/gup_test.h"
gup_test.c:#include <mm/gup_test.h>
hmm-tests.c:#include <mm/gup_test.h>
uffd-unit-tests.c:#include "../../../../mm/gup_test.h"

Add this directory to KERNEL_SELFTEST_SRC if 'mm' PACKAGECONFIG is enabled.

Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-04-20 07:35:38 -07:00
Joao Marcos Costa 06ddb535df kernel-selftest: fix mm selftests dependencies
Add numa (numactl), as required by rmap, migration, and others.

Add liburing, otherwise some tests would be disabled.

Moreover, liburing's availability is checked in a shell script executed
prior to the compilation of the individual test cases. This script,
however, does not read CFLAGS.

Backport a fix [1] from mainline to address this issue.

[1] https://github.com/torvalds/linux/commit/7f532d19c8be76ad2fcd7ab6b0c9eb618f70966b

Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-04-20 07:35:38 -07:00
Joao Marcos Costa a407a3e533 kernel-selftest: drop libhugetlbfs
The support of libhugetlbfs was removed from mainline Linux a while ago,
since v6.1 [1].

Since libhugetlbfs was the main reason to remove 'mm' selftests for some
specific architectures, the respective operations should only remove bpf.

Update the recipe to remove libhugetlbfs as a dependency of mm, and thus
unblock this test category for some targets.

[1] https://github.com/torvalds/linux/commit/6f83d6c74ea5a5b267be85206822da280cae110a

Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-04-20 07:35:38 -07:00
Joao Marcos Costa fcae7611c1 kernel-selftest: rename vm selftests to mm
Since v6.10 [1], this category of selftests was renamed
to 'mm'.

Update the recipe accordingly.

I left a mention to the previous name (i.e., 'vm') just in case.

[1]: https://github.com/torvalds/linux/commit/baa489fabd01596d5426d6e112b34ba5fb59ab82

Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-04-20 07:35:38 -07:00
Khem Raj 28f7c9cf68 libbpf: Upgrade to 1.7.0 release
User space-side features

* bpf_map__set_exclusive_program() and bpf_map__exclusive_program() APIs for exclusive map creation;
* bpf_program__assoc_struct_ops() and bpf_prog_assoc_struct_ops() APIs to associate a non-struct_ops BPF program with a struct_ops map;
* btf__permute() API to rearrange BTF types in-place according to a provided mapping;
* BTF type lookup optimization: binary search for btf__find_by_name() and btf__find_by_name_kind();
* btf__add_btf() now accepts split BTF sources;
* fsession support (SEC("fsession+") / SEC("fsession.s+"));
* BPF_F_CPU and BPF_F_ALL_CPUS flags support for per-CPU map operations;
* arena globals are moved to the end of the arena mmap region if kernel supports it;
* support for LLVM-generated indirect jump tables (BPF ISA v4) via .jumptables ELF section and BPF_MAP_TYPE_INSN_ARRAY maps;
* avoid expensive kallsyms parsing when kprobe.session target is an exact function match;
* new dont_enable option in struct bpf_perf_event_opts to suppress perf event auto-enablement;

BPF-side features

* USDT SIB (Scale-Index-Base) addressing support;
* dynptr helper signatures (bpf_dynptr_from_mem, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data) widened from 32-bit to 64-bit size/offset parameters;

Bug fixes
 * As usual, a number of bug fixes included, see full commit log for details.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-03-30 19:46:38 -07:00
Gyorgy Sarvari ba323d198f bpftool: add missing build dependency
Add openssl as a dependency. Fixes compilation error:

| sign.c:16:10: fatal error: openssl/opensslv.h: No such file or directory
|    16 | #include <openssl/opensslv.h>

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-03-20 14:13:09 -07:00
Khem Raj 0f254f6b0f agent-proxy: Ensure that OE cflags are passed properly to build
Current builds were extracting the relevance from LDFLAGS, which is
not the right thing to do. cflags carry the right elements to ensure
reproducibility with OE, so ensure its respected by makefile

Fixes
WARNING: agent-proxy-1.97-r0 do_package_qa: QA Issue: File /usr/bin/.debug/agent-proxy in package agent-proxy-dbg contains reference to TMPDIR [buildpaths]

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-03-20 14:13:05 -07:00
Gyorgy Sarvari ede40e0d90 minicoredumper: backport patch to build with glibc 2.43
As the subject says.

Fixes compilation error:
| ../../../sources/minicoredumper-2.0.7/src/coreinject/main.c: In function 'inject_data':
| ../../../sources/minicoredumper-2.0.7/src/coreinject/main.c:248:11: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
|   248 |         p = strrchr(b_fname, '/');

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-03-20 09:51:43 -07:00
Peter Bergin 46ae413c63 rtla: add recipe for real-time linux analysis tool
rtla source code is present in the kernel source tree at tools/tracing/rtla.
There is another build option for rtla to enable bpf bindings, this was
not a quick one to get working and left as a future improvement.

Makefile for rtla has evolved in newer kernels (v6.9). Some fixes needed for
support with older kernels. This commit was tested against 6.18 and 6.8.

Also add rtla to packagegroup-meta-oe-benchmarks.

Signed-off-by: Peter Bergin <peter@berginkonsult.se>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-03-17 13:25:12 -07:00
Peter Bergin d6815efa84 cpupower: keep header files for other packages and package systemd service
When having a DEPENDS against cpupower it need to leave its header files.
Remove that cleanup that has been present since the beginning of the recipe
without any (to me) known reason.

cpupower ship a systemd service and config file in kernel source tree
since kernel 6.16. Package them as a separate package cpupower-systemd to
be installed if wanted.

Add cpupower to packagegroup-meta-oe to be included in builds of all
packages.

Signed-off-by: Peter Bergin <peter@berginkonsult.se>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-03-17 13:25:12 -07:00
Wang Mingyu b293419af6 python3-drgn: upgrade 0.0.33 -> 0.1.0
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-03-02 19:25:51 -08:00
Mingli Yu d3cdd51235 agent-proxy: Restore DEBUG_PREFIX_MAP in TARGET_LDFLAGS
oe-core has removed DEBUG_PREFIX_MAP from TARGET_LDFLAGS [1], restore
it to fix the below error.

ERROR: agent-proxy-1.97-r0.wr2600 do_package_qa: QA Issue: File /usr/bin/.debug/agent-proxy in package agent-proxy-dbg contains reference to TMPDIR [buildpaths]
ERROR: agent-proxy-1.97-r0.wr2600 do_package_qa: Fatal QA errors were found, failing task.

[1] https://git.openembedded.org/openembedded-core/commit/?id=1797741aad02b8bf429fac4b81e30cdda64b5448

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-02-06 10:06:20 -08:00
Weisser, Pascal c3754d7d90 minicoredumper: Add HOMEPAGE variable
Add HOMEPAGE variable to minicoredumper recipe.

Signed-off-by: Weisser, Pascal <pascal.weisser.ext@karlstorz.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-01-22 22:01:05 -08:00
Liwei Song 461e5620bc tmon: add a new recipe to generate tmon
tmon is a monitoring and testing tool for Linux kernel thermal
subsystem, it help visualize, tune, and test this complex system.

Signed-off-by: Liwei Song <liwei.song@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-01-21 15:29:20 -08:00
Wang Mingyu 0fbbddd537 libtracefs: upgrade 1.8.2 -> 1.8.3
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-01-12 08:53:43 -08:00
Weisser, Pascal 63bb5dc590 trace-cmd: Add HOMEPAGE variable
Add HOMEPAGE variable to trace-cmd recipe.

Signed-off-by: Weisser, Pascal <pascal.weisser.ext@karlstorz.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-12-10 08:58:47 -08:00
Jiaying Song b5685fb375 minicoredumper: fix 2038 year problem in timestamp handling
The minicoredumper has multiple 2038 year problems where 'long' type
variables and strtol() function calls cause overflow on 32-bit systems
when handling timestamps after 2038-01-19.

This leads to incorrect timestamp formatting in core dump directory
names (e.g., sleep40s.20380119.031407+0000.598).

Fix by changing 'long timestamp' to 'time_t timestamp' and replacing
strtol() with strtoll() to properly handle 64-bit timestamps on
32-bit systems.

Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-12-10 08:56:16 -08:00