1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-05-09 05:30:05 +00:00

115 Commits

Author SHA1 Message Date
Khem Raj 2d809a7c35 layer.conf: update LAYERSERIES_COMPAT for nanbield
* oe-core switched to nanbield in:
  https://git.openembedded.org/openembedded-core/commit/?id=f212cb12a0db9c9de5afd3cc89b1331d386e55f6

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-09-11 15:00:37 -04:00
Jon Mason 9fa8d0d0d0 arm-toolchain/gcc-aarch64-none-elf: upgrade to 12.3.rel1
Upgrade the 12.2 recipe to 12.3.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-08-07 12:00:47 -04:00
Ross Burton 0e043288fd arm-toolchain/gcc-arm-none-eabi: upgrade to 12.3.rel1
Upgrade the 12.2 recipe to 12.3.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2023-08-03 08:27:08 +01:00
Ross Burton 8d42065f41 arm-toolchain/gcc-arm-none-eabi-11.2: add new recipe
Add back the 11.2 release of GCC, because TF-M has code generation
problems with 11.3 onwards.

This recipe has the major version embedded in the recipe name so that it
has to be specifically asked for in a per-recipe basis.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2023-08-03 08:27:08 +01:00
Ross Burton 65504a799d arm-toolchain/arm-binary-toolchain: install to a versioned directory
So that it's obvious which version of GCC is being used, install the
files into a versioned directory under $libexecdir.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2023-08-03 08:27:08 +01:00
Ross Burton 938bbe9837 arm-toolchain/androidclang: remove
This was added to build an Android Common Kernel with the Android
compiler, but we don't need to build that anymore.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2023-08-03 08:27:08 +01:00
Ross Burton a64fb4a40d toolchain: remove pointless provides
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-07-18 09:16:16 -04:00
Sumit Garg e6301496ce external-arm-toolchain: Enforce absolute path check
EXTERNAL_TOOLCHAIN variable should provide absolute path to external Arm
toolchain install directory. So make that absolute path check explicit.

Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-20 10:00:10 -04:00
Ross Burton 980f37d4d3 arm-toolchain/gcc-arm-12.2: remove
This recipe is a rebuild from source of the Arm GCC release, with
patches from oe-core added to make it work well in our environment.

Most people are happy with the GCC in oe-core, and this release is often
behind: at the time of writing oe-core has mainline GCC 13.1, but Arm
GCC is 12.2.  Users who actually want the improvements in Arm GCC will
likely want to use the binary toolchain so that they can have support
from Arm, and they're welcome to do so via the "external-arm" binary
toolchain.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Acked-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-13 10:11:37 -04:00
Ross Burton f83c4abdbd arm-toolchain/external-arm: remove -fcanon-prefix-map from DEBUG_PREFIX_MAP
The binary Arm compiler is based on GCC 12. Remove this GCC 13-specific
option until the next release.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-13 10:11:31 -04:00
Claus Stovgaard 3fcafa3a94 arm-toolchain/gcc: Workaround for missing libcrypt
gcc-arm-none-eabi and gcc-aarch64-none-elf both fails when packaged as
RPM for sdk with

nothing provides libcrypt.so.1()(64bit) needed by nativesdk-gcc-arm-none-eabi-12.2.rel1-r0.x86_64_nativesdk

As we don't control the dependencies for prebuilt libraries we create a
workaround by skipping the FILEDEPS

Signed-off-by: Claus Stovgaard <claus.stovgaard@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-06-06 14:01:56 -04:00
Ross Burton 69b73682b3 arm-toolchain/gcc-arm: add missing Signed-off-by tag
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-02-20 13:02:55 -05:00
Jon Mason 9166b5deee external-arm-toolchain: Enable 12.2.rel1 support
Enable support for 12.2.rel1 binary toolchain release

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-01-20 10:00:09 -05:00
Jon Mason cf43a3c398 arm-toolchain: update Arm GCC to 12.2
Update the Arm GCC source to the latest version.  Also, update the GCC
patches to apply cleanly, removing those that are no longer relevant.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-01-20 10:00:09 -05:00
Ross Burton d9db8b7075 arm-toolchain: remove obsolete oe_import
The oe_import() function was removed in oe-core when addpylib was
added[1]. However, meta-arm-toolchain doesn't ship any library code so
this call doesn't do anything useful anyway.

[1] 1f56155e91da2030ee0a5e93037c62e1349ba89f

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-01-13 10:02:35 -05:00
Ross Burton 146e9a5178 meta-*: mark layers as compatible with mickledore only
oe-core's master branch is diverging from langdale and meta-arm will be
following this, so drop compatibility with langdale in master so we're
free to diverge too.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2023-01-13 10:01:42 -05:00
David Bagonyi 23aed71692 meta-arm-toolchain: Drop calls to datastore finalize
In d8e9ee8fd53b7620e72b2dfebb2e8d464b737dbb the finalize method was removed.

Signed-off-by: David Bagonyi <david.bagonyi@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-11-18 08:00:08 -05:00
Jon Mason 8d7f3c03ef arm: add Mickledore to layer compat string
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-10-27 09:57:59 -04:00
Sumit Garg 6001998caa external-arm-toolchain: Enable 11.3.rel1 support
Enable support for 11.3.rel1 binary toolchain release. Also, update CI
to use it.

Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-10-03 23:33:48 -04:00
Sumit Garg df99894eaa arm-toolchain: update Arm GCC to 11.3
Along with that add a new variable ARM_GCC_SUB_VERSION as newer clubbed
Arm GNU toolchain releases includes a sub-version like the current
release being 11.3.rel1 where ARM_GCC_SUB_VERSION=rel1.

Also, update CI to this release.

Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-10-03 23:33:48 -04:00
Jon Mason 2c9cf62622 layers: convert to langdale compatibility
Now that langdale is available, convert all kirkstone references to it.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-29 18:05:36 -04:00
Denys Dmytriyenko 261263a670 arm-toolchain/gcc,external-arm-toolchain: resolve conflict with gcc headers
Historically external-arm-toolchain recipe packaged all gcc headers from
${libdir}/gcc/${TARGET_SYS}/${BINV}/include - some would be picked up by
packages like gcc-sanitizers, libssp-dev. libquadmath-dev or libgomp-dev.
The rest would fall into catch-all libgcc-dev package.

Unfortunately, that could result in a conflict with a target gcc, which
also packages some of those files, like unwind.h or stddef.h, among others.

The conflict could be seen with this config:

EXTRA_IMAGE_FEATURES += "dev-pkgs tools-sdk"
TCMODE = "external-arm"
EXTERNAL_TOOLCHAIN = "/OE/toolchains/gcc-arm-11.2-2022.02-x86_64-aarch64-none-linux-gnu"

And the error message is:

Error: Transaction test error:
  file /usr/lib/gcc/aarch64-poky-linux/11.2.1/include/stddef.h conflicts between attempted installs of libgcc-s-dev-11.2.1-r0.1.cortexa57 and gcc-arm+11.2-r2022.02.1.cortexa57
  file /usr/lib/gcc/aarch64-poky-linux/11.2.1/include/unwind.h conflicts between attempted installs of libgcc-s-dev-11.2.1-r0.1.cortexa57 and gcc-arm+11.2-r2022.02.1.cortexa57

Modify external-arm-toolchain recipe according to how libgcc in OE-Core
handles those header files by removing and not packaging them:

https://git.openembedded.org/openembedded-core/tree/meta/recipes-devtools/gcc/libgcc-common.inc#n40

Also need to adjust gcc recipe to pick up unwind.h from EXTERNAL_TOOLCHAIN
location now, since libgcc-dev no longer carries it, and install it into
STAGING_LIBDIR_NATIVE, where OE-Core gcc-target.inc expects it from
gcc-cross:

https://git.openembedded.org/openembedded-core/tree/meta/recipes-devtools/gcc/gcc-target.inc#n164

Signed-off-by: Denys Dmytriyenko <denys@konsulko.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-09-10 12:48:13 -04:00
Ross Burton 7013204337 arm-toolchain/androidclang: move to libexecdir
Binaries shouldn't be in datadir, and now the RPATHs are being cleared
we can put them in libexecdir.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-06-16 08:00:07 -04:00
Ross Burton c4041b667d arm-toolchain/androidclang: strip meaningless RPATHS
As per [1], target builds of androidclang produce useless-rpath errors.

/usr/share/clang-r416183b/python3/lib/python3.9/lib-dynload/_posixsubprocess.cpython-39-x86_64-linux-gnu.so
contains probably-redundant RPATH /../lib [useless-rpaths]

Those RPATHs are of no use, so we can remove them entirely.

[1] https://errors.yoctoproject.org/Errors/Details/640604/

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-06-16 08:00:07 -04:00
Ross Burton 24c4cfa2aa arm-toolchain/armcompiler: remove recipe
As far as we know nobody is actually using the Arm Compiler recipe: 6.17
does a network operation on every call to check the license and this
fails with the network isolation that do_compile has in kirkstone, and
6.18 is behind a loginwall so we cannot download it in a recipe.

Unless we have actual users asking for a recipe, remove it from the layer
to avoid confusion.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-06-08 06:00:13 -04:00
Ross Burton 7007a9c0ea arm-toolchain/gcc-arm-none-eabi: upgrade to 11.2-2022.02
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-06-08 06:00:09 -04:00
Ross Burton 5c9017f7fd arm-toolchain/gcc-aarch64-none-elf: upgrade to 11.2
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-06-08 06:00:09 -04:00
Ross Burton 232dc039d0 arm-toolchain/layer.conf: remove BB_DANGLINGAPPENDS_WARNONLY
This appears to be historical from when the toolchain was in meta-linaro.

It isn't needed anymore, there's one bbappend in meta-arm-toolchain for
grub which is part of oe-core, so will never be dangling.

This variable has a global effect, so leaving it in here has a negative
impact on users.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-05-23 13:17:59 -04:00
Ross Burton a52f85a2af Revert "arm-toolchain/external-arm-toolchain: set the version in the recipe"
This reverts commit ac83feb7cd.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-05-18 08:00:09 -04:00
Ross Burton 16fe716dc6 Revert "arm-toolchain/external-arm-toolchain: add back 10.3"
This reverts commit 5fec85b41d.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-05-18 08:00:09 -04:00
Ross Burton 5fec85b41d arm-toolchain/external-arm-toolchain: add back 10.3
Add back the 10.3 release of external-arm-toolchain.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-05-17 09:39:12 -04:00
Ross Burton ac83feb7cd arm-toolchain/external-arm-toolchain: set the version in the recipe
We need to support multiple versions of external-arm-toolchain, partly as
different versions have different layouts on disk, and partly because
11.2 doesn't work on pre-Broadwell hardware.

Rename this recipe so the version is in the filename, and dynamically
set PKGV instead of PV so PREFERRED_VERSION is easier to use.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-05-17 09:39:12 -04:00
Ross Burton c65eed7160 arm-toolchain/arm-binary-toolchain: ensure toolchains don't provide any system libraries
Use PRIVATE_LIBS to ensure that the Arm binary toolchains don't provide
their own libraries to the entire system.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-05-06 09:29:50 -04:00
Sumit Garg 50b34c5cc9 external-arm-toolchain: Add support for Arm GCC 11.2 binary release
Arm GCC 11.2 binary release has completely changed the way how libc was
packaged in earlier binary releases. So adjust do_install() accordingly
to support Arm GCC 11.2 as well as earlier binary releases.

Along with this update CI as well to point at Arm GCC 11.2 binary
releases.

Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Denys Dmytriyenko <denis@denix.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-29 13:14:01 -04:00
Sumit Garg 68adfe2256 external-arm-toolchain-versions: Use ldd to get libc version
Arm GCC 11.2 binary release has moved away from keeping libc library
versioning info as libc-{EAT_VER_LIBC}.so. So rather switch to
retrieving libc version by parsing output from "$ ldd --version".

Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Denys Dmytriyenko <denis@denix.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-29 13:13:15 -04:00
Ross Burton 698e053663 arm-toolchain/gcc-aarch64-none-elf: remove redundant LIC_FILES_CHKSUM
Setting LIC_FILES_CHKSUM with some anonymous Python to dynamically fetch
the right checksum is pointless when the right values are assigned with
overrides in the first place.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-22 11:31:25 -04:00
Ross Burton faec9a7ad3 arm-toolchain/tcmode-external-arm: skip gcc-cross-*
SKIP_RECIPE applies to the full recipe names, which are gcc-cross-[arch].

Signed-off-by: Ross Burton <ross.burton@arm.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-06 21:54:02 -04:00
Ross Burton a92e076973 arm-toolchain/external-arm-toolchain: install to libexecdir not datadir
$datadir is for architecture-independent files, and a compiler is not
that.

Install to $libexecdir, and clean up the installation commands whilst
there.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-04-06 21:51:59 -04:00
Jon Mason ccec56deff arm-toolchain: update Arm GCC to 11.2
Update the Arm GCC source to the latest version.  Also, update the GCC
patches to apply cleanly, removing those that are no longer relevant.
Add the CVEs from Sumit Garg's series.

Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-23 09:34:09 -04:00
Khem Raj 3fbb255aa7 androidclang: Skip useless-rpaths check
This is a prebuilt stuff, better to ignore its guts.

Fixes
androidclang: /usr/share/clang-r416183b/python3/lib/python3.9/lib-dynload/_posixsubprocess.cpython-39-x86_64-linux-gnu.so contains probably-redundant RPATH /../lib [useless-rpaths]

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-03-01 09:30:27 -05:00
Ross Burton 74bd32b2e6 arm-toolchain/external-arm-toolchain: fix missing license updates
Commit 53a40b1 updates the license names to use the SPDX terms, but as
intermediate variables are used in this recipe a few instances were
missed.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2022-02-23 13:39:22 +00:00
Martin Jansa 53a40b1518 meta: update license names
* openembedded-core/scripts/contrib/convert-spdx-licenses.py .
  ...
  All files processed with version 0.01

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
2022-02-22 14:05:46 +00:00
Khem Raj 1ad0aa794d layers: Bump to use kirkstone
its not going to be backward ABI compatible with honister due to variable renaming.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-02-22 12:34:31 +00:00
Ross Burton 479aaa7bfb Update for LICENSE_FLAGS_WHITELIST rename to _ACCEPTED.
LICENSE_FLAGS_WHITELIST has been renamed to LICENSE_FLAGS_ACCEPTED in
oe-core master.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2022-02-22 12:34:31 +00:00
Khem Raj 5119b4ad63 meta-arm-toolchain: Use renamed SKIP_RECIPE var flags
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-02-22 12:33:04 +00:00
Khem Raj 37674007ba meta-arm-toolchain: Use renamed BB_BASEHASH_IGNORE_VARS variable
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-02-22 12:33:04 +00:00
Ross Burton 558af689d5 arm-toolchain/gcc-arm-none-eabi: remove old 2020-q2 recipe
This was only used by Corstone 700, so is redundant now.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-01-24 12:00:08 -05:00
Usama Arif c4fb4f53cb arm-toolchain: Fetch prebuilt Android Clang, version r416183b
This Clang version is present in Android master
(as of October 8, 2021)

Signed-off-by: Usama Arif <usama.arif@arm.com>
Signed-off-by: Anders Dellien <anders.dellien@arm.com>
Change-Id: I957742ee943ef68119fd7c7e2bd8ee62b717b31c
2022-01-18 13:00:12 -05:00
Ross Burton 22b453f785 arm-toolchain: remove armcompiler-specific licenses
The Armcompiler-* licenses are specific to a single release of the
Arm Compiler, so remove them from the layer and use NO_GENERIC_LICENSE
to extract them from the source directly.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-01-06 08:59:22 -05:00
Ross Burton 07c7d2f948 arm-toolchain/armcompiler: upgrade to 6.17
Upgrade to the latest release, now based on Clang 14.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2022-01-06 08:59:22 -05:00