Peter Korsgaard [Mon, 3 Jun 2024 07:17:26 +0000 (09:17 +0200)]
package/on2-8170-modules: remove package
With the corresponding binary library and gstreamer 0.10 plugin removed, the
package for the kernel module does not make a lot of sense, so remove the
package.
Peter Korsgaard [Mon, 3 Jun 2024 07:17:25 +0000 (09:17 +0200)]
package/on2-8170-libs: remove package
The linux4sam_1.9 upstream is no longer available for this binary-only
library that was used with a gstreamer 0.10 plugin, which was itself removed
in 2020.02 with commit fb49c7a26182f9d (package/gstreamer/*: remove
packages), so remove the package.
Yann E. MORIN [Sun, 2 Jun 2024 16:21:23 +0000 (18:21 +0200)]
package/qt5base: fix download
Since qt5base was last bumped in 8ab4a0a348b2 (package/qt5: bump packages
to latest kde submodule versions), the hash for the downloaded tarball
has changed:
But now, the archive generated by the KDE gorge (Gitlab underneath) has
another hash (as seen above). This means that the KDE forge (Gitlab) has
changed the way it generates archives. So, what's the delta? It turns
out that the only changes are about CRLF that were present in the
original archive, and are no longer in the new one. It is to be noted
that the affected files do not have CRLFS in the repository. It further
turns out that the archive was previously generated with .gitattibutes
of the main branch ('dev' in Qt repositories), while now they are
generated with the .gitattibutes of the commit for which they are
generated.
Switch to using the git download method for really reproducible
archives...
Yann E. MORIN [Sun, 2 Jun 2024 14:55:42 +0000 (16:55 +0200)]
package/pkg-download: use _DL_SUBDIR as root dir of generated archives
Currently, when we generate archives, e.g. for git, svn, cargo or go, we
use the package _BASENAME_RAW as the root directory of the generated
archive. For example, for package foo at version 1.2.3, that would generate
an archive rooted at foo-1.2.3/.
This is usually what we want, except in one specific condition: when the
package shares its download with another package *and* it is a generated
archive. In that case, the root directory will be different for each of
the two packages, which is incorrect, but was so far benign: we never
had any hash for such generated archives, and they were only generated
in two cases:
- linux and linux-headers
- barebox and barebox-aux
As we skip one directory depth when extracting the archives, we did not
care what the root directory was; whether it was that of one package or
the other was of no consequence.
But now that we can have hashes for archives generated from custom
versions, this breaks the usual case where the headers used for the
toolchains are those of the kernel to build for the target. In this
case, we may end up downloading the linux-headers package before we
download the linux package, so we'd get the hash for an archive rooted
at linux-headers-XXX/, but the one for the linux package the archive
would be rooted at linux-XXX/, or we may end up (e.g. with parallel
builds) downloading the linux package first and linux-headers next.
That would cause conflicts in hashes, as demonstrated by the only defconfig
we have in that situation, olimex_stmp157_olinuxino_lime_defconfig.
_BASENAME_RAW is a construct that is expanded to include the RAWNAME
followed by a dash and the version, if there is a version, or with just
the RAWNAME when there is no version.
We tweak the download macro to use _DL_SUBDIR followed by the version.
This is only used by VCS backends (cvs, git, svn...) and so there will
always be a version string, so no need to duplicate the case without a
version like is done for _BASENAME_RAW
_DL_SUBDIR defaults to _RAWNAME, so this is a noop by default, unless
the package declares it shares its download with another one, in which
case the generated archive will now be rooted as for the shared package.
Fiona Klute [Fri, 31 May 2024 18:53:28 +0000 (20:53 +0200)]
package/dnsmasq: Fix init script restart command
Restarting dnsmasq can cause constant issues: stop works, but start
fails because the new instance can't bind the socket. Another restart
immediately after works just fine:
# /etc/init.d/S80dnsmasq restart
Stopping dnsmasq: OK
Starting dnsmasq:
dnsmasq: failed to create listening socket for 192.168.128.1: Address in use
FAIL
# /etc/init.d/S80dnsmasq restart
Stopping dnsmasq: FAIL
Starting dnsmasq: OK
Solve this by waiting for process to actually stop before returning
from the stop command. Clean up the PID file after to avoid potential
issues with the PID being reused after stop. The wait could also be
placed inside the restart block, but putting it into the stop block
has the advantage that it also avoids similar issues for any other
callers.
James Hilliard [Tue, 28 May 2024 13:22:18 +0000 (07:22 -0600)]
utils/genrandconfig: switch to async/await format
This requires python 3.5 or newer but is a bit cleaner than the
previous coroutine method.
This should also fix a python3.12 issue:
[Tue, 28 May 2024 13:09:05] INFO: generate the configuration
Traceback (most recent call last):
File "/home/autobuild/autobuild/instance-0/buildroot/utils/genrandconfig", line 833, in <module>
ret = asyncio.run(gen_config(args))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/asyncio/runners.py", line 194, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/asyncio/runners.py", line 89, in run
raise ValueError("a coroutine was expected, got {!r}".format(coro))
ValueError: a coroutine was expected, got <generator object gen_config at 0xffff7bd822c0>
[Tue, 28 May 2024 13:09:06] WARN: failed to generate configuration
Dario Binacchi [Thu, 30 May 2024 20:47:05 +0000 (22:47 +0200)]
configs/acmesystems_arietta_*: bump Linux to 4.19.315 to fix compilation error
The Linux kernel failed to build since commit e88225ed882 (package/binutils:
make 2.41 the default version). The new version contains the commit 790756c7e0229 ("ARM: 8933/1: replace Sun/Solaris style flag on section
directive") that fixes the issue.
Dario Binacchi [Thu, 30 May 2024 20:47:03 +0000 (22:47 +0200)]
configs/acmesystems_aria_*: bump Linux to 4.19.315 to fix compilation error
The Linux kernel failed to build since commit e88225ed882 (package/binutils:
make 2.41 the default version). The new version contains the commit 790756c7e0229 ("ARM: 8933/1: replace Sun/Solaris style flag on section
directive") that fixes the issue.
Dario Binacchi [Wed, 29 May 2024 21:37:51 +0000 (23:37 +0200)]
configs/at91sam9x5ek*_defconfig: add hashes for at91bootstrap3/Linux/headers/u-boot
And enable BR2_DOWNLOAD_FORCE_CHECK_HASHES. With this, we can now drop the
defconfig from .checkpackageignore.
Furthermore, the use of the directory board/atmel/at91sam9x5ek/patches
for all 4 at91sam9x5ek*_defconfig configurations automatically fixes the
Linux compilation failure for the at91sam9x5ek_defconfig,
at91sam9x5ek_mmc_defconfig, and at91sam9x5ek_mmc_dev_defconfig
configurations as well.
Dario Binacchi [Wed, 29 May 2024 18:38:41 +0000 (20:38 +0200)]
configs/lego_ev3_defconfig: bump Linux to 4.19.315 to fix compilation error
The Linux kernel failed to build since commit e88225ed882 (package/binutils:
make 2.41 the default version). The new version contains the commit 790756c7e0229 ("ARM: 8933/1: replace Sun/Solaris style flag on section
directive") that fixes the issue.
Brandon Maier [Tue, 28 May 2024 15:09:10 +0000 (15:09 +0000)]
utils/add-custom-hashes: symlink linux-headers to linux
Most boards use BR2_KERNEL_HEADERS_AS_KERNEL with their custom kernels.
So when creating their custom hash files, the linux-headers.hash is the
same as linux.hash. In this case we symlink linux-headers to linux to
make maintenance easier. Update the add-custom-hashes tool to explicitly
handle this case.
Julien Olivain [Tue, 28 May 2024 19:20:08 +0000 (21:20 +0200)]
package/ccache: always disable developer mode
Ccache CMake build system has some conditions that automatically
enables a developer mode (sets CCACHE_DEV_MODE=ON). See [1].
More specifically, if CCACHE_DEV_MODE is unset AND the environment
variable "CI" is set, CCACHE_DEV_MODE is set to "ON".
This situation can happen when Buildroot builds are executed in
Jenkins jobs, for example. Since Buildroot does not set
CCACHE_DEV_MODE and Jenkins sets the "CI" environment variable,
this ccache developer mode can be enabled in an unexpected way
for the Buildroot user. For example, it happened that a Jenkins build
breaks, while the build with the same configuration in the user
session is working.
One of the effects of enabling this ccache developer mode, is to treat
compiler warnings as errors, see [3]. This can lead to build error,
depending on the ccache version and the host compiler being used.
This behavior can be reproduced and observed, with commands:
...
-- Ccache version: 4.9.1
-- Ccache dev mode: OFF
-- Setting CMAKE_BUILD_TYPE to Release as none was specified.
...
Whereas:
make clean
CI=true make host-ccache
Outputs:
...
-- Ccache version: 4.9.1
-- Ccache dev mode: ON
-- Setting CMAKE_BUILD_TYPE to Debug as none was specified.
...
For a failure example: on Fedora 40 with host gcc 14.1.1, Buildroot at
tag 2024.02 has ccache 4.8.2. Host ccache can fail, when building with
"CI=true make host-ccache" with output:
/buildroot/output/build/host-ccache-4.8.2/src/third_party/fmt/core.h:3119:44: in 'constexpr' expansion of 'fmt::v8::make_format_args<>(args#0, args#1)'
/buildroot/output/build/host-ccache-4.8.2/src/third_party/fmt/core.h:1706:15: error: possibly dangling reference to a temporary [-Werror=dangling-reference]
1706 | const auto& arg = arg_mapper<Context>().map(std::forward<T>(val));
| ^~~
This commit sets CCACHE_DEV_MODE=OFF to make the ccache behavior more
deterministic in Buildroot, independently of being used in a CI tool
or not.
package/wpewebkit: security bump to version 2.44.2
Update to the most recent stable release of WPE WebKit. As this is a
change to a newer release series, there are a few changes in the CMake
build options. Dependencies mostly remain the same. The main changes
are:
- The new ENABLE_WEB_CODECS option is set along with ENABLE_VIDEO and
ENABLE_WEB_RTC depending on BR2_PACKAGE_WPEWEBKIT_MULTIMEDIA.
- The new USE_LIBBACKTRACE option is set accordingly, depending on
BR2_PACKAGE_LIBBACKTRACE.
- WebAssembly does not work with ENABLE_C_LOOP, so it needs to be
disabled alongside it for MIPSr6, ARMv5 and ARMv6; not that building
WebAssembly support is enabled by default.
- ENABLE_ACCESSIBILITY has been removed, instead the new USE_ATK option
can be used to the same effect.
- JPEG2000 is no longer supported, the openjpeg dependency is removed.
This new stable series brings in support for pointer lock, customization
of subprocess launching, and a build fix that allows using EGL
implementations that do not ship a pkg-config module. Version 1.16.x is
recommended for WPE WebKit 2.44.x, which will be updated in a follow-up
patch.
Julien Olivain [Sun, 26 May 2024 17:58:28 +0000 (19:58 +0200)]
configs/pine64_star64: uboot needs openssl
The defconfig fails in uboot build, with output:
In file included from tools/imagetool.c:10:
include/image.h:1178:12: fatal error: openssl/evp.h: No such file or directory
1178 | # include <openssl/evp.h>
| ^~~~~~~~~~~~~~~
This commit fixes the issue by adding
BR2_TARGET_UBOOT_NEEDS_OPENSSL=y to the defconfig.
Dario Binacchi [Sun, 26 May 2024 20:01:10 +0000 (22:01 +0200)]
configs/at91sam9x5ek_dev_defconfig: fix Linux compilation error with binutils 2.41+
The Linux kernel fails to build since commit e88225ed882 (package/binutils:
make 2.41 the default version). This commit applies the backport patch of
upstream commit 790756c7e0229dedc83bf058ac69633045b1000e to the 4.19.y
stable kernel.
Signed-off-by: Dario Binacchi <[email protected]>
[Peter: extend description to mention binutils 2.41] Signed-off-by: Peter Korsgaard <[email protected]>
Julien Olivain [Sun, 26 May 2024 16:43:46 +0000 (18:43 +0200)]
configs/mx51evk: bump kernel to 5.10.218 to fix build
Since commit dc0f721 "package/gcc: switch to 13.x as default",
mx51evk_defconfig is failing to build in Kernel (see [1]),
with output:
drivers/ata/libahci.c: In function 'ahci_led_store':
././include/linux/compiler_types.h:315:45: error: call to '__compiletime_assert_328' declared with attribute error: BUILD_BUG_ON failed: sizeof(_s) > sizeof(long)
315 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^
This commit fixes the issue by bumping the Kernel to 5.10.218.
The kernel commit fixing the build failure is [2], first included in
v5.10.184. There is also many other gcc-13 fixes.
While bumping the Kernel, this commit also enables
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y, add the relevant archive hash files,
and removes the defconfig entry in ".checkpackageignore".
Thomas Devoogdt [Fri, 5 Apr 2024 14:01:53 +0000 (16:01 +0200)]
package/weston: fix xcb-util-cursor dependency for xwayland
Run-time dependency xcb-cursor found: NO (tried pkgconfig and cmake)
../../br-test-pkg/bootlin-armv7-glibc/build/weston-13.0.0/tests/meson.build:340:2: ERROR: Problem encountered: xcb and xcb-cursor required for running xwayland tests
Add global patch directory pointing to board specific .hash files
for uboot, linux, linux-headers and add BR2_DOWNLOAD_FORCE_CHECK_HASHES.
This way we can drop this defconfig entry in .checkpackageignore.
Commit 2e349be94a87db05d (configs/orangepi_pc_defconfig: bump U-boot to
v2024.01 to fix compatibility with setuptools >= 69) bumped U-Boot, but
forgot to add a dependency on host-openssl. Fix that.
Fixes: https://gitlab.com/buildroot.org/buildroot/-/jobs/6918689094
Commit 113eeb55d67 (configs/orangepi_r1_defconfig: bump U-boot to v2024.01
to fix compatibility with setuptools >= 69) bumped U-Boot, but forgot to add
a dependency on host-openssl. Fix that.
Fabrice Fontaine [Sat, 25 May 2024 06:12:44 +0000 (08:12 +0200)]
package/cryptodev-linux: fix build with kernel >= 6.7
Fix the following build failure with kernel >= 6.7:
/home/buildroot/autobuild/instance-0/output-1/build/cryptodev-linux-1.13/./cryptlib.c: In function ‘cryptodev_hash_init’:
/home/buildroot/autobuild/instance-0/output-1/build/cryptodev-linux-1.13/./cryptlib.c:384:28: error: implicit declaration of function ‘crypto_ahash_alignmask’; did you mean ‘crypto_aead_alignmask’? [-Werror=implicit-function-declaration]
384 | hdata->alignmask = crypto_ahash_alignmask(hdata->async.s);
| ^~~~~~~~~~~~~~~~~~~~~~
| crypto_aead_alignmask
In file included from /home/buildroot/autobuild/run/instance-0/output-1/host/or1k-buildroot-linux-uclibc/sysroot/usr/include/lua.hpp:6,
from ../src/lua.hh:23,
from ../src/parser.hh:4,
from ../src/ffilib.cc:7:
../src/ffilib.cc: In static member function 'static void ffi_module::setup(lua_State*)':
../src/ffilib.cc:1616:28: error: expected ')' before 'FFI_ARCH_NAME'
1616 | lua_pushliteral(L, FFI_ARCH_NAME);
| ^~~~~~~~~~~~~
Dario Binacchi [Thu, 16 May 2024 15:52:12 +0000 (17:52 +0200)]
configs/qemu_sparc_ss10_defconfig: fix linux hash
Commit c3e17c407a3 (configs/qemu_sparc_ss10: re-introduce defconfig) added a
hash file for the Linux kernel, but mistakingly used the .tar.gz instead of
.tar.xz.
The patch fixes "make legal-info" for qemu_sparc_ss10 configuration:
Giulio Benetti [Wed, 22 May 2024 19:46:10 +0000 (21:46 +0200)]
configs/amarula_vyasa_rk3288_defconfig: bump to Linux version 6.1.91
Build fails with gcc 13 with:
drivers/ata/libahci.c: In function 'ahci_led_store':
././include/linux/compiler_types.h:357:45: error: call to
'__compiletime_assert_302' declared with attribute error: BUILD_BUG_ON failed:
sizeof(_s) > sizeof(long)
357 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
As explained in Linux commit[0] that fixes the build, sizeof() of enum
like '(1<<31)' translate to a 64-bit type, but we expect a 32-bit type.
So commit[0] makes sure the data type to be 32-bits wide by using BIT()
macro.
In file included from libs/base64.h:25,
from libs/base64.c:23:
libs/types.h:30:9: error: unknown type name 'ssize_t'
30 | typedef ssize_t sz;
| ^~~~~~~
Peter Korsgaard [Wed, 22 May 2024 21:57:53 +0000 (23:57 +0200)]
configs/orangepi_pc_defconfig: bump Linux to 5.10.217 to fix gcc 13.x build
The 5.10.9 kernel fails to build with GCC 13.x:
In file included from <command-line>:
drivers/ata/libahci.c: In function ‘ahci_led_store’:
././include/linux/compiler_types.h:315:45: error: call to ‘__compiletime_assert_321’ declared with attribute error: BUILD_BUG_ON failed: sizeof(_s) > sizeof(long)
315 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^
././include/linux/compiler_types.h:296:25: note: in definition of macro ‘__compiletime_assert’
296 | prefix ## suffix(); \
| ^~~~~~
././include/linux/compiler_types.h:315:9: note: in expansion of macro ‘_compiletime_assert’
315 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
./include/linux/build_bug.h:39:37: note: in expansion of macro ‘compiletime_assert’
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
./include/linux/build_bug.h:50:9: note: in expansion of macro ‘BUILD_BUG_ON_MSG’
50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
| ^~~~~~~~~~~~~~~~
./include/linux/nospec.h:58:9: note: in expansion of macro ‘BUILD_BUG_ON’
58 | BUILD_BUG_ON(sizeof(_s) > sizeof(long)); \
| ^~~~~~~~~~~~
drivers/ata/libahci.c:1137:23: note: in expansion of macro ‘array_index_nospec’
1137 | pmp = array_index_nospec(pmp, EM_MAX_SLOTS);
| ^~~~~~~~~~~~~~~~~~
This is fixed upstream by commit f07788079f515ca (ata: ahci: fix enum
constants for gcc-13), which has been backported to 5.10.x as of 5.10.184,
so bump to v5.10.217 to fix the build.
Commit 6b62384e3d2a9e1 (package/python-setuptools: bump to version 69.0.3)
bumped setuptools, which now errors out when passed a version with a prefix
string. This u-boot- prefix string is dropped since U-Boot 2023.01 with
commit c977b1843504 (libfdt: Fix invalid version warning), so bump U-Boot to
v2024.01 to fix this issue.
Fabrice Fontaine [Tue, 21 May 2024 18:25:59 +0000 (20:25 +0200)]
package/lmdb: fix CFLAGS handling
By passing TARGET_CONFIGURE_OPTS to make, the following usptream CFLAGS
are completely overridden:
CFLAGS = $(THREADS) $(OPT) $(W) $(XCFLAGS)
As a result, setting XCFLAGS is a no-op and -pthread is not passed
resulting in the following build failure since the addition of the
package in commit eb60c4054c25129d78651a66d1e7554aff04767f:
Fabrice Fontaine [Fri, 17 May 2024 21:25:34 +0000 (23:25 +0200)]
package/minisign: do not strip
Set CMAKE_STRIP to an empty value to avoid the following build failure
with BR2_BINFMT_FLAT raised since the addition of the package in commit d90ac63d9b3448a239bb9aa8030326699a3fdc3d:
/home/buildroot/instance-0/output-1/host/bin/m68k-linux-strip: /home/buildroot/instance-0/output-1/build/minisign-0.11/minisign: file format not recognized
Fabrice Fontaine [Thu, 16 May 2024 16:31:44 +0000 (18:31 +0200)]
package/putty: security bump to version 0.81
The only change between 0.80 and 0.81 is one security fix:
- ECDSA signatures using 521-bit keys (the NIST P521 curve, otherwise
known as ecdsa-sha2-nistp521) were generated with biased random
numbers. This permits an attacker in possession of a few dozen
signatures to RECOVER THE PRIVATE KEY.
Any 521-bit ECDSA private key that PuTTY or Pageant has used to
sign anything should be considered compromised.
This vulnerability has the identifier CVE-2024-31497.
Peter Korsgaard [Sun, 19 May 2024 10:13:53 +0000 (12:13 +0200)]
configs/orangepi_r1_defconfig: bump Linux to 5.10.217 to fix gcc 13.x build
The 5.10.10 kernel fails to build with GCC 13.x:
In file included from <command-line>:
drivers/ata/libahci.c: In function ‘ahci_led_store’:
././include/linux/compiler_types.h:315:45: error: call to ‘__compiletime_assert_321’ declared with attribute error: BUILD_BUG_ON failed: sizeof(_s) > sizeof(long)
315 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^
././include/linux/compiler_types.h:296:25: note: in definition of macro ‘__compiletime_assert’
296 | prefix ## suffix(); \
| ^~~~~~
././include/linux/compiler_types.h:315:9: note: in expansion of macro ‘_compiletime_assert’
315 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
./include/linux/build_bug.h:39:37: note: in expansion of macro ‘compiletime_assert’
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
./include/linux/build_bug.h:50:9: note: in expansion of macro ‘BUILD_BUG_ON_MSG’
50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
| ^~~~~~~~~~~~~~~~
./include/linux/nospec.h:58:9: note: in expansion of macro ‘BUILD_BUG_ON’
58 | BUILD_BUG_ON(sizeof(_s) > sizeof(long)); \
| ^~~~~~~~~~~~
drivers/ata/libahci.c:1137:23: note: in expansion of macro ‘array_index_nospec’
1137 | pmp = array_index_nospec(pmp, EM_MAX_SLOTS);
| ^~~~~~~~~~~~~~~~~~
This is fixed upstream by commit f07788079f515ca (ata: ahci: fix enum
constants for gcc-13), which has been backported to 5.10.x as of 5.10.184,
so bump to v5.10.217 to fix the build.
Commit 6b62384e3d2a9e1 (package/python-setuptools: bump to version 69.0.3)
bumped setuptools, which now errors out when passed a version with a prefix
string. This u-boot- prefix string is dropped since U-Boot 2023.01 with
commit c977b1843504 (libfdt: Fix invalid version warning), so bump U-Boot to
v2024.01 to fix this issue.
Julien Olivain [Mon, 20 May 2024 08:39:42 +0000 (10:39 +0200)]
configs/imx8mmpico: bump bsp components to version tn-mickledore_6.1.55-2.2.0_20240417
This commit bumps the BSP components (U-Boot, Arm Trusted Firmware
and Kernel) to version tn-mickledore_6.1.55-2.2.0_20240417.
While at it, it also enable BR2_DOWNLOAD_FORCE_CHECK_HASHES=y in the
defconfig, to check the archives of this new version. The necessary
hash files are also added. The BR2_GLOBAL_PATCH_DIR moved, due to a
defconfig refresh with a "make savedefconfig".
This commit also removes arm-truster-firmware package patches which
are no longer needed (since they are included in the new version).
Finally, this defconfig fail to build since commit dc0f721
"package/gcc: switch to 13.x as default". Those new BSP components
contains the patches to fix this build issue.
Peter Korsgaard [Tue, 21 May 2024 06:40:44 +0000 (08:40 +0200)]
configs/beagleboneai_defconfig: bump Linux to 5.10.217 to fix gcc 13.x build
The 5.10.79 kernel fails to build with GCC 13.x:
In file included from <command-line>:
drivers/ata/libahci.c: In function ‘ahci_led_store’:
././include/linux/compiler_types.h:315:45: error: call to ‘__compiletime_assert_321’ declared with attribute error: BUILD_BUG_ON failed: sizeof(_s) > sizeof(long)
315 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^
././include/linux/compiler_types.h:296:25: note: in definition of macro ‘__compiletime_assert’
296 | prefix ## suffix(); \
| ^~~~~~
././include/linux/compiler_types.h:315:9: note: in expansion of macro ‘_compiletime_assert’
315 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
./include/linux/build_bug.h:39:37: note: in expansion of macro ‘compiletime_assert’
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
./include/linux/build_bug.h:50:9: note: in expansion of macro ‘BUILD_BUG_ON_MSG’
50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
| ^~~~~~~~~~~~~~~~
./include/linux/nospec.h:58:9: note: in expansion of macro ‘BUILD_BUG_ON’
58 | BUILD_BUG_ON(sizeof(_s) > sizeof(long)); \
| ^~~~~~~~~~~~
drivers/ata/libahci.c:1137:23: note: in expansion of macro ‘array_index_nospec’
1137 | pmp = array_index_nospec(pmp, EM_MAX_SLOTS);
| ^~~~~~~~~~~~~~~~~~
This is fixed upstream by commit f07788079f515ca (ata: ahci: fix enum
constants for gcc-13), which has been backported to 5.10.x as of 5.10.184,
so bump to v5.10.217 to fix the build.
Julien Olivain [Tue, 21 May 2024 19:44:41 +0000 (21:44 +0200)]
support/testing: improve python-magic-wormhole test reliability
The python-magic-wormhole runtime test can randomly fail on slow
runners, see [1].
The issue is that the sending command is started first in background
_without_ redirecting its output to /dev/null. The receiving command
is started after, expecting the message to be printed on the first
standard output line. On slower systems, the sending command still
print messages while the test controller expect output from the
receiving command. The expected string finally appear, but not on the
first line. This makes the test fail.
This commit fixes the issue by redirecting all outputs (stdout, stderr)
of the sending command to /dev/null. To help even more, the sleep time
is moved from the emulator to the test controller. The sleep time is
also multiplied by the timeout_multiplier.