Version 2.12.1
* Fixes
- Version 2.12.0 was missing the py.typed marker file. Thanks to Alex
Waygood for the fix! #975
- The copyright year in all files was bumped to 2023.
License-Update: copyright years
Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
6.68.2 - 2023-02-17
This patch fixes missing imports of the re module, when ghostwriting tests
which include compiled patterns or regex flags. Thanks to Jens Heinrich for
reporting and promptly fixing this bug!
Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Khem Raj [Wed, 1 Mar 2023 10:24:28 +0000 (02:24 -0800)]
opensbi: Do not add dependencies if RISCV_SBI_FDT is not set
Dependencies only make sense when opensbi is being used to deliver
payload which maybe an artifact of kernel or u-boot, otherwise it should
be not added. This avoids circular dependencies when RISCV machines do
not define RISCV_SBI_PAYLOAD but do define RISCV_SBI_FDT
Tim Orling [Wed, 1 Mar 2023 18:10:39 +0000 (10:10 -0800)]
python3-more-itertools: upgrade 9.0.0 -> 9.1.0
Upstream docs currently have a typo showing the changes as 8.14.0
https://github.com/more-itertools/more-itertools/commit/89d58c2ec089f3df54ed6cc9279949b8e2bbcd29
9.1.0
-----
* New functions
- iter_index() (from the Python itertools docs)
- transpose() (from the Python itertools docs)
- matmul() (from the Python itertools docs)
- factor() (from the Python itertools docs)
- gray_product() (thanks to haukex)
* Changes to existing functions
- sieve() was updated to match the Python itertools docs
- maxsplit() was updated to fix a bug (thanks to abingham)
- sliced() had its type hint updated (thanks to ad-chaos)
* Other changes
- The batched function is marked as deprecated and will be removed in a
future major release. For Python 3.12 and above, use itertools.batched
instead. (thanks to neutrinoceros)
- The type hints now used postponed evaluation of annotations from PEP 563
(thanks to Isira-Seneviratne)
- Some documentation issues were fixed (thanks to Voskov and jdkandersson)
Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Wed, 1 Mar 2023 05:30:05 +0000 (21:30 -0800)]
kernel: Add kernel specific OBJDUMP
This helps in switching toolchains cleanly for kernel build
between gcc and clang
Currently, some kernels allow building with clang but not all
the distro might use clang as default system compiler but kernel
may demand gcc which is provided via KERNEL_* variables, however
kernel does use OBJCOPY at places during build and it maybe set
to use llvm objcopy when using clang. That should be a deliberate
setting when clang is used for kernel as well, otherwise it should
use binutils provided objcopy
leimaohui [Tue, 28 Feb 2023 02:00:02 +0000 (10:00 +0800)]
nghttp2: Deleted the entries for -client and -server, and removed a dependency on them from the main package.
By default there is nothing in nghttp2-client and nghttp2-server ,nghttp2-client
and nghttp2-server aren't created. So there are dependences error if install
main package.
Marek Vasut [Mon, 27 Feb 2023 19:15:48 +0000 (20:15 +0100)]
systemd-systemctl: Create machine-id with "uninitialized" text in it
Instead of creating empty /etc/machine-id file using touch, write
text "uninitialized" into it. Systemd requires "uninitialized" in
the /etc/machine-id file to trigger systemd-firstboot .
Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alexis Lothoré [Mon, 27 Feb 2023 19:42:23 +0000 (20:42 +0100)]
oeqa/selftest/resulttool: add test for metadata filtering on regression
Multiple filters have been added to resulttool to ensure that test
results are compared only to relevant older tests results
Add some unit tests about added filters:
- tests should only be compared when machine matches
- tests run as oeselftest should only be compared when
OESELFTEST_METADATA matches
- many ptests should match despite non-static names
- runtime tests should match with matching tests regarding ltp tests
content
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alexis Lothoré [Mon, 27 Feb 2023 19:42:22 +0000 (20:42 +0100)]
scripts/yoct_testresults_query: manage base/target revision not found
If yocto_testresults_query.py is run from oe-core instead of poky, the
script will very likely fail since poky tags do no exist in oe-core. If
one or both revisions are not found, log the error and a suggestion
about the reason (the script being run in oe-core instead of poky)
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 27 Feb 2023 16:21:28 +0000 (16:21 +0000)]
glibc: add ignore for CVE-2023-25139
This CVE has been fixed in the 2.37 release branch (07b9521fc6) and
we're now using a SHA that incorporates that commit, so manually mark it
as ignored.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Trevor Woerner [Mon, 27 Feb 2023 05:00:40 +0000 (00:00 -0500)]
VOLATILE_TMP_DIR: add
Provide a mechanism to allow users to choose whether the /tmp directory
is on persistent storage (non-volatile) or a RAM-based tmpfs (volatile).
The default is volatile.
Works for both sysvinit-based and systemd-based systems.
Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 27 Feb 2023 13:13:03 +0000 (13:13 +0000)]
quilt: run tests as ptest user, and let that user write into the tests
The tests need to run as a non-root user, but that user also needs to be
able to write into the tests directory to create the work directories.
Use the new ptest user that ptest-runner creates to avoid having to add
a new user, and ensure that the test/ directory is owned by the ptest
group and that group has write access.
This solves the ptest regression where since oe-core 9a287b4 no quilt
tests were actually running.
A better solution would be to allow the tests to create a work directory
in another directory, but that would need work upstream which can happen
later.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/runqemu: move render nodes check to runqemu from selftest
This will produce a more useful hint for those setting
up or testing virgl headless:
runqemu - ERROR - No render nodes found in /dev/dri: ['by-path', 'card0']. If /dev/dri/renderD* is absent due to lack of suitable GPU, 'modprobe vgem' will create one suitable for mesa llvmpipe software renderer.
as qemu itself isn't helpful:
alex@Zen2:/srv/storage/alex/yocto/build-64-alt$ qemu-system-x86_64 -display egl-headless
qemu-system-x86_64: egl: no drm render node available
qemu-system-x86_64: egl: render node init failed
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
selftest: do not check for dri.pc in the headless test
runqemu (which the test also runs) already performs this check,
and does it better, as it additionally unsets a number of environment
variables that can confuse and misdirect host's pkg-config.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 25 Feb 2023 14:02:46 +0000 (14:02 +0000)]
resulttool/regression: Improve matching of poor ptest test names
Some test case naming is poor and contains random strings, particularly
lttng/babeltrace but also curl. Truncating the test names works since they
contain file and line number identifiers which allows us to match them
without the random components, or in the case or curl, test IDs.
Going forward we may be able to improve the test names but this
tweak allows historical test results to work in reports.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alexis Lothoré [Fri, 24 Feb 2023 16:45:55 +0000 (17:45 +0100)]
oeqa/selftest: add test for yocto_testresults_query.py
Add some tests for new yocto_testresults_query.py helper. First test is taken
from yocto-autobuilder-helper feature which has moved in yocto_testresults_query
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alexis Lothoré [Fri, 24 Feb 2023 16:45:54 +0000 (17:45 +0100)]
scripts: add new helper for regression report generation
Add yocto-testresults-query script. This is a thin wrapper over resulttool which
is able to translate tags or branch name to specific revisions, and then to work
with those "guessed" revisions with resulttool
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alexis Lothoré [Fri, 24 Feb 2023 16:45:52 +0000 (17:45 +0100)]
scripts/resulttool/regression: add metadata filtering for oeselftest
When generating regression reports, many false positive can be observed since
some tests results are compared while the corresponding tests sets are not the
same, as it can be seen for example for oeselftest tests (oeselftest is run
multiple time but with different parameters, resulting in different tests sets)
Add a filtering mechanism in resulttool regression module to enable a better
matching between tests. The METADATA_MATCH_TABLE defines that when the TEST_TYPE
is "oeselftest", then resulttool should filter pairs based on
OESELFTEST_METADATA appended to test configuration. If metadata is absent from
test results, in order to keep compatibility with older results, add a
"guessing" mechanism to generate the missing OESELFTEST_METADATA. The guessed
data is tightly coupled to the autobuilder configuration, where all oe-selftest
executions are described
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alexis Lothoré [Fri, 24 Feb 2023 16:45:50 +0000 (17:45 +0100)]
scripts/oe-selftest: append metadata to tests results
Many stored results TEST_TYPE are set to "oeselftest", however all those
tests are not run with the same sets of parameters, so those tests results may
not be comparable.
Attach relevant parameters as tests metadata to allow identifying tests
configuration so we can compare tests only when they are run with the same
parameters.
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Pavel Zhukov [Thu, 16 Feb 2023 12:23:39 +0000 (13:23 +0100)]
wic: Fix populating of IMAGE_EFI_BOOT_FILES with uefi-kernel
wic plugin crashed if IMAGE_EFI_BOOT_FILES is not empty and uefi-kernel
loader specified because of preliminary return from the function.
[Yocto #15033]
Fixes:
| File "/mnt/builds/yocto/sources/scripts/lib/wic/plugins/source/bootimg-efi.py", line 371, in do_prepare_partition
| for src_path, dst_path in cls.install_task:
| ^^^^^^^^^^^^^^^^
| AttributeError: type object 'BootimgEFIPlugin' has no attribute 'install_task'. Did you mean: 'do_install_disk'?
Signed-off-by: Pavel Zhukov <pavel@zhukoff.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Peter Marko [Fri, 24 Feb 2023 13:53:09 +0000 (14:53 +0100)]
systemd: add group sgx to udev package
>From NEWS for v250:
* Device nodes for the Software Guard eXtension enclaves (sgx_vepc) are
now also owned by the system group "sgx".
>From NEWS for v248:
* Intel SGX enclave device nodes (which expose a security feature of
newer Intel CPUs) will now be owned by a new system group "sgx".
Fixes following journal error entry during startup:
/lib/udev/rules.d/50-udev-default.rules:43 Unknown group 'sgx', ignoring
This is seen already on kirkstone.
Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Fri, 24 Feb 2023 17:55:28 +0000 (09:55 -0800)]
musl: Update to tip of trunk
This brings in following changes
* 7d756e1c (upstream/master, origin/master) dns: prefer monotonic clock for timeouts
* 07616721 fix return value of wcs{,n}cmp for extreme wchar_t values
* 35fdfe62 math: fix undefined shift in logf
* 7e13e5ae inet_pton: fix uninitialized memory use for IPv4-mapped IPv6 addresses
* 7e6da7ac hsearch: fix null pointer arithmetic UB
* f79b973d increase sendmsg internal buffer to support SCM_MAX_FD
* 0ab97350 mq_notify: block all (application) signals in the worker thread
* 711673ee mq_notify: join worker thread before returning in error path
* 8c0c9c69 mq_notify: rework to fix use-after-close/double-close bugs
* fde6891e mq_notify: use semaphore instead of barrier to sync args consumption
* c3cd04fa fix pthread_detach inadvertently acting as cancellation point in race case
* 115149c0 powerpc-sf longjmp clobbering of val argument
* 5763f003 riscv64: add vfork
* 269d1938 fix wrong sigaction syscall ABI on mips*, or1k, microblaze, riscv64
* ea3b40a3 fix integer overflow in WIFSTOPPED macro
* f897461d fix debugger tracking of shared libraries on mips with PIE main program
* a4b0a665 expose memmem under baseline POSIX feature profile
* 9532ae13 use libc-internal malloc for pthread_atfork
* 7d358599 prevent invalid reads of nl_arg in printf_core
* c5f4b2df elf.h: add ELFCOMPRESS_ZSTD
* 159d1f6c semaphores: fix missed wakes from ABA bug in waiter count logic
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Dmitry Baryshkov [Sat, 25 Feb 2023 00:10:56 +0000 (03:10 +0300)]
ffmpeg: fix build failure when vulkan is enabled
The patch fixes the following errors observed when building ffmpeg in
vulkan-enabled distros:
| src/libavutil/hwcontext_vulkan.c:363:7: error: 'VK_EXT_VIDEO_DECODE_H264_EXTENSION_NAME' undeclared here (not in a function); did you mean 'VK_EXT_VIDEO_ENCODE_H264_EXTENSION_NAME'?
| 363 | { VK_EXT_VIDEO_DECODE_H264_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | VK_EXT_VIDEO_ENCODE_H264_EXTENSION_NAME
| src/libavutil/hwcontext_vulkan.c:364:7: error: 'VK_EXT_VIDEO_DECODE_H265_EXTENSION_NAME' undeclared here (not in a function); did you mean 'VK_EXT_VIDEO_ENCODE_H265_EXTENSION_NAME'?
| 364 | { VK_EXT_VIDEO_DECODE_H265_EXTENSION_NAME, FF_VK_EXT_NO_FLAG },
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| | VK_EXT_VIDEO_ENCODE_H265_EXTENSION_NAME
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Elberger [Wed, 22 Feb 2023 13:49:40 +0000 (13:49 +0000)]
docbook-xml: Switch from debian packages to upstream docbook sources
This patch changes the docbook-xml distribution package source from
debian to docbook which aligns the recipe with the source
originator. Other changes made to the recipe include:
This patch resolves [YOCTO #13270].
- removal of version 4.0 given docbook no longer distributes version
4.0
- simplification of the header description.
- inline comments to communicate the rationale behind gathering
multiple versions and LICENSE file handling.
- minor ordering changes to align with styling conventions and better
context to better communicate use
- Added comment about magic XMLCATALOGS variable. This variable and
subsequent inherit might be better placed in recipes that depend on
docbook-xml but leave it for now to not cause a patch landslide.
- Modify the related docbook-xml patch to remove docbook-xml-4.0 since
it is no longer provided.
- Put BBCLASSEXTEND to end of recipe per RP note on convention
Signed-off-by: Richard Elberger <rich@richelberger.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Chee Yang Lee [Fri, 24 Feb 2023 04:00:56 +0000 (12:00 +0800)]
checklayer: check for patch file upstream status
yocto-check-layer to check all .patch file in layer for
Upstream-status and list down all .patch file without Upstream-Status.
set this test as expected failure for now, so this wont fail the check
layer while still able to capture any patches with malformed or missing
Upstream-Status in report.
[YOCTO #14642]
Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jose Quaresma [Fri, 17 Feb 2023 09:58:55 +0000 (09:58 +0000)]
icecc: enable the network only when ICECC_DISABLED is not set
Enabling the network uncondictional is not need for some use cases.
Such use case is usefull to reuse the sstate-cache of the build
and it requires the icecc inherit in all of the builds.
The real control control of the icecc is in the variable ICECC_DISABLED
so this patch change the logic to enable the network when the icecc is in use.
Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Richard Purdie [Fri, 24 Feb 2023 10:47:35 +0000 (10:47 +0000)]
oeqa/selftest/prservice: Improve debug output for failure
We keep seeing this failure on the autobuilder but the output amounts
to "False is not True". Improve the debug message on the chance it may
make the issue clearer.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mingli Yu [Thu, 23 Feb 2023 07:30:47 +0000 (15:30 +0800)]
mc: set ac_cv_path_PERL_FOR_BUILD
After mc upgrade to 4.8.29, it introduces PERL_FOR_BUILD [1] and will
result in the below build failure on some system when we build under
a project with long path.
| make[4]: Entering directory '/buildarea2/WTEST_Regression/Rerun/build_dir/02161802-multilib_pkgs_conflict/qemux86-64-standard-std-OE/build1/tmp-glibc/work/core2-64-wrs-linux/mc/4.8.29-r0/build/doc/hlp/es'
make[4]: Nothing to be done for 'install-exec-am'.
| ../../../src/man2hlp/man2hlp ../../../doc/man/es/mc.1 ../../../../mc-4.8.29/doc/hlp/es/xnc.hlp mc.hlp.es
| ../../../src/man2hlp/man2hlp: line 32: use: command not found
| ../../../src/man2hlp/man2hlp: line 33: use: command not found
| ../../../src/man2hlp/man2hlp: line 36: syntax error near unexpected token `('
| ../../../src/man2hlp/man2hlp: line 36: `my %static = ('
| make[4]: [Makefile:632: mc.hlp.es] Error 2 (ignored)
$ head -n 5 tmp-glibc/work/core2-64-wrs-linux/mc/4.8.29-r0/build/src/man2hlp/man2hlp
#! /buildarea2/WTEST_Regression/Rerun/build_dir/02161802-multilib_pkgs_conflict/qemux86-64-standard-std-OE/build1/tmp-glibc/hosttools/perl
#
# Man page to help file converter
# Copyright (C) 1994, 1995, 1998, 2000, 2001, 2002, 2003, 2004, 2005,
# 2007, 2010, 2011
It's beacause the shebang line exceeds 128 which is usually the max
length.
So set ac_cv_path_PERL_FOR_BUILD to fix the above issue and altogether
to remove the build path issue.
Pavel Zhukov [Wed, 22 Feb 2023 21:33:41 +0000 (22:33 +0100)]
u-boot: Map arm64 into map for u-boot dts installation
While arm64 is a valid UBOOT_ARCH (according to mkimage -A) u-boot
keeps arm64 specific dts under 'arch/arm' directory.
As the result the recipe tries to install arch/arm64 (if UBOOT_DTB
was specified) and fails with [1]. Remapping "arm64" to "arm" to fix this
issue.
[1]
| install: cannot stat '.../u-boot/1_2023.01-r0/build/arch/arm64/dts/u-boot.dtb': No such file or directory
Signed-off-by: Pavel Zhukov <pavel@zhukoff.net> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Pedro Baptista [Tue, 21 Feb 2023 11:49:21 +0000 (11:49 +0000)]
create.py: add command arg to add layer to bblayers.conf
Add command arg `--add-layer` which enables the create
and add layer in a single step.
Signed-off-by: Pedro Baptista <pedro.miguel.baptista@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joshua Watt [Tue, 21 Feb 2023 18:15:22 +0000 (12:15 -0600)]
weston: Add kiosk shell
Adds support for the kiosk shell to weston. The Kiosk shell is designed
to run a fullscreen application in a "kiosk" mode, but unlike the
fullscreen shell the kiosk mode still provides traditional desktop
protocols.
Wang Mingyu [Tue, 21 Feb 2023 10:19:58 +0000 (18:19 +0800)]
python3-pytest-subtests: upgrade 0.9.0 -> 0.10.0
Changelog:
=========
Added experimental support for suppressing subtest output dots in non-verbose
mode with --no-subtests-shortletter -- this allows the native pytest column
calculations to not be disrupted and minimizes unneeded output for large CI systems.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Tue, 21 Feb 2023 10:18:56 +0000 (18:18 +0800)]
python3-pip: update 23.0 -> 23.0.1
Changelog:
============
Features
--------
- Ignore PIP_REQUIRE_VIRTUALENV for "pip index"
- Implement "--break-system-packages" to permit installing packages into
"EXTERNALLY-MANAGED" Python installations.
Bug Fixes
---------
- Improve handling of isolated build environments on platforms that
customize the Python's installation schemes, such as Debian and
Homebrew.
- Do not crash in presence of misformatted hash field in "direct_url.json".
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Dmitry Baryshkov [Tue, 21 Feb 2023 01:21:44 +0000 (04:21 +0300)]
mesa: provide support for packing development and testing tools
Mesa contains several optional tools that can be useful for application
and driver developers. Add a packageconfig option to build a mesa-tools
package containing relevant programs.
Note, the fdperf tool for the freedreno depends on libconfig, which is
not a part of oe-core, thus this tool is not built by default by this
recipe even when freedreno driver is selected. The fdperf tool needs to
be explicitly enabled by adding 'freedreno-fdperf' to the PACKAGECONFIG.
* The Windows native target now supports target async.
* FreeBSD:
** Arm and AArch64: Support for Thread Local Storage (TLS) variables
** Hardware watchpoint support on AArch64 FreeBSD
* Floating-point support has now been added on LoongArch GNU/Linux.
* New commands:
** set print nibbles [on|off]
show print nibbles
This controls whether the 'print/t' command will display binary values
in groups of four bits, known as "nibbles". The default is 'off'.
** Various styling-related commands. See the gdb/NEWS file for more
details (see link at the bottom).
** Various maintenance commands. These are normally aimed at GDB
experts or developers. See the gdb/NEWS file for more details
(see link at the bottom).
* Python API improvements:
** New Python API for instruction disassembly.
The new attribute 'locations' of gdb.Breakpoint returns a list of
gdb.BreakpointLocation objects specifying the locations where the
breakpoint is inserted into the debuggee.
** New Python type gdb.BreakpointLocation.
** New function gdb.format_address(ADDRESS, PROGSPACE, ARCHITECTURE)
that formats ADDRESS as 'address <symbol+offset>'
** New function gdb.current_language that returns the name of the
current language. Unlike gdb.parameter('language'), this will
never return 'auto'.
** New function gdb.print_options that returns a dictionary of the
prevailing print options, in the form accepted by gdb.Value.format_string.
** New method gdb.Frame.language that returns the name of the
frame's language.
** gdb.Value.format_string now uses the format provided by 'print',
if it is called during a 'print' or other similar operation.
** gdb.Value.format_string now accepts the 'summary' keyword. This
can be used to request a shorter representation of a value, the
way that 'set print frame-arguments scalars' does.
** The gdb.register_window_type method now restricts the set of
acceptable window names. The first character of a window's name
must start with a character in the set [a-zA-Z], every subsequent
character of a window's name must be in the set [-_.a-zA-Z0-9].
* GDB/MI changes:
** MI version 1 is deprecated, and will be removed in GDB 14.
** The async record stating the stopped reason 'breakpoint-hit' now
contains an optional field locno.
* Miscellaneous improvements:
** gdb now supports zstd compressed debug sections (ELFCOMPRESS_ZSTD) for ELF.
** New convenience variable $_inferior_thread_count contains the number
of live threads in the current inferior.
** New convenience variables $_hit_bpnum and $_hit_locno, set to
the breakpoint number and the breakpoint location number of
the breakpoint last hit.
** The "info breakpoints" now displays enabled breakpoint locations
of disabled breakpoints as in the "y-" state.
** The format of 'disassemble /r' and 'record instruction-history /r'
has changed to match the layout of GNU objdump when disassembling.
A new format "/b" has been introduce to provide the old behavior
of "/r".
** The TUI no longer styles the source and assembly code highlighted
by the current position indicator by default. You can however
re-enable styling using the new "set style tui-current-position"
command.
** It is now possible to use the "document" command to document
user-defined commands.
** Support for memory tag data for AArch64 MTE.
* Support Removal notices:
** DBX mode has been removed.
** Support for building against Python version 2 has been removed.
It is now only possible to build GDB against Python 3.
** Support for the following commands has been removed:
set debug aix-solib on|off
show debug aix-solib
set debug solib-frv on|off
show debug solib-frv
Use the "set/show debug solib" commands instead.
For a complete list and more details on each item, please see the gdb/NEWS
file, available at [1]:
Joel Stanley [Thu, 23 Feb 2023 00:26:32 +0000 (01:26 +0100)]
qemu: Fix building with 6.2 kernel headers
When building native qemu with 6.2 kernel headers, qemu fails to build:
In file included from /usr/include/linux/btrfs.h:29,
from ../qemu-7.2.0/linux-user/syscall.c:165:
/usr/include/linux/fs.h:50:8: error: redefinition of ‘struct file_clone_range’
50 | struct file_clone_range {
| ^~~~~~~~~~~~~~~~
../qemu-7.2.0/linux-user/syscall.c:129:8: note: originally defined here
129 | struct file_clone_range {
| ^~~~~~~~~~~~~~~~
Backport changes to linux-user that remove the local copy of struct
file_clone_range.
Patches from https://lore.kernel.org/qemu-devel/20230110174901.2580297-1-berrange@redhat.com/
Signed-off-by: Joel Stanley <joel@jms.id.au> Tested-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Trevor Woerner [Thu, 23 Feb 2023 20:25:08 +0000 (15:25 -0500)]
dtc: update license checks
The dtc project is dual licensed, and includes the text of both licenses as
part of its sources as well as a README documenting its license situation.
Use these sources to verify the licensing, and to monitor if it changes,
rather than a copyright line in a source file.
Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 23 Feb 2023 17:55:03 +0000 (17:55 +0000)]
binutils: Fix nativesdk ld.so search
Currently binutils in buildtools is searching for /etc/etc/ld.so.conf
which makes no sense. ld_sysconfdir already contains /etc so we need to
drop the /etc from the fixed string.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 22 Feb 2023 13:34:59 +0000 (13:34 +0000)]
sstate: Add check_for_interrupts() call functionality added in bitbake
Add in the new 'check' calls which mean that the code can exit from longer
running code loops if requested by the user. This covers sstate checks and
sstate manifest cleanup code which currently couldn't be interrupted by the
user from the UI.
Increase the minimum bitbake version which brings in this API.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Trevor Woerner [Tue, 21 Feb 2023 20:44:41 +0000 (15:44 -0500)]
build-appliance-image: add /lib64 symlink
Add a /lib64 -> /lib symlink in case the build appliance is 64-bit.
Building rust-native requires cargo to be run. The native cargo is linked to
look for /lib64/ld-linux-x86-64.so.2 and can't be run without it. The build
produces the following error, even though that file does exist:
FileNotFoundError: [Errno 2] No such file or directory: '/home/builder/poky/build/tmp/work/x86_64-linux/rust-native/1.66.1-r0/rust-snapshot/bin/cargo'
Trying to run this binary on its own gives:
qemux86-64:~/poky/build$ tmp/work/x86_64-linux/rust-native/1.66.1-r0/rust-snapshot/bin/cargo
-sh: tmp/work/x86_64-linux/rust-native/1.66.1-r0/rust-snapshot/bin/cargo: cannot execute: required file not found
Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Trevor Woerner [Tue, 21 Feb 2023 20:44:38 +0000 (15:44 -0500)]
build-appliance-image: set TERM
Choose a nicer terminal for the build appliance so that build warnings and
errors show up in colour instead of:
$<50>Setscene tasks: 2844 of 2844
$<50>WARNING: mesa-2_22.3.3-r0 do_fetch: Failed to fetch URL https://mesa.freedesktop.org/archive/mesa-22.3.3.tar.xz, attempting MIRRORS if available
$<50>WARNING: glslang-native-1_1.3.236.0-r0 do_fetch: Failed to fetch URL git://github.com/KhronosGroup/glslang.git;protocol=https;branch=master, attempting MIRRORS if available
Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The test process is stuck for hours, or for ever if the
executing command or test case did not set a timeout correctly.
The default 300 second timeout is not working when target hangs.
Note that timeout is really a "inactive timeout" since data returned
by the process will reset the timeout.
Make the process stdout non-blocking so read() will always return
right away using os.set_blocking() available in python 3.5 and later.
Then change from python codec reader to plain read() and make
the ssh subprocess stdout non-blocking. Even with select()
making sure the file had input to be read, the codec reader was
trying to find more stuff and blocking for ever when process hangs.
While at it, add a small timeout to read data in larger chunks if
possible. This avoids reading data one or few characters at a time
and makes the debug logs more readable.
close() the stdout file in all cases after read loop is complete.
Then make sure to wait or kill the ssh subprocess in all cases.
Just reading the output stream and receiving EOF there does not mean
that the process exited, and wait() needs a timeout if the process
is hanging. In the end kill the process and return the return value
and captured output utf-8 encoded, just like before these changes.
This fixes ssh run() related deadlocks when a qemu target hangs
completely.
Signed-off-by: Mikko Rapeli <mikko.rapeli@linaro.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>