summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2022-08-02wic/bootimg-efi: Add support for loading devicetree filesakanavin/directsdkJan Kiszka
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). (From OE-Core rev: c5a14f39a6717a99b510cb97aa2fb403d4b98d99) 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")] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-02wic/bootimg-efi: Factor out some common bitsJan Kiszka
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. (From OE-Core rev: c700cfd88473b9ed4e12a6620fb089f41bd95a9e) Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-02vim: update from 9.0.0063 to 9.0.0115Randy MacLeod
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! (From OE-Core rev: 6996472cd33d2d4b91821f2dfe24a27a697e4afe) Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-02repo: upgrade 2.27 -> 2.28Changhyeok Bae
(From OE-Core rev: 798074f95e27189e44bec2a6dbcbca1e3d985368) Signed-off-by: Changhyeok Bae <changhyeok.bae@gmail.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-02hdparm: Fix build with glibc 2.36Khem Raj
(From OE-Core rev: 799074e1912147b94cf876a9652cbbd9c5e35ad2) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-02gcc-sanitizers: Fix mount.h glibc 2.36 conflictKhem Raj
backport a sanitizers upstream patch (From OE-Core rev: ca1fef4cb33b5f218cd0206002e8776d2f68b12d) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-02scripts/oe-setup-builddir: make it known where configurations come fromAlexander Kanavin
"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. (From OE-Core rev: ec34783ffc34eb9e9697f1b192c5a0043f1ca2c6) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-02uboot-config.bbclass: Raise error for bad keyTom Hochstein
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']). ``` (From OE-Core rev: 801a27d73b10017cac3c0caa05d0a2af3502a7ba) 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> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-02btrfs-tools: Use linux/mount.h instead of sys/mount.hKhem Raj
This fixes the conflict thats with mount.h from glibc 2.36+ and kernel [1] [1] https://sourceware.org/glibc/wiki/Release/2.36 (From OE-Core rev: f2617ecc93048a29e37d4213e08ddbd997139f6c) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-02libarchive: Avoid mount.h conflict between kernel and glibcKhem Raj
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] [1] https://sourceware.org/glibc/wiki/Release/2.36 (From OE-Core rev: 339055f5abc30ea5dc26184c94a2da39ed46a22f) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-02ltp: fix build with ld-is-gold in DISTRO_FEATURESMartin Jansa
* 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 http://errors.yoctoproject.org/Errors/Details/663094/ x86_64-oe-linux-ld --sysroot=/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/ltp/20220527-r0/recipe-sysroot -z noexecstack -r -T /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/ltp/20220527-r0/git/testcases/kernel/kvm/linker/payload.lds --oformat=elf64-x86-64 -o kvm_pagefault01-payload.o kvm_pagefault01-payload.bin x86_64-oe-linux-ld: error: kvm_pagefault01-payload.bin:1:1: invalid character make: *** [Makefile:53: kvm_pagefault01-payload.o] Error 1 (From OE-Core rev: ace41f64c7d617852bdfca736cefa0a470598af7) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-02cmake: remove CMAKE_ASM_FLAGS variable in toolchain fileMartin Beeger
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. (From OE-Core rev: 72729ffbab53f95ee9dd1bc22913d9b864495930) Signed-off-by: Martin Beeger <martin.beeger@online.de> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-02wic: depend on cross-binutilsRoss Burton
Wic can build an unified kernel image, but this needs the cross-objcopy from binutils. (From OE-Core rev: 7c7a488116f49083ca42d3628ebc0870585110c3) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-02wic/bootimg-efi: use cross objcopy when building unified kernel imageRoss Burton
We can't rely on the host objcopy knowing how to process target binaries, so use the cross objcopy in the sysroot instead. Also construct the command argument-by-argument as the format expression was getting unwieldy. (From OE-Core rev: 0264aeedbf21e9e7a104243c11b3b57f00e38bda) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-02wic: add target tools to PATH when executing native commandsRoss Burton
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. (From OE-Core rev: c523549141e5c31edc75281f581d97867b7d251d) Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-01oeqa/sdk/rust: Fix file deletion for multilib SDKsRichard Purdie
We need to use shutil.rmtree here since removedirs() only covers directories. Make the exception for specific too to make errors easier to catch. (From OE-Core rev: 9d2a661e46123a2292f7887658e6fa54923dbcc0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28ltp: Add post release runtime fixesPetr Vorel
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 (From OE-Core rev: 1946833bdcce57250f346db1b8f2f898c2c3244c) Signed-off-by: Petr Vorel <petr.vorel@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28create-spdx: Fix supplier fieldMihai Lindner
The correct field name is "supplier" according to SPDX schema. The "supplier" field translates to "PackageSupplier", but that's for tag-value format. (From OE-Core rev: ca8db0e0a2860ac1e3f537471fa71b43c3be0a58) Signed-off-by: Mihai Lindner <mihai.lindner@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28bitbake: runqueue: add cpu/io pressure regulationAryaman Gupta
Prevent the scheduler from starting new tasks if the current cpu or io pressure is above a certain threshold and there is at least one active task. This threshold can be specified through the "BB_PRESSURE_MAX_{CPU|IO}" variables in conf/local.conf. The threshold represents the difference in "total" pressure from the previous second. The pressure data is discussed in this oe-core commit: 061931520b buildstats.py: enable collection of /proc/pressure data where one can see that the average and "total" values are available. From tests, it was seen that while using the averaged data was somewhat useful, the latency in regulating builds was too high. By taking the difference between the current pressure and the pressure seen in the previous second, better regulation occurs. Using a shorter time period is appealing but due to fluctations in pressure, comparing the current pressure to 1 second ago achieves a reasonable compromise. One can look at the buildstats logs, that usually sample once per second, to decide a sensible threshold. If the thresholds aren't specified, pressure is not monitored and hence there is no impact on build times. Arbitary lower limit of 1.0 results in a fatal error to avoid extremely long builds. If the limits are higher than 1,000,000, then warnings are issued to inform users that the specified limit is very high and unlikely to result in any regulation. The current bitbake scheduling algorithm requires that at least one task be active. This means that if high pressure is seen, then new tasks will not be started and pressure will be checked only for as long as at least one task is active. When there are no active tasks, an additional task will be started and pressure checking resumed. This behaviour means that if an external source is causing the pressure to exceed the threshold, bitbake will continue to make some progress towards the requested target. This violates the intent of limiting pressure but, given the current scheduling algorithm as described above, there seems to be no other option. In the case where only one bitbake build is running, the implications of the scheduler requirement will likely result in pressure being higher than the threshold. More work would be required to ensure that the pressure threshold is never exceeded, for example by adding pressure monitoring to make and ninja. (Bitbake rev: 502e05cbe67fb7a0e804dcc2cc0764a2e05c014f) Signed-off-by: Aryaman Gupta <aryaman.gupta@windriver.com> Signed-off-by: Randy Macleod <randy.macleod@windriver.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28bitbake: bb/utils: movefile: use the logger for printingJose Quaresma
(Bitbake rev: 274b2d7a2fa0b43b0b542cb5471ff832e692ea93) Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28bitbake: bb/utils: remove: check the path again the expand python globJose Quaresma
When we call the remove with recurse=True we first check if the remove operation is safe in _check_unsafe_delete_path. But the check is been done on the path instaed of the expanded python glog. (Bitbake rev: 7236488b898309ec5f1880936ddae22a28ccf5d3) Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28poky: Enable debug-kernel for SPDX license manifestsRichard Purdie
In order to generate complete SPDX license manifests we need the kernel DEBUG_INFO configure option to be set. Enable this within poky by default as we want to be able to provide that information. (From meta-yocto rev: 9ced869bb07f7ad9e11373be3a38ab25c2b6536b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28poky.conf: remove EOL and Centos7 hostsArmin Kuster
Centos7 is no longer in the AB Centos8 has been EOL'd - replaced by Alma8 Debian9 has been EOL'd - June, 2022 Ubuntu 16.04 has been EOL'd - April 20th, 2021 (From meta-yocto rev: 09f17b1b744077da9c4efb9f4ac388ef2f4fa24d) Signed-off-by: Armin Kuster <akuste808r@gmail.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28selftest/meta_ide: add a test for running SDK tests directly in a yocto buildAlexander Kanavin
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. [1] https://lists.openembedded.org/g/openembedded-architecture/topic/thoughts_on_the_esdk/90990557 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. (From OE-Core rev: 5c845d7f4ea6ae7ba18ed43180dad28775cace31) 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>
2022-07-28meson: provide relocation script and native/cross wrappers also for meson-nativeAlexander Kanavin
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. (From OE-Core rev: 87d4f6d176f27c22dbb99abc271b9a6eaca314f8) 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>
2022-07-28oeqa/sdk: allow epoxy/galculator tests to run in esdk and direct yocto buildsAlexander Kanavin
Other tests already have similar tweaks. (From OE-Core rev: 3134d19ba15bb783389c40617d5e2b568c7cd81c) 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>
2022-07-28oeqa/sdk: add a test class for running SDK tests directly in a Yocto buildAlexander Kanavin
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. (From OE-Core rev: be21c62e5bd96164aab9e01168b7a43c6de44c17) 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>
2022-07-28meta-ide-support: adjust to provide (e)SDK experience directly in a yocto buildAlexander Kanavin
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. (From OE-Core rev: 93f419451cc18b5d31b6fe134ca52a2750fa567d) 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>
2022-07-28toolchain-scripts.bbclass: adjust toolchain_create_tree_env_script to better ↵Alexander Kanavin
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. (From OE-Core rev: db5dfd78ae441201778b1175f4fb9a3eba994899) 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>
2022-07-28archiver.bbclass: remove unsed do_deploy_archives[dirs]Jose Quaresma
Remove as commit b3afe7d redifines it. https://git.openembedded.org/openembedded-core/commit/?id=b3afe7d9bd25a943e947de3ec064ea245173c5a8 (From OE-Core rev: cf5e155a9c76a6e4ed7145118e7367ab6f2f53f2) Signed-off-by: Jose Quaresma <jose.quaresma@foundries.io> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28populate_sdk_base: Fix mingw override nameRichard Purdie
Correct the override name used for rust toolchain removal from the mingw sdk. (From OE-Core rev: 8aeb0dfe6508daea51db4f0992eed194e925fdd7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28mesa: fix compile error when debug build enabledKai Kang
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. (From OE-Core rev: 468715c42632a8467dc1f0abe0f3cd540de5f7c3) 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>
2022-07-28systemd: Fix conflict between glibc mount.h and kernel mount.hKhem Raj
See glibc documentation [1] for details [1] https://sourceware.org/glibc/wiki/Release/2.36 (From OE-Core rev: 86a33f98a7c0d6f2c2b51d02ba9e01b63062cf98) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28elfutils: Microblaze does not support symversMark Hatle
(From OE-Core rev: 313230b4ed2e27e06cd204ab292b2f3d61d73212) Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Mark Hatle <mark.hatle@amd.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28openssl: Move microblaze to linux-latomic configMark Hatle
When building with the previous a number of atomic functions come back as undefined. Switching to linux-latomic fixes this. (From OE-Core rev: 88d5bf78ffb1d120df48139b1ed3c2e3fa8310d0) Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Mark Hatle <mark.hatle@amd.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28default-distrovars: seccomp doesn't support microblazeMark Hatle
(From OE-Core rev: f90c271dd25140f19670a0e4e82b9130bd413366) Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Mark Hatle <mark.hatle@amd.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28runqemu: Add missing space on default display optionMark Hatle
(From OE-Core rev: ee9428611fc38bc711b5b3e12cf0d3257b1b5680) Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Mark Hatle <mark.hatle@amd.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28rng-tools: Change systemd service name to work with sysvinitAníbal Limón
Change systemd service name from rngd -> rng-tools to avoid load twice the service when sysvinit compatibility is enabled, ... root@:~# ps | grep rng 23 root 0 SW [hwrng] 13109 root 3528 R /usr/sbin/rngd -f -r /dev/hwrng 13117 root 2348 S grep rng 29418 root 12756 S /usr/sbin/rngd -r /dev/hwrng ... (From OE-Core rev: 945dfe2e4ba8581a19ebdc833100e87ed96c5d08) Signed-off-by: Aníbal Limón <limon.anibal@gmail.com> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28devtool: error out when workspace is using old override syntaxRoland Hieber
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. (From OE-Core rev: d42ea8e849cf2df3708406418b961168268b316a) 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>
2022-07-28populate_sdk: Add SDK toolchain language selection supportRichard Purdie
Add a new variable SDK_TOOLCHAIN_LANGS to allow different language support to be selected within SDKs. Initially supported options are rust and go. (From OE-Core rev: 0026b5687147410e4c7140ca5133089ebb51d9d4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28oeqa/sdk: Add basic rust cargo testOtavio Salvador
Add a QA test to the SDK to test that a basic cargo build works. [RP: Tweaked to work for multilibs and updated to match toolchain changes] (From OE-Core rev: d0cfe587bc897e79ef01805cc9a42fbca28c883c) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28native: Clear TUNE_FEATURES/ABIEXTENSIONRichard Purdie
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. (From OE-Core rev: f8edeead263708889d31a7ff578ef8274cb678b4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28rust-target-config: Allow the targets generated to be configurableRichard Purdie
Remove further code duplication by allowing the main function to be configurable. (From OE-Core rev: 2d4b35a0db1220e7a7f1b6776223aa4d40a3f246) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28rust-target-config: Create new class to contain target json config generationRichard Purdie
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. (From OE-Core rev: 3795285cbf362e13b8151bfdbe1bce999ac28641) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28rust-common/rust-cross: Clean up target json generation codeRichard Purdie
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. (From OE-Core rev: 0f83d959465e0d99f98ade6803281585931d1b02) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28rust-cross: Simplfy the rust_gen_target callsRichard Purdie
Match the code in rust-cross-canadian so that further simplifications can be considered in future. (From OE-Core rev: 5cb62d0a33777cb9afb1eea5f736a2580ce50dc7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28rust-cross/rust-common: Merge arm target handling code to fix cross-canadianRichard Purdie
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. (From OE-Core rev: ff3c3dbbd2bf1bb7bb70b55cca203e9eedcf14a8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28rust-cross-canadian: Fix ordering of target json config generationRichard Purdie
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. (From OE-Core rev: 1912c4e9e0ecf9655f3b3a41588b54d7956f5899) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28rust-common: Set llvm-target correctly for cross SDK targetsRichard Purdie
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") (From OE-Core rev: d554161a045d12411f288394e253c54aa4c1257c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-07-28cargo-cross-canadian: Use SDK's flags during target linkingOtavio Salvador
(From OE-Core rev: abb1f3f12b4a02d644414b1af0623894984bb4cd) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>