Commit Graph

4183 Commits

Author SHA1 Message Date
Geoffrey GIRY
6bdd652fb6 cve-extra-exclusions: ignore inapplicable linux-yocto CVEs
Multiple CVE are patched in kernel but appears as active because the NVD
database is not up to date.

CVE are ignored if and only if all versions of kernel used by master are patched.

Also ignore CVEs with wrong CPE (applied to kernel but actually are for
 another package)

(From OE-Core rev: 92770a08c04a6c1eb351231d937b16e76558f013)

Signed-off-by: Geoffrey GIRY <geoffrey.giry@smile.fr>
Reviewed-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-28 07:53:54 +00:00
Trevor Woerner
d5d40479d7 VOLATILE_TMP_DIR: add
Provide a mechanism to allow users to choose whether the /tmp directory
is on persistent storage (non-volatile) or a RAM-based tmpfs (volatile).
The default is volatile.

Works for both sysvinit-based and systemd-based systems.

(From OE-Core rev: 8b76c0637eaeaf5bd5e696680cd74b7a642f4157)

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-28 07:53:54 +00:00
Khem Raj
e7dd0666bd gdb: Upgrade to 13.1
Add patch to fix typo for build on musl

GDB 13.1 includes the following changes and enhancements:

* Support for the following new targets has been added in both
  GDB and GDBserver:

  ** GNU/Linux/LoongArch (gdbserver) loongarch*-*-linux*

  ** GNU/Linux/CSKY (gdbserver) csky*-*linux*

* The Windows native target now supports target async.

* FreeBSD:

  ** Arm and AArch64: Support for Thread Local Storage (TLS) variables

  ** Hardware watchpoint support on AArch64 FreeBSD

* Floating-point support has now been added on LoongArch GNU/Linux.

* New commands:

 ** set print nibbles [on|off]
    show print nibbles

    This controls whether the 'print/t' command will display binary values
    in groups of four bits, known as "nibbles".  The default is 'off'.

 ** Various styling-related commands. See the gdb/NEWS file for more
    details (see link at the bottom).

 ** Various maintenance commands.  These are normally aimed at GDB
    experts or developers. See the gdb/NEWS file for more details
    (see link at the bottom).

* Python API improvements:

 ** New Python API for instruction disassembly.
    The new attribute 'locations' of gdb.Breakpoint returns a list of
    gdb.BreakpointLocation objects specifying the locations where the
    breakpoint is inserted into the debuggee.

 ** New Python type gdb.BreakpointLocation.

 ** New function gdb.format_address(ADDRESS, PROGSPACE, ARCHITECTURE)
    that formats ADDRESS as 'address <symbol+offset>'

 ** New function gdb.current_language that returns the name of the
    current language.  Unlike gdb.parameter('language'), this will
    never return 'auto'.

 ** New function gdb.print_options that returns a dictionary of the
    prevailing print options, in the form accepted by gdb.Value.format_string.

 ** New method gdb.Frame.language that returns the name of the
    frame's language.

 ** gdb.Value.format_string now uses the format provided by 'print',
    if it is called during a 'print' or other similar operation.

 ** gdb.Value.format_string now accepts the 'summary' keyword.  This
    can be used to request a shorter representation of a value, the
    way that 'set print frame-arguments scalars' does.

 ** The gdb.register_window_type method now restricts the set of
    acceptable window names.  The first character of a window's name
    must start with a character in the set [a-zA-Z], every subsequent
    character of a window's name must be in the set [-_.a-zA-Z0-9].

* GDB/MI changes:

  ** MI version 1 is deprecated, and will be removed in GDB 14.

  ** The async record stating the stopped reason 'breakpoint-hit' now
     contains an optional field locno.

* Miscellaneous improvements:

  ** gdb now supports zstd compressed debug sections (ELFCOMPRESS_ZSTD) for ELF.

  ** New convenience variable $_inferior_thread_count contains the number
     of live threads in the current inferior.

  ** New convenience variables $_hit_bpnum and $_hit_locno, set to
     the breakpoint number and the breakpoint location number of
     the breakpoint last hit.

  ** The "info breakpoints" now displays enabled breakpoint locations
     of disabled breakpoints as in the "y-" state.

  ** The format of 'disassemble /r' and 'record instruction-history /r'
     has changed to match the layout of GNU objdump when disassembling.

     A new format "/b" has been introduce to provide the old behavior
     of "/r".

  ** The TUI no longer styles the source and assembly code highlighted
     by the current position indicator by default. You can however
     re-enable styling using the new "set style tui-current-position"
     command.

  ** It is now possible to use the "document" command to document
     user-defined commands.

  ** Support for memory tag data for AArch64 MTE.

* Support Removal notices:

  ** DBX mode has been removed.

  ** Support for building against Python version 2 has been removed.
     It is now only possible to build GDB against Python 3.

  ** Support for the following commands has been removed:

     set debug aix-solib on|off
     show debug aix-solib
     set debug solib-frv on|off
     show debug solib-frv

     Use the "set/show debug solib" commands instead.

For a complete list and more details on each item, please see the gdb/NEWS
file, available at [1]:

[1] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob_plain;f=gdb/NEWS;hb=gdb-13.1-release

(From OE-Core rev: 87a8c2af735e06338463414a2cbcd3224b9ea112)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24 11:04:28 +00:00
Khem Raj
0bcb886939 tune-riscv.inc: Add riscv64nc to available tunes list
This was missed when riscv64nc was added

(From OE-Core rev: 0c549ef5732afdcd96407ceb045983eed2ca75f4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-24 11:04:27 +00:00
Richard Purdie
1ae0e69aed sstate: Add check_for_interrupts() call functionality added in bitbake
Add in the new 'check' calls which mean that the code can exit from longer
running code loops if requested by the user. This covers sstate checks and
sstate manifest cleanup code which currently couldn't be interrupted by the
user from the UI.

Increase the minimum bitbake version which brings in this API.

(From OE-Core rev: cb6c50689175668b66ffbe09ff8f250ba9a9034b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-23 12:12:18 +00:00
Trevor Woerner
9e0145df7a QB_SMP: allow user modification
Allow a user to override the QM_SMP value giving them the opportunity to
select for themselves the number of CPUs to use in qemu.

(From OE-Core rev: 70a91e6d0357149c00b97f7e66e16cbc52997a92)

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-23 12:11:29 +00:00
Alexander Kanavin
d369a45ae7 meta/conf: move default configuration templates into meta/conf/templates/default
This sets the ground for standardizing (and enforcing) the location of
configuration templates: let's start with the default one.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-16 17:11:11 +00:00
Alexander Kanavin
19b53dc47f go: update 1.19.4 -> 1.20
No longer package go-runtime-staticdev into sdk packagegroup,
as go-runtime 1.20 doesn't build the static bits anymore
(possibly can be enabled via build config, if proven necessary).

(From OE-Core rev: e8ab9d303a6fca3806097f1fd360efe8f8ae0c1d)

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>
2023-02-15 10:21:34 +00:00
yanxk
456a61c0f8 cpio: Add ptest support
Add ptest function for oss 'cpio'.

Tis test takes less than 1 second with kvm enabled, so it is a fast test.

autotest files would contain TMPDIR, they are removed from script files
atconfig and atlocal.

(From OE-Core rev: 9661e76aa1ea89b3dcc24a4d69fa7e6161873d7f)

Signed-off-by: yanxk <yanxk.fnst@fujitsu.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-10 09:25:44 +00:00
Michael Halstead
b61e0002c1 uninative: Upgrade to 3.9 to include glibc 2.37
Update uninative to work with the new glibc 2.37.

(From OE-Core rev: 360971a6ba562fa0b29bd062b96ede2d3a47fa2e)

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-08 10:29:01 +00:00
Pavel Zhukov
daddc695fc bitbake.conf: Add mercurial to HOSTTOOLS_NONFATAL
(From OE-Core rev: 8cf72a195961081d83ec049021c3a9bdf920fa57)

Signed-off-by: Pavel Zhukov <pavel@zhukoff.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-08 10:29:01 +00:00
Khem Raj
df58350c79 glibc: Upgrade to 2.37 release
Details are here [1] and summary of changes is here [2]

[1] https://sourceware.org/glibc/wiki/Release/2.37
[2] https://sourceware.org/pipermail/libc-announce/2023/000035.html

(From OE-Core rev: 1bba40755c8432bc654d1faa209727a6d68d9ba5)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-05 20:47:30 +00:00
Xiaotian Wu
a9eeffbf36 loongarch: disable seccomp from default feature
(From OE-Core rev: e9177bfc647ffd8d0346154c2673562e3585c7ef)

Signed-off-by: Xiaotian Wu <wuxiaotian@loongson.cn>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-04 17:02:10 +00:00
Xiaotian Wu
324b03e15f base: add support for loongarch64
(From OE-Core rev: 759baaceb4dd623d5da12ba0d01540fa080154ba)

Signed-off-by: Xiaotian Wu <wuxiaotian@loongson.cn>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-04 17:02:10 +00:00
Ravineet Singh
a08c791bae gnutls: add ptest support
Add gnutls unit-tests into ptest. Only self-contained
tests (no external file system dependencies) are included.

Some tests have been put in a disallow list in the run-ptest;
these tests either require additional files (certificates) or
environment setup prior to being run, via wrapper shell script.
As autotools packages are built out-of-tree, it is cumbersome
to add additional files. With regards to tests requiring wrapper
scripts, it is possible to add logic to run these tests under
run-ptests but that will require more effort to maintain, hence
skipped.

Verified via:
$ runqemu qemux86-64 kvm nographic serial qemuparams='-m 4096 -smp 32'
root@qemux86-64:~# ptest-runner gnutls
START: ptest-runner
BEGIN: /usr/lib64/gnutls/ptest
PASS: aead-cipher-vec
PASS: alerts
PASS: anti_replay
...
gnutls test summary:
--------------------
total: 375
pass : 364
fail : 0
skip : 11

DURATION: 184
END: /usr/lib64/gnutls/ptest
2023-02-01T13:55
STOP: ptest-runner
TOTAL: 1 FAIL: 0

(From OE-Core rev: 6061df3084b991ba4a54a3dca5dadda97e2364ac)

Signed-off-by: Ravineet Singh <ravineet.a.singh@est.tech>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-02-02 09:51:00 +00:00
Alex Kiernan
a10ec437b1 rust: Upgrade 1.66.1 -> 1.67.0
Disable ZStd to avoid needing libzstd in llvm (mirrors zlib disable).
Generate complete list of rust-snapshot artefacts from src/stage0.json.
Drop clippy-driver reproducibility change as the code is gone from
upstream.

Release notes:
  https://releases.rs/docs/1.67.0/

License-Update: Unicode-TOU text added (already in our license string)
(From OE-Core rev: 4900e0c5cb8a092a1d77d4f26249afa59b241da6)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-31 17:11:07 +00:00
Alejandro Hernandez Samaniego
f3ad36d15c newlib: Upgrade 4.2.0 -> 4.3.0
- Rebased fix-rs6000-crt0.patch
- Patch fix_makefile_include_arm_h.patch is no longer required, the newlib
  header dependency has been fixed upstream at 26f9cfd7
- LICENSE checksum change due to:
  - Adding SPDX identifier
  - Deleted Phoenix Systems from License and updated each licenses
  numbers accordingly.
- Add a dummy limits.h header, to make the improved preprocessor
  checks happy during configure.
- Add a patch for libgloss to maintain current behavior of TCLIBC=newlib
  by making libgloss DEPEND on newlib and use its installed headers.
- Switch to git fetcher to simplify fetching the sources and avoid future
  issues due to the way newlib release snapshots were being published.

(From OE-Core rev: 1c9cbb27dfe37ca4574c4285fb03ce394dee5ed1)

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-29 19:24:22 +00:00
Richard Purdie
8c5faadf6c bitbake.conf: Inject a dash into PN for BB_HASH_CODEPARSER_VALS
We've had a couple of reports of recipes expecting to be able to call
split("-") on PN. There isn't any real harm in adding a dash to the dummy
PN value to avoid these errors.

(From OE-Core rev: 10e140d98790ce28b440b8e8697a4311658fe4df)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-29 19:24:22 +00:00
Bruce Ashfield
24d0d20633 conf/qemu: bump preferred kernel version to 6.1
6.1 has been soaking for a while now, so it is time to bump the
default qemu version to 6.1 and prepare to remove 5.19.

(From OE-Core rev: 91c1f7d4eb9ec5ad683c798812395df3a56747ba)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-26 22:22:53 +00:00
Xiangyu Chen
6d31c38c08 qemuppc64: set the qemuppc64 nfs r/wsize mount options to 524288
On master oe, build a qemuppc64 with systemd as default init, when we
use nfs bootup, the kernel might panic due to missing symbol in dynamic
libraries as below:

  hid-generic 0003:0627:0001.0003: input: USB HID v0.01 Mouse [QEMU QEMU USB Tablet] on usb-0000:00:01.0-3/input0
  /sbin/init: /lib64/libm.so.6: version `XZ_5.0' not found (required by /usr/lib64/libkmod.so.2)
  Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00
  CPU: 0 PID: 1 Comm: init Not tainted 5.15.78-yocto-standard #1
  Call Trace:
  [c000000007443ba0] [c0000000009538d0] dump_stack_lvl+0x74/0xa8 (unreliable)
  [c000000007443be0] [c000000000103524] panic+0x170/0x3cc
  [c000000007443c80] [c00000000010cf64] do_exit+0xb44/0xb50
  [c000000007443d50] [c00000000010d040] do_group_exit+0x60/0xd0
  [c000000007443d90] [c00000000010d0d4] sys_exit_group+0x24/0x30
  [c000000007443db0] [c00000000002cfd4] system_call_exception+0x194/0x2f0
  [c000000007443e10] [c00000000000c2cc] system_call_common+0xec/0x250
  --- interrupt: c00 at 0x7fff9ed9e840
  NIP:  00007fff9ed9e840 LR: 00007fff9ed7da20 CTR: 0000000000000000
  REGS: c000000007443e80 TRAP: 0c00   Not tainted (5.15.78-yocto-standard)
  MSR:  800000000280f033 <SF,VEC,VSX,EE,PR,FP,ME,IR,DR,RI,LE>  CR: 24022442  XER: 00000000

One or more of the libraries systemd depends on failed to load due to
unresolved symbols/functions.  This was intermittent - with a failure
rate estimated between 5% and 30%.

After checking the code, this issue happens on gcc 12, kirkstone is using
gcc 11 works well, with both using the exact same v5.15.84 kernel commit.

There is a kernel fix from upstream [1], they changed the rsize / wsize
to a multiple of PAGE_SIZE, when we applied this patch, the qemuppc64's
default r/wsize went from 4096 to 524288.But the qemuppc64 doesn't have
its own linux-yocto kernel branch, so apply this change might cause
regression with other platforms which share branch with qemuppc64.

So, we added an extra option for nfs rootfs, and set the qemuppc64 default
r/w size to 524288 to line up with the kernel fix[1].

Yocto did a similar thing in the distant past[2] - prior to boot-arg
adjustments existing - by allowing a Kconfig to set the defaults on
nfsboot, in order to work around hardware limitations.

Reference:
[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=940261a195080cf
[2] https://git.yoctoproject.org/linux-yocto-4.1/commit/?h=standard/base&id=a96cfd98add95

(From OE-Core rev: 14a81556ff1be326647e654424c8f1bf9d0db912)

Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-26 22:22:53 +00:00
Richard Purdie
29d98c77f2 conf/sdk/x86-64: Set march specifically
This is really no change since it is currently the default in gcc but
making it explicit matches the other SDKMACHINE configs and means if gcc
ever changes, or we switch compilers, the flag is present. It also makes
it clear from the config which tuning is in use.

(From OE-Core rev: 21c012659a36835837b21b7a2bf1f12428aa16a4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-26 21:06:57 +00:00
Richard Purdie
fb10e3b83b bitbake.conf: Add METADATA_REVISION to BB_HASH_CODEPARSER_VALS
This stops the codeparser cache changing ever time a new commit is
added to the main repository.

(From OE-Core rev: f77b9f983395c648fddc96f0d6c8ebd6d52056d4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-26 21:06:57 +00:00
Khem Raj
918ba17f58 binutils: Upgrade to 2.40 release
(From OE-Core rev: ae2b71ca2c73111a21845c2e1329ff973558991a)

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>
2023-01-26 21:06:57 +00:00
Niko Mauno
1125b85e79 Fix missing leading whitespace with ':append'
Mitigate occurences where ':append' operator is used and leading
whitespace character is obviously missing, risking inadvertent
string concatenation.

(From OE-Core rev: fcd340ec53ff8352b8cae0eb351810072b025a08)

Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-26 21:06:57 +00:00
Richard Purdie
3be00ad905 bitbake.conf: Add BB_HASH_CODEPARSER_VALS
Add an initial value for the new bitbake BB_HASH_CODEPARSER_VALS support,
which optimises the codeparser cache's size and stops it growing at every
parse.

(From OE-Core rev: 7c15e03dd30abe43d784f41e3c04c96a7bbb0d62)

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>
2023-01-24 22:06:51 +00:00
Ross Burton
cb96e0e3ec python3-picobuild: remove
We've moved to using python3-build, so this can be removed.

(From OE-Core rev: 4ea299e16a37eac3f65ed4b2e5891e8adaad95d5)

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>
2023-01-13 17:32:46 +00:00
Ross Burton
1faf47e9e6 python3-build: add 0.10.0
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>
2023-01-13 17:32:46 +00:00
Ross Burton
6725ff75da python3-pyproject-hooks: add new recipe
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>
2023-01-13 17:32:46 +00:00
Alejandro Hernandez Samaniego
6bcbbd9ee3 baremetal-helloworld: Move from skeleton to recipes-extended matching what rust-hello-world is doing
(From OE-Core rev: 13916de0145f83bb28323f0a6bde5c3d503c1319)

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-12 23:08:58 +00:00
Martin Jansa
dca9b920e0 tune-x86-64-v3.inc: set QEMU_EXTRAOPTIONS like other tune-* files
* 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>
2023-01-12 23:08:58 +00:00
Richard Purdie
3d67b6c60f qemux86-64: Reduce tuning to core2-64
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>
2023-01-11 11:03:34 +00:00
Michael Halstead
4595a8bc62 uninative: Upgrade to 3.8.1 to include libgcc
Including libgcc solves issues with libpthread.

(From OE-Core rev: 36eb46589fb01374d4738a2c376386c68d06aa83)

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-11 10:58:36 +00:00
Bruce Ashfield
c997e9849a linux-libc-headers: bump to 6.1
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>
2023-01-09 14:20:14 +00:00
Alexander Kanavin
fdc89cbd3f python3-strict-rfc3339: remove the recipe
It is both unmaintained and not needed by anything in core or meta-oe.

(From OE-Core rev: 7f8ceb0f38eb6795a5e135f5c4b0461d06d733b6)

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>
2023-01-06 12:03:48 +00:00
Khem Raj
f544333715 time64: Remove leading whitespace from GLIBC_64BIT_TIME_FLAGS
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>
2023-01-06 12:03:47 +00:00
Khem Raj
d535e47f31 time64.inc: Add GLIBC_64BIT_TIME_FLAGS on ppc/x86 as well
Make mips expression across all 32bit mips architectures

(From OE-Core rev: 18df5694796bcfee73c3765bc991bcef055466e3)

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>
2023-01-06 12:03:47 +00:00
Alex Kiernan
0ed2cdc81d default-distrovars: Include "c" in IMAGE_LINGUAS for glibc
glibc 2.35 introduced C.UTF-8, we should include this by default.

(From OE-Core rev: f930da7c41491a5556827dc2ff66f3d3c0e95df8)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-01-06 12:03:47 +00:00
Alexander Kanavin
ba0326071e qemux86-64: build for x86-64-v3 (2013 Haswell and later) rather than Core 2 from 2006
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>
2023-01-06 12:03:46 +00:00
Richard Purdie
b3573d38ef package: Move emit_pkgdata to packagedata.py
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>
2023-01-05 11:52:50 +00:00
Richard Purdie
db47e8aa9e layer.conf: Update to use mickledore as the layer series name
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>
2023-01-03 15:47:29 +00:00
Khem Raj
e0ffea74cf pulseaudio: Do not use 64bit time_t flags
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>
2023-01-02 17:34:11 +00:00
Alexander Kanavin
f7e9d1eec7 libportal: add from meta-openembedded/meta-gnome
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>
2023-01-02 17:34:11 +00:00
Alexander Kanavin
f2bb462850 conf/machine/include: add x86-64-v3 tunes (AVX, AVX2, BMI1, BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE)
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>
2022-12-31 17:08:29 +00:00
Alexander Kanavin
9caff14abb qemu: update 7.1.0 -> 7.2.0
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>
2022-12-26 18:49:07 +00:00
Alexander Kanavin
d7f7b788f7 libslirp: add recipe to continue slirp support in qemu
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>
2022-12-26 18:49:07 +00:00
Alexander Kanavin
5b5e4cd6e2 tcmode-default.inc: set LLVMVERSION to a major version wildcard
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>
2022-12-26 18:49:07 +00:00
Alexander Kanavin
03a05c9b79 llvm: update 15.0.4 -> 15.0.6
(From OE-Core rev: 7f0d417feae6efc7957c48ecc7e5b65f3fd8921b)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-26 18:49:07 +00:00
Alexander Kanavin
82855a1a84 ptest-packagelists.inc: correctly assign fast and slow tests
The execution times were checked from
https://autobuilder.yocto.io/pub/non-release/20221127-2/testresults/qemux86-64-ptest/core-image-ptest-all/log.do_testimage.40537.20221127010849
and ptests were moved both ways according to the same criteria:
more than 30 seconds or less.

openssl is dropped from fast tests, as it is also listed in slow
tests (which is correct).

With the rearrangement fast ptests altogether take about 420 seconds
on qemux86_64 with kvm.

m4 ptest was missing a depedency.

(From OE-Core rev: e15ad965f22fe14270274687eff9849256a74fec)

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-12-21 10:16:31 +00:00
Alex Kiernan
e55f3f911f rust: update 1.65.0 -> 1.66.0
Drop backported patch ENOTSUP constant for riscv32/musl.

Release notes:
  https://blog.rust-lang.org/2022/12/15/Rust-1.66.0.html

License-Update: Upstream has added Unicode Terms of Use license
  (Unicode-TOU).
(From OE-Core rev: e6a9e1ea7be842dcde109e952fbc7dc08d1577a2)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-12-17 23:49:56 +00:00
Richard Purdie
07127e3b6e time64: Rename to a .inc file to match the others
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>
2022-12-17 11:12:55 +00:00