This is the PEP517 build frontend blessed by the Python Packaging
Authority, and now that Python 3.11 has been released and enough
packages have ported to flit, it can be used without a huge bootstraping
problem.
(From OE-Core rev: 00254501b9b024032032c9fb068d957de4ef7dde)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This used to be known as python3-pep517 and is a key library used to
build modern Python code.
It is currently vendored into python3-picobuild but I plan to remove
that.
(From OE-Core rev: 877c4d5e4cd5ceb71d2ecfdc35a625f50752bec0)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* use Skylake-Client to match QB_CPU_KVM as changed in:
https://git.openembedded.org/openembedded-core/commit/?id=6f2af1e5d1537b4d31e14946292bf58f0fd76fc9
* explicitly set -cpu instead of letting qemu to choose based
on host cpu
* check=false is still useful as e.g. on on AMD Threadripper 3970X:
orc/0.4.33-r0 $ PSEUDO_UNLOAD=1 qemu-x86_64 -r 3.2.0 -cpu Skylake-Client -L recipe-sysroot -E LD_LIBRARY_PATH=recipe-sysroot//usr/lib:recipe-sysroot//lib
orc/0.4.33-r0/build/meson-private/sanitycheckc_cross.exe
qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.x2apic [bit 21]
qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.tsc-deadline [bit 24]
qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.hle [bit 4]
qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.invpcid [bit 10]
qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.rtm [bit 11]
qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.rdseed [bit 18]
qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.80000001H:ECX.3dnowprefetch [bit 8]
qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.0DH:EAX.xsavec [bit 1]
* if this still doesn't work for you on your host, you might need to downgrade
DEFAULTTUNE to e.g. corei7-64 (all all the way back to core2-64), for
more details see:
https://www.openembedded.org/pipermail/openembedded-core/2018-April/150178.html
* the leading space shouldn't be needed, I've kept it for consistency
with other QEMU_EXTRAOPTIONS
(From OE-Core rev: d1a52559670921389a66a4c26d37481d6611042a)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Effectively revert "qemux86-64: build for x86-64-v3 (2013 Haswell and later) rather than Core 2 from 2006"
(commit 6f2af1e5d1537b4d31e14946292bf58f0fd76fc9)
Much as I'd love us to use the latest tuning, we do have some autobuilder
hardware which isn't ready for this yet which breaks KVM and some qemu
user mode usage as there appear to be TCG bugs too. I suspect we're not
the only ones with such hardware.
Drop the tune back to core2-64, anyone can easily customise it
themselves if they need it. We can revisit this in a year or two
as we should be ready then. It has beena good test of the rest of the
support which all seems ready.
I'd have preferred to use corei7-64 but that causes
runqemu.RunqemuTests.test_boot_machine_iso to hang.
Leave the newer tune file inclusion so people can change tunes
more easily.
(From OE-Core rev: 369b1dfa28b1791d45f068acc765190defecd460)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
6.1 is a LTS and one of the reference kernels for our next
relase. Making it a logical update point for our libc-headers.
We can drop one of our patche as the gcc-goto.sh is no longer
used, and hence we won't have race conditions like we previously
had.
(From OE-Core rev: cb6d0cac29d3f8eb6d13722ab816c93210762e60)
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This avoids adding a spurious space in TARGET_CC_ARCH when
GLIBC_64BIT_TIME_FLAGS is empty
(From OE-Core rev: 5d077129d8e849ce3a79285825231c642e79be70)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This allows us to
- test those more recent instruction sets (AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE)
- benefit from improved performance across the stack both in kvm-driven system emulation and when running
on real silicon.
For example, glibc:
https://www.phoronix.com/news/Glibc-strcasecmp-AVX2-EVEX
v4 level is adding AVX-512, which is far less established, particularly Intel has famously backtracked
from supporting it in Alder Lake/Raport Lake client CPUs and AMD has only implemented it in very recent Zen4 products:
https://www.phoronix.com/news/GCC-11-x86-64-Feature-Levels
(From OE-Core rev: 6f2af1e5d1537b4d31e14946292bf58f0fd76fc9)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Move one of the PACKAGEFUNCS from the package bbclass to packagedata
library code for parsing efficiency.
(From OE-Core rev: ceba33bf2897f7dd5b1ffe6b742c47bf616243c8)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
OE-Core has changes which do need careful evaluation for compatibilty,
such as the addpylib directive. Move the core later names to mickledore
so layers can mark their compatibility as such.
Also increase the version number for core. If we do make further changes
that need layer changes, we'll update the version again so layers can mark
compatibility within the series.
(From OE-Core rev: 57239d66b933c4313cf331d35d13ec2d0661c38f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It needs to be fixed to honor _FILE_OFFSET_BITS before we can enable
64bit time_t
(From OE-Core rev: 206ab9522963aee471004d987181ed2f8363f1ad)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This used to be required by epiphany, then it became
optional and was moved to meta-oe, now it is again required.
The recipe was originally provided by... actually me :-)
(From OE-Core rev: e3c1fb52a0720d88dbc6eb91935c82733cdaea44)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Qemu 7.2 finally allows us to move beyond building for original Core 2/Core i7 era hardware,
and this patch adds support for the newer generations. But first, a bit of
background:
Recently toolchains gained support for specifying x86-64 'levels' of
instruction set support; v3 corresponds to 2013-era Haswell CPUs
(and later), with AVX, AVX2 and a few other instructions that
were introduced in that generation. I believe this is preferrable
to picking a specific CPU model as the baseline.
Here's Phoronix's feature article that explains the feature and the available levels:
"Both LLVM Clang 12 and GCC 11 are ready to go in offering the new x86-64-v2, x86-64-v3, and x86-64-v4 targets.
These x86_64 micro-architecture feature levels have been about coming up with a few "classes" of Intel/AMD CPU processor support rather than continuing to rely on just the x86_64 baseline or targeting a
specific CPU family for optimizations. These new levels make it easier to raise the base requirements around Linux x86-64 whether it be for a Linux distribution or a particular software application where
the developer/ISV may be wanting to compile with greater instruction set extensions enabled in catering to more recent Intel/AMD CPUs."
https://www.phoronix.com/news/GCC-11-x86-64-Feature-Levels
Here's gcc docs for it:
https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html
And here's the formal specification (click on the pdf link):
https://gitlab.com/x86-psABIs/x86-64-ABI
The actual tune file was created by copying corei7 tunes and doing
search/replace on them. Qemu options were dropped as unnecessary.
32 bit tune was dropped as well, as there is no 32 bit only CPU
that also supports these new instructions; all of the v3 capable
chips are 64 bit.
(From OE-Core rev: ac041f90e71dba83b7144c91f929de88aaeae519)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
qemu no longer carries libslirp in-tree,
so enabling slirp requires providing external libslirp.
Another noteworthy change is:
x86: TCG support for AVX, AVX2, F16C, FMA3 and VAES instructions
... which means both meta-intel and qemu x86 targets can
now fully utilize Haswell-and-later instruction set with benefits
for performance in emulation and on silicon.
Changelog:
https://wiki.qemu.org/ChangeLog/7.2
(From OE-Core rev: d82e521995832580e990c0c173651aafd43d299c)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
qemu 7.2 no longer carries libslirp in-tree, and so
it has to be provided externally.
(From OE-Core rev: a4409583e0f8187b0c0cbf92fbddeffef12fd8f5)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is no longer need to be specific: none of the recipes
using this variable in core need to know the particular version
of llvm exactly when using the default one set via PREFERRED_VERSION
from LLVMVERSION.
This as well enables automated version updates of llvm
for minor releases.
(From OE-Core rev: f0ab1736438f6f23603e3694dc2f0b724b103722)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I meant to do this whilst merging but messed up the patches. This
file is a .inc file and should match the others.
(From OE-Core rev: d9398dfb0866a5be9ed09ae15902606fe11da2d2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gcr-3 recipe is still needed for gnome projects that stick to gtk+3, rename to gcr3.
(From OE-Core rev: d0ebe63698470fb3336cc02db698cafacedbd070)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Now that bitbake can look into python module code variable and function
dependencies, there are a few extra basic variables we need to exclude.
This is done per function since it keeps the main exclusion list cleaner
and is also slightly faster.
(From OE-Core rev: 870c324d47f1d920fcb736e09fc6e857f24945c7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Since bitbake now supports an official method to inject python modules,
switch to it.
Anyone using OE_EXTRA_IMPORTS will need to adjust their code accordingly,
probably switching to their own module namespace.
Also switch to using BB_GLOBAL_PYMODULES to list the global modules
to import.
(From OE-Core rev: 1f56155e91da2030ee0a5e93037c62e1349ba89f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Valgrind build itself with -mpreferred-stack-boundary=2 on that
target (and the tests expect that). On the other hand, we enable
SSE instructions, which expect things to be aligned on 16 byte
boundary (e.g. -mpreferred-stack-boundary=4). This won't be
reported at compile time and results in crashes at runtime, e.g.
vgdb simply does not work at all and crashes out immediately.
I am not sure how to resolve that, or whether we even should,
but the issue is reported here:
https://bugs.kde.org/show_bug.cgi?id=462553
(From OE-Core rev: 9896fc1694c66d827383e385f1954d751b3e7c65)
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>
Allows mesa to be built with glvnd support.
Thus, creates libEGL_mesa.so* and libGLX_mesa.so*
mesa(vendor) libraries meant to coexist with vendor
neutral dispatch libraries from libglvnd.
(From OE-Core rev: 1c0577d66b5c26b9b248797f17d652daf6d9dfd1)
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A long time ago the bitbake cache didn't use hashes in it's filename and
hence values such as MACHINE were needed in the path to the cache file
so that when switching MACHINE, a new cache wasn't always parsed.
Times have moved on, we have a hash which represents the configuration
and the caches are reused if there is an existing hash that matches.
This means the values added to CACHE are obsolete and not needed,
we can drop them.
(From OE-Core rev: 550ed0a4ce8839946781f18fdce18452de34ddaf)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
liburi-perl in oe-core now RDEPENDS on libtest-warnings-perl for ptest
* Update HOMEPAGE; fix syntax
* Add SUMMARY
* Add BUGTRACKER
* Use CPAN_MIRROR for SRC_URI
* Use actual LICENCE file for LIC_FILES_CHKSUM
* Add RDEPENDS
* Add RDEPENDS on perl-modules for ptest
- Too many hidden dependencies that fail silently, but pass
with full perl-modules
* Add self as maintainer
* Add to ptest-packagelists (fast)
(From OE-Core rev: b1582fb0ec6620312b9a26c6afc48a63984617a0)
Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Both atk and at-spi2-atk are now merged into this project.
- drop atk_2.38.0.bb
- drop at-spi2-atk_2.38.0.bb
- PROVIDES += "atk at-spi2-atk"
- RPROVIDES:${PN} += "atk at-spi2-atk"
* DEPENDS on libxml2
* Ships:
${libdir}/gnome-settings-daemon-3.0/gtk-modules/at-spi2-atk.desktop
${libdir}/gtk-2.0/modules/libatk-bridge.so
What's new in at-spi2-core 2.46.0:
* Fix GetInterfaces documentation on org.a11y.atspi.Accessible
interface.
What's new in at-spi2-core 2.45.91:
* Send device event controller events using the same signature as other
events.
* Document the Accessible, Action, and Cache dbus interfaces.
* Fix license of atspi-gmain.c (#87).
What's new in at-spi2-core 2.45.90:
* xml: Add some documentation.
* xml: Fix event arguments.
* xml: Add some missing DeviceEventController methods.
* Bind the AT-SPI bus to the graphical session.
* Mark bus service as belonging to the session slice.
* Add ATSPI_ROLE_PUSH_BUTTON_MENU.
* Add an "announcement" event/signal to allow objects to send
notifications (!63).
* Various code clean-ups and test improvements.
What's new in at-spi2-core 2.45.1:
* Atk and at-spi2-atk are now merged into this project.
* Now requires meson 0.56.2 and glib 2.67.4.
* at-spi2-atk: Expose the accessible hierarchy via dbus introspection.
* Properly escape the AT-SPI bus address; fixes warnings about the
address not containing a colon (!55).
* Add a text value to AtspiValue, so that a value can expose a textual
description, as in the new Atk value API.
* Add atspi_event_listener_register_with_app, to allow an event listener
to be registered only for a given application (!52).
https://gitlab.gnome.org/GNOME/at-spi2-core/-/blob/main/NEWS
(From OE-Core rev: ad605662f1bc1a0d446f59362aedb74d22d12980)
Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
libc-test is a collection of unit test to measure the correctness and
robustness of a C/POSIX standard library implementation. It is developed
as part of the musl project.
(From OE-Core rev: 4a94cdc7e841ebe583b0e6935fc50d233c8c310e)
Signed-off-by: Chase Qi <chase.qi@linaro.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Whilst SDE definitely needs to be exported, the fallback does not as
it is only used in our python code via the datastore.
It was introduced as an export in 9a1dde74e794362399193dc3f81c9685a83d0776
but even then it doesn't look like it needed to be, likely just a copy and
paste mistake.
Drop the export.
(From OE-Core rev: 74fb6539dd06acb0dd6a9af4809152975e8473e6)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add ptest for OSS 'bc' by using 'bc' in the system to do calculation jobs according to the .b files from the source file.
Test example as below:
......
.00673400673400673400
“PASS: bc/div.b”
99836408603283573660347145562829683495827909199408566065153345558783\
9427595471.89114392327665123852
“PASS: bc/exp.b”
length(b)= 1406
“PASS: bc/fact.b”
......
If bc runs the .b files and does not crash, it would 'PASS', otherwise 'FAIL'.
Tested in qemux86-64, with kvm enabled, test cost 12 secs, so it should be a fast test.
Thanks to Ross Burton and Alexander Kanavin for the professional guidance.
(From OE-Core rev: 98b058a039ae8a49437c306f684f919c93df55fd)
Signed-off-by: Yan Xinkuan <yanxk.fnst@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
'Release' type follows standard practice elsewhere in core, particularly rust-llvm as well.
(From OE-Core rev: 20adf74207b8c3eac7871e27da2df1aa26fca3b6)
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>
We supported neoversen2 base on armv8.5a in the past, add tune include
for armv9a and support neoversen2 base on armv9a.
(From OE-Core rev: 4a2c4cfaaa5a6d7175c81064939e21bcfe3e736a)
Signed-off-by: Ruiqiang Hao <Ruiqiang.Hao@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This variable is used to denote the C/C++ compiler runtime to use.
Right now there are few alternatives out of the core which could
use this variable to define this property, the values it can take
are 'gnu' for gcc runtime. 'llvm' for using compiler-rt+libc++ and
'android' to use android runtime. Default settings is to use gnu
which is current silent default also.
(From OE-Core rev: a32f4309aec277cac01c1fd8c78e28d0fd63b064)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>