Richard Purdie [Fri, 5 Aug 2022 12:55:49 +0000 (13:55 +0100)]
rust: Enable nativesdk and target builds + replace rust-tools-cross-canadian
Enable rust target builds as well as nativesdk-rust for the sdk. Merge
the builds of rust-tools components into the rust build, packaged separately
since this is a lot more efficient and saves rebuilding core rust multiple
times. The tools are not target specific so nativesdk-rust-tools suffices
and we can drop the cross canadian piece.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 5 Aug 2022 12:53:53 +0000 (13:53 +0100)]
rust: Drop cross/crosssdk
Now that target config json is provided by rust-target-config.bbclass,
the need for the cross and crosssdk recipes is removed. Drop them and
simplify dependencies accordingly.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 5 Aug 2022 12:49:47 +0000 (13:49 +0100)]
rust-cross-canadian: Simplify and fix
Since a copy of rust can target any target and doesn't need to be target
specific, we can simplify rust-cross-canadian to simply contain the json
configuration and envirionment setup scripts.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 5 Aug 2022 12:34:42 +0000 (13:34 +0100)]
rust-common: Simplify libc handling
The current libc handling code is simply wrong in many cases. Simplify it
to a check of the triplet for musl handling which is much simpler and less
error prone when handling things like nativesdk targets.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 5 Aug 2022 12:33:08 +0000 (13:33 +0100)]
rust.inc: Fix for cross compilation configuration
For cross compilation, build, host and target may be different. Ensure
the main rust config has the appropriate sections added to match the
configurations.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Move the "unknown" vendor workaround used during bootstrap to a
central location so it is applied consistently to all RUST_BUILD_SYS
values rather than some subset.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 5 Aug 2022 12:15:31 +0000 (13:15 +0100)]
rust: Generate per recipe target configuration files
Instead of generating target configuration files centrally and often getting
it wrong, or having trouble finding the right set, generate them dynamically
from the bbclass into WORKDIR per recipe.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 5 Aug 2022 11:43:56 +0000 (12:43 +0100)]
rust.inc: Fix cross build llvm-config handling
We need llvm-config for the target but the cross compiled target binary is
no good. We can copy the native one into the target location where it will
then return the target values though.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 5 Aug 2022 11:40:25 +0000 (12:40 +0100)]
rust.inc: Rename variables to make code clearer
Instead of reusing a "target_section" variable, name them host and build
section instead. This patch sets things up for other improvementsm,
separating out the renaming.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 5 Aug 2022 11:28:45 +0000 (12:28 +0100)]
rust: Switch to use RUST_XXX_SYS consistently
The code was using a mixture of XXX_SYS and RUST_XXX_SYS. Use
RUST_XXX_SYS consistently and add the variables to the global exclsion
on signatures as they're reflected in the directory triplets and trying
to filter them out the hashes separately is too painful.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 3 Aug 2022 14:10:00 +0000 (15:10 +0100)]
rust: Work around reproducibility issues
Add a patch which removes the sections of code which encode buildpaths. Whilst
not ideal, the patches at least show where the problematic data is coming from
and should allow more focused work to resovle it by someone who has a better
understanding of rust and what this code is doing. It does look unlikely we
actually need this code in our usecases anyway.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 5 Aug 2022 11:01:32 +0000 (12:01 +0100)]
rust-common: Rework wrappers to handle musl
For musl we need to be able to add a library to the end of the linker commandline.
Rework the wrapper code to be able to do this through a new variable.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 3 Aug 2022 22:19:08 +0000 (23:19 +0100)]
selftest/reproducible: Exclude rust/rust-dbg for now until we can fix
There looks to be a reproducibility issue left in one of the rust
libraries. It doesn't appear to be a string issue but some binary
problem. Disable rust from the reproducibility testing until we can
get to the bottom of the issue (allowing wider testing of all the
other improvements).
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 3 Aug 2022 22:13:34 +0000 (23:13 +0100)]
populate_sdk_base: Disable rust SDK for MIPS n32
The n32 MIPS rust SDK doesn't quite build (libstd-rs fails with an llvm
register issue). Disable it for now, someone with interest in having it working
can fix if/as/when.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 27 Jul 2022 10:19:27 +0000 (11:19 +0100)]
nativesdk: Clear TUNE_FEATURES
Similarly to what native.bbclass does, clear TUNE_FEATURES since these
aren't appropriate to the nativesdk build. This saves us having to change
down signature issues due to data in this variable.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 27 Jul 2022 10:19:49 +0000 (11:19 +0100)]
oeqa/selftest/sstate: Ensure tests are deterministic
glob.glob() depends on the order of files on disk and selecting [0]
is race prone. We should cover all the nativesdk files so rework
the function to do this.
Spotted as some oe-selftests failed, some passed and it raised a question
of why!
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
wangmy [Wed, 3 Aug 2022 23:56:14 +0000 (07:56 +0800)]
python3-pip: upgrade 22.1.2 -> 22.2.1
reproducible.patch
refreshed for new version.
0001-change-shebang-to-python3.patch
removed as not needed since upstream has removed the shebang lines.
License-Update:
src/pip/_vendor/html5lib/LICENSE: removed since it's not it new version
src/pip/_vendor/chardet/LICENSE: file format modified, change St to Street
src/pip/_vendor/pygments/LICENSE: Copyright year updated to 2022
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Martin Jansa [Wed, 3 Aug 2022 15:12:29 +0000 (17:12 +0200)]
pybootchartgui: fix 2 SyntaxWarnings
scripts/pybootchartgui/pybootchartgui/draw.py:820: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if (OPTIONS.show_pid or OPTIONS.show_all) and ipid is not 0:
scripts/pybootchartgui/pybootchartgui/draw.py:918: SyntaxWarning: "is not" with a literal. Did you mean "!="?
if i is not 0:
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
wangmy [Wed, 3 Aug 2022 08:59:57 +0000 (16:59 +0800)]
python3-pygobject: upgrade 3.42.1 -> 3.42.2
Changelog:
=========
Error out instead of crashing when marshaling unsupported fundamental types in some cases !180
Add a workaround for a PyPy 3.9+ bug when threads are used !200
Fix crashes when marshaling zero terminated arrays for certain item types !191
Fix a crash/refcounting error in case marshaling a hash table fails !191
Make the test suite pass again with PyPy !191
tests: support running tests with (MSVC) CPython 3.8+ on Windows !206
interface: Fix leak when overriding GInterfaceInfo !204
setup.py: look up pycairo headers without importing the module (helps with building on Windows and MSVC CPython 3.8+) !205
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
wangmy [Wed, 3 Aug 2022 08:44:06 +0000 (16:44 +0800)]
python3-setuptools: upgrade 63.2.0 -> 63.3.0
Merge with pypa/distutils@129480b, including substantial delinting and cleanup,
some refactoring around compiler logic, better messaging in cygwincompiler (pypa/distutils#161).
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
wangmy [Wed, 3 Aug 2022 08:44:03 +0000 (16:44 +0800)]
python3-jsonschema: upgrade 4.7.2 -> 4.9.0
Changelog:
===========
-Fix relative $ref resolution when the base URI is a URN or other scheme (#544).
-pkgutil.resolve_name is now used to retrieve validators provided on the command
line. This function is only available on 3.9+, so 3.7 and 3.8 (which are still
supported) now rely on the pkgutil_resolve_name backport package. Note however
that the CLI itself is due to be deprecated shortly in favor of check-jsonschema.
-best_match no longer traverses into anyOf and oneOf when all of the errors
within them seem equally applicable. This should lead to clearer error messages
in some cases where no branches were matched.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Jose Quaresma [Tue, 2 Aug 2022 09:29:24 +0000 (10:29 +0100)]
create-spdx: ignore packing control files from ipk and deb
Otherwise spdx can have references for data that is not packed
in the package delivered because this contol data is temporarly
and only exist while the package is been write.
During do_package_write_ipk task in do_package_ipk the control
files is cleaned up at the end. This can create a race condiction
when the do_create_spdx task runs the add_package_files function
and these files is been deleted at same time in the
task do_package_write_ipk.
ERROR: alsa-topology-conf-1.2.5.1-r0 do_create_spdx: Error executing a python function in exec_func_python() autogenerated:
The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_func_python() autogenerated', lineno: 2, function: <module>
0001:
*** 0002:do_create_spdx(d)
0003:
File: '/srv/oe/build/conf/../../layers/openembedded-core/meta/classes/create-spdx.bbclass', lineno: 567, function: do_create_spdx
0563: package_doc.add_relationship(package_doc, "DESCRIBES", spdx_package)
0564:
0565: package_archive = deploy_dir_spdx / "packages" / (package_doc.name + ".tar.zst")
0566: with optional_tarfile(package_archive, archive_packaged) as archive:
*** 0567: package_files = add_package_files(
0568: d,
0569: package_doc,
0570: spdx_package,
0571: pkgdest / package,
File: '/srv/oe/build/conf/../../layers/openembedded-core/meta/classes/create-spdx.bbclass', lineno: 234, function: add_package_files
0230: info.mtime = source_date_epoch
0231:
0232: archive.addfile(info, f)
0233:
*** 0234: sha1 = bb.utils.sha1_file(filepath)
0235: sha1s.append(sha1)
0236: spdx_file.checksums.append(oe.spdx.SPDXChecksum(
0237: algorithm="SHA1",
0238: checksumValue=sha1,
File: '/srv/oe/bitbake/lib/bb/utils.py', lineno: 559, function: sha1_file
0555: """
0556: Return the hex string representation of the SHA1 checksum of the filename
0557: """
0558: import hashlib
*** 0559: return _hasher(hashlib.sha1(), filename)
0560:
0561:def sha384_file(filename):
0562: """
0563: Return the hex string representation of the SHA384 checksum of the filename
File: '/srv/oe/bitbake/lib/bb/utils.py', lineno: 528, function: _hasher
0524:
0525:def _hasher(method, filename):
0526: import mmap
0527:
*** 0528: with open(filename, "rb") as f:
0529: try:
0530: with mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ) as mm:
0531: for chunk in iter(lambda: mm.read(8192), b''):
0532: method.update(chunk)
Exception: FileNotFoundError: [Errno 2] No such file or directory: '/srv/oe/build/tmp-lmp/work/all-lmp-linux/alsa-topology-conf/1.2.5.1-r0/packages-split/alsa-topology-conf/CONTROL/control'
devtool/upgrade: correctly clean up when recipe filename isn't yet known
There is a coding error in the second invocation of _upgrade_error:
rf is passed into it before it is initialized in the try: block. And so
bogus recipes are left behind in the workspace, causing breakage.
Instead, rewrite the functions to take the recipe directory name in the
workspace layer, which can be calculated in advance.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Jan Kiszka [Sat, 30 Jul 2022 08:24:43 +0000 (10:24 +0200)]
wic/bootimg-efi: Add support for loading devicetree files
For device tree using systems, add support to set a custom devices tree
during UEFI boot. This requires to copy the DTB file to the boot
partition and to add the respective loader entries to the configuration
files.
Both grub and systemd-boot support only loading a specific device tree.
Therefore refuse to work if the 'dtb' parameter contains more than one
entry.
Out of scope for now are overlays (only supported by systemd-boot).
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
[Luca: rebased on commit 98e9d435b278 ("wic/bootimg-efi: use cross objcopy when building unified kernel image")]
Jan Kiszka [Sat, 30 Jul 2022 08:24:04 +0000 (10:24 +0200)]
wic/bootimg-efi: Factor out some common bits
The paths for configuring grub and systemd-boot have some common bits
around copying the initrd files. This will even grow when adding dtb
support. Factor this out into a class function.
Along this, avoid evaluating 'create-unified-kernel-image' multiple
times in do_configure_systemdboot and suppress a bogus warning about
"Ignoring missing initrd" when it is turned on.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Randy MacLeod [Mon, 1 Aug 2022 12:52:34 +0000 (08:52 -0400)]
vim: update from 9.0.0063 to 9.0.0115
Drop crosscompile.patch which was merged as part of: 509695c1c (tag: v9.0.0065) patch 9.0.0065: \
cross-compiling doesn't work because of timer_create check
Also drop: racefix.patch which may have been fixed upstream
and is being tracked by:
https://github.com/vim/vim/pull/10776
where upstream is asking if the different approach resolves the
race condition. Let's see what's out there!
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
scripts/oe-setup-builddir: make it known where configurations come from
"with some default values" isn't clear; if the user wants to change or
inspect the default values and their history, we should help them find
where they are. This becomes especially important when using template
configs other than poky's.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Tom Hochstein [Thu, 28 Jul 2022 18:44:36 +0000 (13:44 -0500)]
uboot-config.bbclass: Raise error for bad key
If an invalid key is used, the class ignores the error, with an
indeterminate result. In my case, the problem surfaced in do_deploy:
```
| cp: cannot stat '/.../build/tmp/work/imx6qdlsabresd-fsl-linux-gnueabi/u-boot-imx-mfgtool/2022.04-r0/deploy-u-boot-imx-mfgtool/u-boot.imx': No such file or
| directory
```
The root cause of this was that the uboot config key did not match
a valid option. With the fix, the error is caught by the class:
```
ERROR: Nothing PROVIDES 'u-boot-imx-mfgtool'
u-boot-imx-mfgtool was skipped: The selected UBOOT_CONFIG key ['mfgtool'] has no match in dict_keys(['sd-fslc', 'sd-imx', 'sd-optee-imx', 'sata-imx', 'mfgtool-imx']).
```
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> Acked-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
libarchive: Avoid mount.h conflict between kernel and glibc
glibc 2.36 implements fsconfig_command but it now conflicts with kernel
mount.h and there is no workaround, code in apps have to be adjusted to
use correct API see [1]
Martin Jansa [Thu, 28 Jul 2022 11:40:44 +0000 (13:40 +0200)]
ltp: fix build with ld-is-gold in DISTRO_FEATURES
* backport one more commit for LD call which conflicts with the
0001-kvm-use-LD-instead-of-hardcoding-ld.patch we already had
and replace this 2nd patch with the rebased version which is
now merged upstream
* then backport additional patch which introduces KVM_LD variable
which we can set to use .bfd suffix in LD when ld-is-gold is
in DISTRO_FEATURES to work around gold incompatibility reported:
https://github.com/linux-test-project/ltp/pull/948#issuecomment-1193138866
https://lists.openembedded.org/g/openembedded-core/message/168193
Martin Beeger [Mon, 18 Jul 2022 16:50:23 +0000 (18:50 +0200)]
cmake: remove CMAKE_ASM_FLAGS variable in toolchain file
As discussied in [YOCTO #14717] cmake contains a OEToolchainConfig.cmake
file to configure the toolchain correctly in cross-compile build for recipes
using cmake. The CMAKE_ASM_FLAGS are the configuration are meant for assembly,
but the spelling is incorrect and the Flag is ASFLAGS for gcc and other compilers.
So this variable might neever have worked and it is better for
recipes to specify their own.
Signed-off-by: Martin Beeger <martin.beeger@online.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Ross Burton [Wed, 27 Jul 2022 11:11:53 +0000 (12:11 +0100)]
wic: add target tools to PATH when executing native commands
We might want to run a cross tool, such as objcopy, in wic. These are
in a TARGET_SYS/ subdirectory under /usr/bin, so add that directory to
the search path too.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Petr Vorel [Sat, 23 Jul 2022 20:30:14 +0000 (22:30 +0200)]
ltp: Add post release runtime fixes
Backport various post 20220527 release runtime fixes:
* The concept of max runtime
* tst_test.sh: Cleanup getopts usage
* mountns0[1-3]: wait for umount completed in thread_b
Signed-off-by: Petr Vorel <petr.vorel@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
selftest/meta_ide: add a test for running SDK tests directly in a yocto build
There's been a recent discussion about how we can make the Yocto SDK
experience better [1]. One of the ideas was to eliminate the SDK
as a separate artefact altogether and simply provide everything
that the SDK and eSDKs do directly in a yocto build. This does not
mean that people have to 'learn Yocto', but rather that the integrators
should provide a well-functioning sstate cache infrastructure (same as
with minimal eSDK, really), and a few wrapper scripts for setting up the build
and the SDK environment that run layer setup and bitbake behind the scenes.
So without further ado, here's how you get a 'SDK' without building one:
1. Set up all the needed layers and a yocto build directory.
2. Run:
$ bitbake meta-ide-support
$ bitbake -c populate_sysroot gtk+3
(or any other target or native item that the application developer would need)
$ bitbake populate-sysroots
3. Set up the SDK environment:
. tmp/deploy/images/qemux86-64/environment-setup-core2-64-poky-linux
(adjust accordingly)
Et voila! The Unix environment is now set up to use the cross-toolchain from
Yocto, exactly as in the SDK. And devtool/bitbake are available to extend it,
exactly as in the eSDK.
Theare are numerous benefits here: no need to produce, test, distribute and maintain
separate SDK artifacts. No two separate environments for the yocto build and the SDK.
Less code paths where things can go wrong. Less awkward, gigantic tarballs. Less
SDK update headaches: 'updating the SDK' simply means updating the yocto layers with
git fetch or layer management tooling. Built-in SDK extensibility: just run bitbake
again to add more things to the sysroot, or add layers if even more things are required.
How is this tested?
Exactly same as the regular SDK:
$ bitbake -c testsdk meta-ide-support
This runs the same toolchain tests from meta/lib/oeqa/sdk/cases as the regular
sdk testing does.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meson: provide relocation script and native/cross wrappers also for meson-native
When using meson-native directly from bitbake this has no effect and
everything works as before; the use case is being able to build
meson-driven projects from the 'direct SDK' environment. Build systems
like cmake/autotools are entirely driven by environment variables,
but meson needs configuration files, and so this replicates how SDKs
set things up.
In particular, with this change the libepoxy build test from the SDK
test suite is able to pass.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
oeqa/sdk: add a test class for running SDK tests directly in a Yocto build
This is a simpler version of the same class in testsdk.py, as it does not
need to unpack and set up the SDK, and can proceed to the tests straight away.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta-ide-support: adjust to provide (e)SDK experience directly in a yocto build
Specifically:
1. Add a few more toolchain items to DEPENDS so they're available in the recipe sysroot.
2. Use deploy mechanism to place the SDK environment setup file and testdata for testing it
into the image deploy directory.
3. Add ability to run SDK tests via the testsdk class and task. This also requires providing
a testdata json file.
4. Ensure sysroot population always runs, as those items are mean to be picked up
by 'bitbake build-sysroots' into the unified sysroot.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
toolchain-scripts.bbclass: adjust toolchain_create_tree_env_script to better replicate (e)SDK
Specifically:
1. Place the environment setup file into $B and not into $TMPDIR,
so that the recipe using the class can itself better decide what to do with the file.
2. Use global, unified sysroots (provided through build-sysroots recipe)
and not recipe-specific ones, as this allows flexible on-the-fly management of what
libraries are available to build applications, without having to modify any
recipes, similar to eSDK 'extensible' part.
This also requires adjustment of the sstate sametune_samegsigs test, as meta-ide-support
becomes dependent on $MACHINE (unified sysroots have it in their paths)
and needs to be excluded from the test.
3. Add a few missing settings that have been added to SDK environment files.
4. Add a snippet to the environment setup file that also runs the relocation scripts.
In regular SDKs this is executed by the SDK installer, in direct SDK we can do it when
setting up the environment.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kai Kang [Wed, 27 Jul 2022 07:29:56 +0000 (15:29 +0800)]
mesa: fix compile error when debug build enabled
It fails to compile mesa{,-native} when DEBUG_BUILD is enabled:
../mesa-22.1.3/src/compiler/nir/nir_inline_helpers.h: In function ‘nir_opt_move_block’:
../mesa-22.1.3/src/compiler/nir/nir_opt_move.c:55:1: error: inlining failed in call to
always_inline ‘src_is_ssa’: indirect function call with a yet undetermined callee
src_is_ssa(nir_src *src, void *state)
^~~~~~~~~~
Backport patch from mesa merge request to fix it.
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Roland Hieber [Sat, 23 Jul 2022 23:51:19 +0000 (01:51 +0200)]
devtool: error out when workspace is using old override syntax
When the workspace bbappends are still using the old override syntax
with EXTERNALSRC_pn-*, externalsrc_re will not match, and pn will never
be assigned, leading to a nondescript UnboundLocalError being raised on
the user's terminal. Try to detect that situation and give the user a
hint how to solve it.
Signed-off-by: Roland Hieber <rhi@pengutronix.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 25 Jul 2022 10:59:19 +0000 (11:59 +0100)]
native: Clear TUNE_FEATURES/ABIEXTENSION
Some recipes reference these. Rather than continually trying to chase down the references
and taskhash issues, clear the variables for an easier life and simpler code. These
wouldn't convey anything useful in a native build.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 23 Jul 2022 12:41:38 +0000 (13:41 +0100)]
rust-target-config: Create new class to contain target json config generation
Currently most of the rust recipes use this code but it is all piecemeal.
Turn the code into a class where things can start to be rationalised. Ultimately
some of the data and python code should be moved to a python library but one step
at a time.
No functionality changes.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 23 Jul 2022 12:25:32 +0000 (13:25 +0100)]
rust-common/rust-cross: Clean up target json generation code
Some of the subtleties in the different codepaths for target rust json generation
were not easy to spot. Start to simplfy the code to make this clearer.
This patch should not have any functionality change although ABIEXTENSION
has to be excluded from the function signature, the triplet would normally
cover anything set there.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 23 Jul 2022 11:03:43 +0000 (12:03 +0100)]
rust-cross/rust-common: Merge arm target handling code to fix cross-canadian
rust-cross had special handling for armv7 targets but we also need this
for cross-canadian. Merge the code into the main function so everything is
consistent.
Also then fix the arm definition to be arm-eabi since ABI is correctly
being looked up.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 23 Jul 2022 10:54:33 +0000 (11:54 +0100)]
rust-cross-canadian: Fix ordering of target json config generation
Based upon a patch from Otavio Salvador <otavio@ossystems.com.br>,
ensure the target json files are written in the correct order with
the most specific last incase it overwrites earlier files if the prefixes
match.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 23 Jul 2022 10:47:42 +0000 (11:47 +0100)]
rust-common: Set llvm-target correctly for cross SDK targets
When a 'BUILD' target is requested we shouldn't be looking at TARGET_SYS but
at BUILD_SYS. Due to the way rust mangles triplets, we need the HOST_SYS triplet
to work with existing code - fixing that issue is a separate patch.
Also drop the arch_abi argument, it doens't make any sense to a getVar() call
and was a copy and paste error.
Based on a patch from Otavio Salvador <otavio@ossystems.com.br> but separated out
and tweaked.
Fixes: bd36593ba3 ("rust-common: Drop LLVM_TARGET and simplify") Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 25 Jul 2022 15:53:43 +0000 (16:53 +0100)]
oeqa/gotoolchain: put writable files in the Go module cache
By default 'go mod' creates read-only files, but that just complicates
things. Add -modcacherw to make the cache read/write, so it can be
cleaned up without needing to chmod.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Jansa [Sun, 24 Jul 2022 19:33:05 +0000 (21:33 +0200)]
kernel.bbclass: pass LD also in savedefconfig
* similar to:
https://git.openembedded.org/openembedded-core/commit/?id=66c1f4b0abd3483759f9e4141a80f982eaf8ccfd
https://git.openembedded.org/openembedded-core/commit/?id=36fe2efc91fec5a52374a2dc4814a69076a2d28e
but for savedefconfig task
* otherwise with ld-is-gold it will fail with:
gold linker is not supported as it is not capable of linking the kernel proper.
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Jansa [Sun, 24 Jul 2022 19:33:04 +0000 (21:33 +0200)]
python3-setuptools: move patch from 'files' to 'python3-setuptools'
* it's not used by any other recipe AFAIK
* meta-python2 has own copy for python-setuptools there in:
meta-python2/recipes-devtools/python/python-setuptools/0001-conditionally-do-not-fetch-code-by-easy_install.patch
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Restore WHENCE_CHKSUM variable which is used to hold the WHENCE file
checksum. It is necessary to allow easily overriding it from local.conf
if the devupstream version is selected:
Without the WHENCE_CHECKSUM one would need to manually patch the
LIC_FILES_CHKSUM variable to change the checksum of WHENC (e.g. using
the anonymous python function or remove expression).
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>