Commit Graph

4499 Commits

Author SHA1 Message Date
Jagadeesh Krishnanjanappa
f29a31d723 tune-cortexa32: set tune feature as armv8a
Cortexa32 is a 32-bit armv8a architecture processor, so set the tune feature
as armv8a instead of aarch64 which is 64-bit armv8a architecture.

It solves the following build error while compiling libgcc-initial
and libssp-nonshared.
-- snip --
aarch64-poky-linux-musl-gcc: error: unrecognized command-line option '-mfpu=neon'
aarch64-poky-linux-musl-gcc: error: unrecognized command-line option '-mfloat-abi=hard'
-- snip --

(From OE-Core rev: 19402b5e867616e26c0013402a3b9f32acb6d9fc)

Signed-off-by: Jagadeesh Krishnanjanappa <workjagadeesh@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3b898270aca62559dfa42ed71d296fe8a8b46a41)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Hongxu Jia
f808d877a9 gcc-source: Fix racing on building gcc-source-14.2.0 and lib32-gcc-source-14.2.0
While enabling multilib, build gcc-source-14.2.0 and lib32-gcc-source-14.2.0
at the same time:

    $ MACHINE = "qemux86-64"
    $ require conf/multilib.conf
    $ MULTILIBS = "multilib:lib32"
    $ DEFAULTTUNE:virtclass-multilib-lib32 = "x86"
    $ bitbake gcc-source-14.2.0 lib32-gcc-source-14.2.0
    ...
    $ cat tmp-glibc/work-shared/gcc-14.2.0-r0.vr2401/temp/log.task_order
    20241012-064533.415426 do_recipe_qa (2688052): log.do_recipe_qa.2688052
    20241012-064533.463783 do_recipe_qa (2688051): log.do_recipe_qa.2688051
    20241012-064533.805164 do_fetch (2688257): log.do_fetch.2688257
    20241012-064533.852955 do_fetch (2688256): log.do_fetch.2688256
    20241012-064617.823714 do_unpack (2698542): log.do_unpack.2698542
    20241012-064617.871730 do_unpack (2698541): log.do_unpack.2698541
    ...

There are two tasks for do_fetch, do_unpack and others, so there are race issues.

Both of them have the same hardcode 'gcc' prefix in ${WORKDIR} and
${S}, explicitly disable lib32-gcc-source-14.2.0 for multilib

Set gcc-source as BPN of gcc-source-14.2.0

(From OE-Core rev: 9609a7c9c6d809cc02480c3f12f8dd7c6f3fe9fc)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 901c47877e0710af50639f688e0bfdb851b762b5)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-11-26 05:37:09 -08:00
Niko Mauno
9daf5c5cf5 bitbake.conf: Mark VOLATILE_TMP_DIR as obsolete
This variable was removed in
https://git.yoctoproject.org/poky/commit/?id=2f46b6f27dfa3a9d5ad177900fcecfe64c3536f1
("bitbake.conf: drop VOLATILE_TMP_DIR, use FILESYSTEM_PERMS_TABLES instead")
so ensure that distributions become aware that it no longer has any
effect.

(From OE-Core rev: ec032dd13a19e4d4a332f06ace87f1f02143c3b2)

(From OE-Core rev: a2b419d123b76594879da740eb665397929f70e0)

Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Niko Mauno
14fdf7b3a6 bitbake.conf: Mark VOLATILE_LOG_DIR as obsolete
This variable was removed in
https://git.yoctoproject.org/poky/commit/?id=2f8806deb7655b37d6f8d12ff54680d6acf7a298
("bitbake.conf: drop VOLATILE_LOG_DIR, use FILESYSTEM_PERMS_TABLES instead")
so ensure that distributions become aware that it no longer has any
effect.

(From OE-Core rev: a951a900ce459191a9796a7069a1d3b658dda88f)

(From OE-Core rev: fe1d653d094f006509c8b2aee3eafc5118be1ab3)

Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2024-10-29 05:51:03 -07:00
Ross Burton
099c09be3c bitbake.conf: mark TCLIBCAPPEND as deprecated
In oe-core ebcd355 TCLIBCAPPEND (a string that is appended to TMPDIR) was
removed entirely.  Warn if this is being set by the distro as it will no
longer have any effect.

(From OE-Core rev: 992ba784c168710328749fd61a0e2869df519dea)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-17 12:16:00 +01:00
Richard Purdie
fa3cfb3a6b layer.conf: Drop scarthgap namespace from LAYERSERIES
As we move to release, drop the scarthgap namespace and prepare for
styhead.

(From OE-Core rev: b4cf6d5236a3eacaf56ca2f805b006efac65b26c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-06 16:20:57 +01:00
Richard Purdie
bd102d1275 conf/defaultsetup.conf: Drop TCLIBCAPPEND
We've been able to run musl and glibc builds in the same TMPDIR for
many years and a separate directory is not required. Most distros disable
this value for that reason.

Drop support for the variable to make it clear and easy for distros
to be able to set multiconfigs which behave consistently for distros
which do and don't clear it by dropping it entirely.

(From OE-Core rev: ebcd355a32e2711263e22d9b45b502696ecbb4d2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-05 21:50:10 +01:00
Martin Jansa
3d029dff3e bitbake.conf: DEBUG_PREFIX_MAP: add -fmacro-prefix-map for STAGING_DIR_NATIVE
* the default STAGING_DIR_NATIVE starts with STAGING_DIR_HOST and the
  only difference is '-native' suffix at the end

* this can lead into replacing STAGING_DIR_NATIVE path with just "-native"
  in FILE macros

* I've noticed this by accident in python3-matplotlib where buildpaths
  QA warning was triggered only for lib32-python3-matplotlib and it was
  because pybind11 path to STAGING_DIR_NATIVE was mapped to only
  '-native/<path>' in python3-matplotlib build (which doesn't trigger
  buildpaths QA and lib32-python3-matplotlib the macro path wasn't
  replaced at all, because of 'lib32-' prefix in:
  -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/lib32-recipe-sysroot= \
  -fmacro-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/lib32-recipe-sysroot= \
  -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oemllib32-linux/lib32-python3-matplotlib/3.7.2/recipe-sysroot-native= \

* more details in meta-python fix for lib32-python3-matplotlib:
  https://lists.openembedded.org/g/openembedded-devel/message/112074

* the order of *-prefix-map options still seems to be that the last
  one matching wins and this works with gcc and clang, see:
  https://reviews.llvm.org/D148975?id=516863
  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109591

* some components might sometimes be built with -coverage and could use
  -fcoverage-prefix-map:
  https://reviews.llvm.org/D148757
  or -fprofile-prefix-map:
  https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html#index-fprofile-prefix-map
  but will leave that to recipes which actually use -coverage for now

(From OE-Core rev: 90dea34cb624af744a7d5deabdd5cbfb3c10db87)

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-05 21:48:47 +01:00
Andrew Oppelt
413f327baa testexport: support for executing tests over serial
Uses TEST_SERIALCONTROL_CMD to open a serial connection to the target
and execute commands. This is a drop in replacement for the ssh target,
fully supporting the same API. Supported with testexport.

To use, set the following in local.conf:
- TEST_TARGET to "serial"
- TEST_SERIALCONTROL_CMD to a shell command or script which connects to
  the serial console of the target and forwards that connection to
  standard input/output.
- TEST_SERIALCONTROL_EXTRA_ARGS (optional) any parameters that must be
  passed to the serial control command.
- TEST_SERIALCONTROL_PS1 (optional) A regex string representing an empty
  prompt on the target terminal. Example: "root@target:.*# ". This is
  used to find an empty shell after each command is run. This field is
  optional and will default to "root@{MACHINE}:.*# " if no other value is
  given.
- TEST_SERIALCONTROL_CONNECT_TIMEOUT (optional) Specifies the timeout in
  seconds for the initial connection to the target. Defaults to 10 if no
  other value is given.

The serial target does have some additional limitations over the ssh
target.
1. Only supports one "run" command at a time. If two threads attempt to
   call "run", one will block until it finishes. This is a limitation of
   the serial link, since two connections cannot be opened at once.
2. For file transfer, the target needs a shell and the base32 program.
   The file transfer implementation was chosen to be as generic as
   possible, so it could support as many targets as possible.
3. Transferring files is significantly slower. On a 115200 baud serial
   connection, the fastest observed speed was 30kbps. This is due to
   overhead in the implementation due to decisions documented in #2
   above.

(From OE-Core rev: d817b27d73d29ba2beffa2e0a4e31a14dbe0f1bf)

Signed-off-by: Andrew Oppelt <andrew.j.oppelt@boeing.com>
Signed-off-by: Matthew Weber <matthew.l.weber3@boeing.com>
Signed-off-by: Chuck Wolber <chuck.wolber@boeing.com>

--

Tested with core-image-sato on real hardware. TEST_SERIALCONTROL_CMD
was set to a bash script which connected with telnet to the target.

Additionally tested with QEMU by setting TEST_SERIALCONTROL_CMD to
"ssh -o StrictHostKeyChecking=no root@192.168.7.2". This imitates
a serial connection to the QEMU instance.

Steps:
1) Set the following in local.conf:
  - IMAGE_CLASSES += "testexport"
  - TEST_TARGET = "serial"
  - TEST_SERIALCONTROL_CMD="ssh -o StrictHostKeyChecking=no root@192.168.7.2"
2) Build an image
  - bitbake core-image-sato
3) Run the test export
  - bitbake -c testexport core-image-sato
4) Run the image in qemu
  - runqemu nographic core-image-sato
5) Navigate to the test export directory
6) Run the exported tests with target-type set to serial
 - ./oe-test runtime --test-data-file ./data/testdata.json --packages-manifest ./data/manifest --debug --target-type serial

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-01 12:28:10 +01:00
Richard Purdie
8621dbc2af abi-version/ssate: Bump to avoid systemd hash corruption issue
Unfortunately some recent patches caused non-deterministic output.
One input hash lead to both good and bad output and whilst that patch
has been fixed, the problematic hash 'cross' linkage remains. Bump to
a new sstate and hash equivalence version to avoid this and work from
a clean slate.

(From OE-Core rev: 639e42b9c14dff516688964dba4ab25bba7b8a55)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-09-01 11:05:20 +01:00
Yash Shinde
caa36ffb08 rust: Upgrade 1.78.0->1.79.0
Update the patch files with rust v1.79.0.

Drop the following backported patch which is merged
with rust v1.79 upgrade.

- cross-targets-backport.patch

https://blog.rust-lang.org/2024/06/13/Rust-1.79.0.html

(From OE-Core rev: 0e20d8e0a292f720c9ed419547d8f6d738c5d4d8)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 21:58:19 +01:00
Changqing Li
2f46b6f27d bitbake.conf: drop VOLATILE_TMP_DIR, use FILESYSTEM_PERMS_TABLES instead
* Drop VOLATILE_TMP_DIR, use FILESYSTEM_PERMS_TABLES instead. By default,
FILESYSTEM_PERMS_TABLES ?=  "files/fs-perms.txt \
                             files/fs-perms-volatile-log.txt \
                             files/fs-perms-volatile-tmp.txt"
it contains 'files/fs-perms-volatile-tmp.txt', which means volatile tmp
is enabled. User can disable volatile tmp by remove
'files/fs-perms-volatile-tmp.txt' from FILESYSTEM_PERMS_TABLES.
* If volatile tmp is disabled, both /tmp and /var/tmp are persistent

(From OE-Core rev: 8d1ae67b89c45f78162e070228086c7ef88c3264)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-28 09:14:26 +01:00
Changqing Li
2f8806deb7 bitbake.conf: drop VOLATILE_LOG_DIR, use FILESYSTEM_PERMS_TABLES instead
Drop VOLATILE_LOG_DIR, use FILESYSTEM_PERMS_TABLES instead. By default,
it contains 'files/fs-perms-volatile-log.txt', which means volatile log
is enabled. User can disable volatile log by remove
'files/fs-perms-volatile-log.txt' from FILESYSTEM_PERMS_TABLES.

(From OE-Core rev: 91128c6517066715f2afe6b46aa3206c7cf3653e)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-28 09:14:26 +01:00
Marta Rybczynska
72dd8c0d56 cve-check-map: add new statuses
Add 'fix-file-included', 'version-not-in-range' and 'version-in-range' generated
by the cve-check.

'fix-file-included' means that a fix file for the CVE has been located.

'version-not-in-range' means that the product version has been found outside of
the vulnerable range.

'version-in-range' means that the product version has been found inside of the
vulnerable range.

(From OE-Core rev: d25f1817752bc8a84c40dcbef75f7559801ce15e)

Signed-off-by: Marta Rybczynska <marta.rybczynska@syslinbit.com>
Signed-off-by: Samantha Jalabert <samantha.jalabert@syslinbit.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-20 14:12:40 +01:00
Marta Rybczynska
ebc8724416 cve-extra-inclusions: encode CPEs of affected packages
Add the new cpe:vendor:product tagging to entries in cve-extra-inclusions, using
product/vendor combinations that are already present in OE-core (usually there
is no specific vendor).

(From OE-Core rev: e1bf43561093b3b9215cde9e9f7d80b4ffcdc64e)

Signed-off-by: Marta Rybczynska <marta.rybczynska@syslinbit.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-20 14:12:40 +01:00
Yash Shinde
f0b62cf9a8 rust: Upgrade 1.77.2->1.78.0
* Drop the following backported patches which are merged
with rust v1.78 upgrade.

- 0001-Revert-Map-source-absolute-paths-to-OUT_DIR-as-relat.patch
- repro-issue-fix-with-v175.patch
- deadcode-backport.patch

https://blog.rust-lang.org/2024/05/02/Rust-1.78.0.html

(From OE-Core rev: a3fb378afcc1fb01e9813fe902dbd6090ded75d7)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-20 11:55:36 +01:00
Richard Purdie
6f0a78e04b bitbake.conf: Include cve-check-map earlier, before distro
It makes sense for the distro to be able to override "policy" from cve-check-map
which is intented to provide defaults. Tweak the ordering to allow for this,
ensuring it is included before the distro includes.

(From OE-Core rev: fb22a7e7ee38a0e923e86a68d0e9b86d479f264d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-13 09:29:15 +01:00
Richard Purdie
0f8d29b648 bitbake.conf: Add truncate to HOSTTOOLS
Some wic images need this command. Since it is part of coreutils, it doesn't really
cost anything to have in HOSTTOOLS and it avoids signifiant build dependencies on
coreutils-native.

[YOCTO #15571]

(From OE-Core rev: 522000ce5c4f0201cbe42d7826b6a8489ed10117)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-09 22:33:38 +01:00
Yash Shinde
41094aece8 rust: Upgrade 1.76.0->1.77.0
* Drop backported patch 0001-Handle-vendored-sources-when-remapping-paths.patch
    as it's merged with rust v1.77.0.

     https://blog.rust-lang.org/2024/03/21/Rust-1.77.0.html

(From OE-Core rev: 8b6b224fc116150c0af658473eecd05b742de7b1)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-09 22:33:38 +01:00
Yash Shinde
be70d81a3c rust: Upgrade 1.75.0->1.76.0
* Drop "--doc" option for rust oe-selftest since
it is not supported on bootstrap builds for
cross-targets.

* Drop the following backported patches which are merged
with rust v1.76 upgrade.

- custom-target-cfg.patch
- rustc-bootstrap.patch
- rv32-missing-syscalls.patch
- target-build-value.patch

https://blog.rust-lang.org/2024/02/08/Rust-1.76.0.html
* Drop 'rust-rustdoc' and 'rust-dbg' from 'exclude_packages' list
to check for rust reproducibility.

(From OE-Core rev: 71d17ed3c7be029fc68e9dd3f5d6c4aa72ef861a)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-09 22:33:38 +01:00
Khem Raj
51192a79f1 gcc: Upgrade to GCC 14.2
This is first bugfix release in GCC14 release series
100+ bugfixes [1]

[1] https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=14.2

(From OE-Core rev: 32b39de6a23f1e9ae5786d63f4c5849301eddbda)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-08 12:04:39 +01:00
Ross Burton
1c3439f87c python3-tomli: remove recipe (moved to meta-python)
Most packages use tomllib and fall back to tomli. The last user in core
was python3-setuptools-scm, removed in 5c8a0a2.

(From OE-Core rev: 0dc792a62df6b6ceec4c897c41d13238e829af61)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-07 15:47:15 +01:00
Ross Burton
64f5e2c808 python3-toml: remove recipe (moved to meta-python)
There are no potential users of this recipe now that importlib_metadata
has been removed, and importlib_metadata used tomllib anyway.

(From OE-Core rev: 865e731392e1581b081e21287ebdae0b0f483aca)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-07 15:47:15 +01:00
Ross Burton
9a0329ec5b python3-importlib-metadata: remove recipe (moved to meta-python)
This package is a backport of the importlib.metadata standard library
package, so shouldn't really be needed since we have Python 3.12.

The last user in core was pytest, removed in 0aee9aa.

(From OE-Core rev: 686bae9aff26410eaa1ab591bca91c00c4b029ef)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-07 15:47:15 +01:00
Ross Burton
37de7a146c pytest-runner: remove recipe (moved to meta-python)
This is a deprecated package so rarely used now.

The last user in core was python3-chardet, removed in 55b49e9.

(From OE-Core rev: bb00747abc1312efb1059dec6d585488d6edbdee)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-07 15:47:15 +01:00
Ross Burton
686e477de6 python3-py: remove recipe (moved to meta-python)
The last user in core was pytest, removed in 0aee9a.

(From OE-Core rev: 6c0f07ba43646aa7987dfc3de8871b55f875fa07)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-07 15:47:15 +01:00
Ross Burton
f5bea8767f python3-rfc3986-validator: remove recipe (moved to meta-python)
The only user of this recipe in core is python3-jsonschema, but only if
you select the non-default 'nongpl' PACKAGECONFIG.

Move to meta-python so it's there if needed.

(From OE-Core rev: 41ecbbe06f3d747cb68789817e19b600d672d9ea)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-07 15:47:15 +01:00
Ross Burton
2700bde99d python3-pathlib2: remove recipe (moved to meta-python)
This recipe is a backport of pathlib intended for older releases of
Python but as we have a modern release of Python it shouldn't be needed.

There are no users in oe-core, so move to meta-python.

(From OE-Core rev: 4857b287a86ad0c2afed4bdfabe18c545bc9291b)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-07 15:47:15 +01:00
Khem Raj
b35f220988 binutils: Upgrade to 2.43 release
Detailed changelog [1]

[1] https://sourceware.org/pipermail/binutils/2024-January/132213.html

(From OE-Core rev: 7e7afecc532a451b0ca9f34195a287c6472063c0)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-06 11:27:25 +01:00
Corentin Lévy
c01e633ab9 python3-libarchive-c: add ptest
test added to the fast-list
result of ptest-runner:
Testsuite summary
TOTAL: 36
PASS: 36
SKIP: 0
XFAIL: 0
FAIL: 0
XPASS: 0
ERROR: 0
DURATION: 11
END: /usr/lib/python3-libarchive-c/ptest
2024-08-01T11:44
STOP: ptest-runner
TOTAL: 1 FAIL: 0

(From OE-Core rev: 2019edfc5a6fd252329347a6230a2e39603b932b)

Signed-off-by: Corentin Lévy <corentin.levy@smile.fr>
Reviewed-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-05 14:31:57 +01:00
Bruce Ashfield
519eec77fc linux-libc-headers: update to v6.10
6.10 will be the reference kernel version for the fall release,
so we bump our libc-headers to match.

(From OE-Core rev: 3f852c2c958c80c652e902ab0532cefdc82e6549)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-03 07:47:35 +01:00
Tom Hochstein
ac09753064 time64.inc: Simplify GLIBC_64BIT_TIME_FLAGS usage
The implementation uses the append operator to include
GLIBC_64BIT_TIME_FLAGS in TARGET_CC_ARCH, but it places the space in
the GLIBC_64BIT_TIME_FLAGS assignment in order to avoid a 'spurious
space' when the value is empty.

68b50d3 time64: Remove leading whitespace from GLIBC_64BIT_TIME_FLAGS

The problem with this is it requires anyone wishing to assign a value
to GLIBC_64BIT_TIME_FLAGS to add the leading space, otherwise this is
the error:

cc1: error: '-Werror=format-security-D_TIME_BITS=64': no option '-Wformat-security-D_TIME_BITS=64'

Add a new constant variable to capture the value needed for the 32-bit
special case, including the space.

(From OE-Core rev: e8177827f92e71c80c5b63453d8bbd1defbe1fbc)

Signed-off-by: Tom Hochstein <tom.hochstein@oss.nxp.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-26 12:28:42 +01:00
Alejandro Hernandez Samaniego
09b49a35e1 tclibc-picolibc: Adds a new TCLIBC variant to build with picolibc as C library
Enables usage of TCLIBC=picolibc extending OE functionality to build and use
picolibc based toolchains to build baremetal applications.

Picolibc is a set of standard C libraries, both libc and libm, designed for
smaller embedded systems with limited ROM and RAM. Picolibc includes code
from Newlib and AVR Libc, but adresses some of newlibs concerns, it retains
newlibs directory structure, math, string and locale implementations, but
removed the GPL bits used to build the library, swiches old C style code for
C18 and replaces autotools with meson.

This patch adds a picolibc recipe for the C library, a picolibc-helloworld
recipe that contains an example application and a testcase that builds it.

Picolibc can be built for ARM and RISCV architectures, its been tested both
for 32 and 64 bits, the provided example recipe produces the following output:

hello, world

Runqemu does not automatically show any output since it hides QEMU stderr which
is where the QEMU monitors output is directed to when using semihosting, but,
manually running the same QEMU command does work properly.

(From OE-Core rev: c7535ecaccb72ef21a61f9aec5c68e61fb4f6fb6)

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-26 12:28:42 +01:00
Ross Burton
0f2f18c738 python3-idna: enable ptest
(From OE-Core rev: 4b15fd105f8f84f55f1da1724a0ea2f06a88c4b5)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-26 12:28:42 +01:00
Ross Burton
d4c0282f2b python3-packaging: enable ptest
(From OE-Core rev: df1e2e5bbf675f2b2582179fe28b25b840bb4790)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-26 12:28:42 +01:00
Ross Burton
bd21b9e878 python3-cffi: enable ptest
(From OE-Core rev: 5beb30cdf389490aa00f63a1c377680deb747bbc)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-26 12:28:42 +01:00
Ross Burton
53e627752a ptest-packagelists: sort entries
Sort the entries for OCD reasons.

(From OE-Core rev: ca34cbec26baca91689e205a43787745db2caedb)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-26 12:28:42 +01:00
Ross Burton
1a93f261d7 python3-uritools: enable ptest
Install the test suite and run it in core-image-ptest-fast.

(From OE-Core rev: 579675d773f52c877e50aafc59b5571ac5d6a0ba)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-24 22:51:40 +01:00
Michael Halstead
1e613275a6 yocto-uninative: Update to 4.6 for glibc 2.40
(From OE-Core rev: b29bfd333dffe635ab67475dcd8d22ad8b114c84)

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-24 09:34:26 +01:00
Richard Purdie
bc99afabef time64.inc: Add warnings exclusion for known toolchain problems for now
Fixing our infrastructure to show warnings for nativesdk packages resulted
in some issues with 32 bit toolchains and 32 bit time becoming clear.

For now, add INSANE_SKIP entries for these which effectively documents
the issue and allows us to at least start running the tests in the
infrastructure.

Over time we will need to try and fix these if upstream doesn't.

(From OE-Core rev: d05fa366ebbf8017f5f5fae0b1bc8502ada3ab79)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-23 11:17:11 +01:00
Khem Raj
ece2f57685 glibc: Upgrade to 2.40
Major new features:

* The <stdbit.h> header type-generic macros have been changed when using
  GCC 14.1 or later to use __builtin_stdc_bit_ceil etc. built-in functions
  in order to support unsigned __int128 and/or unsigned _BitInt(N) operands
  with arbitrary precisions when supported by the target.

* The GNU C Library now supports a feature test macro _ISOC23_SOURCE to
  enable features from the ISO C23 standard.  Only some features from
  this standard are supported by the GNU C Library.  The older name
  _ISOC2X_SOURCE is still supported.  Features from C23 are also enabled
  by _GNU_SOURCE, or by compiling with the GCC options -std=c23,
  -std=gnu23, -std=c2x or -std=gnu2x.

* The following ISO C23 function families (introduced in TS
  18661-4:2015) are now supported in <math.h>.  Each family includes
  functions for float, double, long double, _FloatN and _FloatNx, and a
  type-generic macro in <tgmath.h>.

  - Exponential functions: exp2m1, exp10m1.

  - Logarithmic functions: log2p1, log10p1, logp1.

* A new tunable, glibc.rtld.enable_secure, can be used to run a program
  as if it were a setuid process. This is currently a testing tool to allow
  more extensive verification tests for AT_SECURE programs and not meant to
  be a security feature.

* On Linux, the epoll header was updated to include epoll ioctl definitions
  and the related structure added in Linux kernel 6.9.

* The fortify functionality has been significantly enhanced for building
  programs with clang against the GNU C Library.

* Many functions have been added to the vector library for aarch64:
    acosh, asinh, atanh, cbrt, cosh, erf, erfc, hypot, pow, sinh, tanh

* On x86, memset can now use non-temporal stores to improve the performance
  of large writes. This behaviour is controlled by a new tunable
  x86_memset_non_temporal_threshold.

Deprecated and removed features, and other changes affecting compatibility:

* Architectures which use a 32-bit seconds-since-epoch field in struct
  lastlog, struct utmp, struct utmpx (such as i386, powerpc64le, rv32,
  rv64, x86-64) switched from a signed to an unsigned type for that
  field.  This allows these fields to store timestamps beyond the year
  2038, until the year 2106.  Please note that applications are still
  expected to migrate off the interfaces declared in <utmp.h> and
  <utmpx.h> (except for login_tty) due to locking and session management
  problems.

* __rseq_size now denotes the size of the active rseq area (20 bytes
  initially), not the size of struct rseq (32 bytes initially).

(From OE-Core rev: 4dd98c39204c1bfdf54b10ec72c3003118ac1dba)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-22 16:53:06 +01:00
Ross Burton
0a6c30c637 pango: upgrade 1.52.2 -> 1.54.0
Upstream has removed installable tests, although there is pressure to
bring them back[1].

- Build fixes
- Memory leak fixes
- Drop the install-tests build option
- Add build-examples and build-tests build options
- Require meson 0.63
- Add pango_item_get_char_offset
- Update to Unicode 15.1
- Fix wrong use of GWeakRef, leading to crashes

[1] https://gitlab.gnome.org/GNOME/pango/-/issues/799

(From OE-Core rev: 228c4275df766d97250cbfa0a2c1254e704c07c7)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-21 11:08:11 +01:00
Richard Purdie
d9066258a1 distro/include: Add yocto-space-optimize, disabling debugging for large components
Add an include file to allow turning off the debug compiler options
for a small set of recipes to reduce build on disk footprint and
package/sstate sizes.

This is currently applied to llvm and qemu target recipes.

The llvm-staticdev package takes up around 1.3GB alone. These three
changes lead to a reduction in TMPDIR size for a world build from
240GB to 199GB, also removing some very large sstate objects.

There is more that could and should be done but this does illustrate
one way to speed up and reduce build size in a focused way whilst we
ideally look into other approaches.

(From OE-Core rev: a0483b962dfbba051de2c0b1acbe268579a81f22)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-18 17:21:39 +01:00
Khem Raj
66158e79e5 gdb: Upgrade to 15.1 release
Improved python support and needs c++17 std in compiler to build

Detailed Release Notee [1]

[1] https://sourceware.org/pipermail/gdb-announce/2024/000140.html

(From OE-Core rev: 0041bc06f8b34c2344b018a292451dcd00c6586b)

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>
2024-07-16 11:25:29 +01:00
Changqing Li
a3518ccb6b multilib.conf: remove appending to PKG_CONFIG_PATH
* Since commit [a23c482cab allarch: only enable allarch when multilib is
not used], allarch recipes will also be installed into
${MLPREFIX}recipe-sysroot, so this appending is not needed.

* This appending also causes some QA errors. Eg: for lib32-php, the
recipe will use 's@${RECIPE_SYSROOT}@@g' to remove host specific path,
this appending makes not all the host specific path are matched.

(From OE-Core rev: e6e6076f1956c711814c14d76194794d950e45f8)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-13 23:28:31 +01:00
Richard Purdie
1cf0974ad2 bitbake.conf: Further cleanup compiler optimization flags
Move the -pipe option out of the optimization flags and directly into
the flags variables since we always use it now.

Also move the debug prefix mapping there to match the nativesdk case
which already does this.

Fix the documentation and two recipe usages to match the change.

(From OE-Core rev: 9badf68d78d995f7d5d4cf27e045f029fc6d4044)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-13 23:28:30 +01:00
Richard Purdie
3891414b6b bitbake.conf: Drop obsolete debug compiler options
eliminate-unused-debug-types is a compiler default so we no longer
need to specify this. Drop the option. Also drop an obsolete comment
about another debug flag.

(From OE-Core rev: 1d5162689fbfeddb10fa60e4150ca87f1fa2243e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-13 23:28:30 +01:00
Richard Purdie
0979646a1b abi_version/package: Bump hashequiv version and package class version
The recent pkgconfig change and subsqeuent fixes have left the hash equivalence
server in a corrupted state with hashes linking the changes beofore and after
the pkgconfig change, breaking reproducibile builds.

Bump the appropriate version numbers to allow us to move on and avoid
build failures and corrupt equivalence data now the underlying issue
was fixed.

(From OE-Core rev: 7b2cdd257132645534642a1461fe14b835eee6e8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-05 10:23:05 +01:00
Primoz Fiser
ba4dd8c51a pulseaudio: Remove from time64.inc exception list
Pulseaudio OSS (Open Sound System) support was causing build issues when
used with GLIBC_64BIT_TIME_FLAGS. However, optional OSS support was
disabled by default with addition of PACKAGECONFIG[oss-output]. Thus
remove pulseaudio from the exception list in time64.inc and allow it to
be Y2038 compatible.

(From OE-Core rev: 67cbec2aa1e7dca1abacf39a22efe85fa47a468d)

Signed-off-by: Primoz Fiser <primoz.fiser@norik.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-07-02 22:29:13 +01:00
Joshua Watt
d077134b0a binutils-cross-testsuite: Rename to binutils-testsuite
This recipe needs to be renamed because the "-cross-" substring in the
name triggers the cross architecture detection in sstate, but this
recipe is not actually a cross recipe.

(From OE-Core rev: 812c114a8a872ad59b19c7ffb8c1f230fc64c823)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-06-27 13:03:34 +01:00