1
0
mirror of https://git.yoctoproject.org/meta-arm synced 2026-04-20 23:41:08 +00:00
Commit Graph

12 Commits

Author SHA1 Message Date
Denys Dmytriyenko
0ff012ecb2 external-arm-toolchain: remove unused /usr/share/info/dir
Fixes following QA issue:

WARNING: external-arm-toolchain-2019.12-r0 do_package_qa: QA Issue: The /usr/share/info/dir file is not meant to be shipped in a particular package. [infodir]

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-06 12:03:43 -04:00
Denys Dmytriyenko
33cc242bbc external-arm-toolchain: remove empty libexecdir
Fixes following QA issue (normally a warning, but Poky and other distros
may treat it as fatal):

ERROR: external-arm-toolchain-2019.12-r0 do_package: QA Issue: external-arm-toolchain: Files/directories were installed but not shipped in any package:
  /usr/libexec
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
external-arm-toolchain: 1 installed and not shipped files. [installed-vs-shipped]
ERROR: external-arm-toolchain-2019.12-r0 do_package: Fatal QA errors found, failing task.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-06 12:03:43 -04:00
Denys Dmytriyenko
c10a9a2d3b gcc-arm: remove extra binary aliases when TCMODE=external-arm
When TCMODE=external-arm, TARGET_SYS!=EAT_TARGET_SYS and gcc installs extra
binary aliases, which could lead to QA errors:

ERROR: gcc-arm-9.2-r2019.12 do_package: QA Issue: gcc: Files/directories were installed but not shipped in any package:
  /usr/bin/arm-poky-linux-gnueabi-arm-none-linux-gnueabihf-g++
  /usr/bin/arm-poky-linux-gnueabi-arm-none-linux-gnueabihf-gcc
  /usr/bin/arm-poky-linux-gnueabi-arm-none-linux-gnueabihf-gcc-ar
  /usr/bin/arm-poky-linux-gnueabi-arm-none-linux-gnueabihf-gcc-ranlib
  /usr/bin/arm-poky-linux-gnueabi-arm-none-linux-gnueabihf-gcc-nm
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
gcc: 5 installed and not shipped files. [installed-vs-shipped]
ERROR: gcc-arm-9.2-r2019.12 do_package: Fatal QA errors found, failing task.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-06 12:03:43 -04:00
Denys Dmytriyenko
198f96ed20 gcc-arm: add re-staging of unwind.h from external-arm-toolchain
gcc-target.inc expects unwind.h to come from and be staged by libgcc.
When TCMODE="external-arm" libgcc is provided by external-arm-toolchain.bb
And while it stages the necessary unwind.h file, it ends up in slightly
different location, so re-stage it. More details are in the comments.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-06 12:03:43 -04:00
Denys Dmytriyenko
d68e63b965 external-arm-toolchain: drop unnecessary RDEPENDS on bash
The 2 scripts that still have /bin/bash shebang are ldd and tzselect. But
it seems upstream had fixed all bashisms in those scripts in recent years
and OE-Core versions of those scripts use /bin/sh already.

Dropping these unnecessary RDEPENDS on bash actually significantly prunes
dependency tree for simple BSP builds like u-boot, etc.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-01 10:01:11 -04:00
Denys Dmytriyenko
efd0773165 external-arm-toolchain: drop unnecessary binutils-cross-${TARGET_ARCH} in PROVIDES
There's no need to directly provide binutils-cross-${TARGET_ARCH}, as the
PROVIDES list already contains virtual/${TARGET_PREFIX}binutils and correct
PREFERRED_PROVIDER is set in the corresponding tcmode-external-arm.inc file:

PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "external-arm-toolchain"

Similar to the compiler:

PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "external-arm-toolchain"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "external-arm-toolchain"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "external-arm-toolchain"

And similar to glibc:

PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "external-arm-toolchain"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs = "external-arm-toolchain"

There shouldn't be any direct dependency on binutils-cross-${TARGET_ARCH}. And
if there is, it needs to be fixed to depend on virtual/${TARGET_PREFIX}binutils

During 8.x upgrade there was an attempt to clean it up:

https://git.linaro.org/openembedded/meta-linaro.git/commit/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb?id=a8ce3dc47f3be9f98abc6ac98a849f918386cf9f

But unfortunately, it got re-added back w/o reasoning:

https://git.linaro.org/openembedded/meta-linaro.git/commit/?id=bb04bc8c67fd032fe04c47b2163ea5fa6b2ffa86

Also, while at it, fix indentation for glibc-mtrace in PROVIDES list.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-01 10:00:08 -04:00
Denys Dmytriyenko
8aaba503d3 tcmode-external-arm: drop unnecessary CPPFLAGS and LDFLAGS adjustments
These were there from the very beginning and they were used as crutches to
prop up the build by pointing directly to the external toolchain location,
in case early versions of external-arm-toolchain missed staging/packaging
something from there.

First of all, it is unnecessary to adjust CPPFLAGS and LDFLAGS in this way,
as external-arm-toolchain is supposed to stage everything needed from the
toolchain in internal sysroot.

And second, these settings can be harmful and conflict with component's own
CPPFLAGS/LDFLAGS. For example, OpenCV 4.1 fails to link internal libraries
because of incorrect -Wl,-rpath-link passed down the build.

After dropping these, I was able to verify that everything still builds,
including BSP, Wayland/Weston, Qt5, gstreamer, OpenCV, etc for Aarch64 and
Armv7a platforms.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-05-01 09:59:25 -04:00
Denys Dmytriyenko
74b76e3281 external-arm-toolchain: split and strip packages normally
In the past, some Linaro toolchain versions were shipped with already stripped
libraries, causing QA issues, hence splitting and stripping was disabled.

This is no longer the case and it is better to split and strip binaries and
libraries normally, generating smaller images, while retaining debug symbols
in corresponding -dbg packages.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-13 17:27:18 -04:00
Denys Dmytriyenko
c5643e7cff layer.conf: meta-arm-toolchain should depend on core layer
While core layer may be implied, it's still nice to depend on it explicitly
for building gcc and other toolchain components in this layer.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-13 17:27:18 -04:00
Sumit Garg
ea741c16cf meta-arm-toolchain: use GCC 9.2 source tar ball insted of svn
GCC 9.2 source fetch from svn is quite slow as compared to source tar
ball. So switch to fetch GCC 9.2 source tar ball instead.

Reported-by: Riku Voipio <riku.voipio@linaro.org>
Suggested-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-10 10:21:29 -04:00
Denys Dmytriyenko
b1393356c0 layer.conf: update LAYERSERIES_COMPAT for dunfell
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
2020-04-08 09:32:05 -04:00
Sumit Garg
c0a59f3d94 Import ARM GNU-A toolset recipes from meta-linaro
Add a new meta-arm-toolchain layer to hold ARM GNU-A toolset recipes
imported from meta-linaro tree, branch: master and commit ID:
504ca3b217c9602b10eda0ec8a9f1055b59e482f.

Change-Id: I5a2907874da2869ab94d7d48e0cf4a1bfe241041
Tested-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
2020-01-27 16:44:36 -05:00