All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3] arm-toolchain: gcc-arm-none-eabi-native: Add recipe
@ 2020-05-15  1:36 Denys Dmytriyenko
  2020-05-15  7:43 ` Diego Sueiro
  2020-05-19 15:19 ` Jon Mason
  0 siblings, 2 replies; 7+ messages in thread
From: Denys Dmytriyenko @ 2020-05-15  1:36 UTC (permalink / raw)
  To: meta-arm; +Cc: Jon Mason, Joshua Watt, Denys Dmytriyenko

From: Jon Mason <jdmason@kudzu.us>

Adds a recipe to pull down the prebuilt GCC for compiling on Cortex-R
and Cortex-M processors from ARM. This toolchain is required to build
Arm Trusted Firmware for the Rockchip rk3399 SoC, since it must compile
some firmware for the M0 coprocessor.

This was originally taken from meta-rockchip, but has been modified from
mailing list feedback.

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
---
v3 changes:
* rename recipe to not contain -native in the name
* fix typo in "subsidiaries" word
* use SUMMARY instead of DESCRIPTION
* remove inherit native
* add FILES_${PN} for nativesdk package
* add extra INSANE_SKIP_${PN} due to prebuilt binary package

 .../gcc-arm-none-eabi_9-2019-q4-major.bb           | 39 ++++++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_9-2019-q4-major.bb

diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_9-2019-q4-major.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_9-2019-q4-major.bb
new file mode 100644
index 0000000..84f6dba
--- /dev/null
+++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_9-2019-q4-major.bb
@@ -0,0 +1,39 @@
+# Copyright (C) 2019 Garmin Ltd. or its subsidiaries
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+SUMMARY = "Baremetal GCC for ARM-R and ARM-M processors"
+LICENSE = "GPL-3.0-with-GCC-exception & GPLv3"
+
+LIC_FILES_CHKSUM = "file://share/doc/gcc-arm-none-eabi/license.txt;md5=c18349634b740b7b95f2c2159af888f5"
+
+PROVIDES = "virtual/arm-none-eabi-gcc"
+
+SRC_URI = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2019q4/${BPN}-${PV}-x86_64-linux.tar.bz2"
+
+SRC_URI[md5sum] = "fe0029de4f4ec43cf7008944e34ff8cc"
+SRC_URI[sha256sum] = "bcd840f839d5bf49279638e9f67890b2ef3a7c9c7a9b25271e83ec4ff41d177a"
+
+S = "${WORKDIR}/${BPN}-${PV}"
+
+COMPATIBLE_HOST = "x86_64.*-linux"
+
+do_install() {
+    install -d ${D}${datadir}/arm-none-eabi/
+    cp -r ${S}/. ${D}${datadir}/arm-none-eabi/
+
+    install -d ${D}${bindir}
+    # Symlink all executables into bindir
+    for f in ${D}${datadir}/arm-none-eabi/bin/arm-none-eabi-*; do
+        lnr $f ${D}${bindir}/$(basename $f)
+    done
+}
+
+FILES_${PN} = "${datadir} ${bindir}"
+
+INSANE_SKIP_${PN} = "already-stripped libdir staticdev file-rdeps"
+
+INHIBIT_SYSROOT_STRIP = "1"
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
+
+BBCLASSEXTEND = "native nativesdk"
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v3] arm-toolchain: gcc-arm-none-eabi-native: Add recipe
  2020-05-15  1:36 [PATCH v3] arm-toolchain: gcc-arm-none-eabi-native: Add recipe Denys Dmytriyenko
@ 2020-05-15  7:43 ` Diego Sueiro
  2020-05-17 12:30   ` [meta-arm] " Khasim Mohammed
       [not found]   ` <160FD0B211B491C0.9570@lists.yoctoproject.org>
  2020-05-19 15:19 ` Jon Mason
  1 sibling, 2 replies; 7+ messages in thread
From: Diego Sueiro @ 2020-05-15  7:43 UTC (permalink / raw)
  To: meta-arm

On Fri, May 15, 2020 at 02:36 AM, Denys Dmytriyenko wrote:

>
> From: Jon Mason <jdmason@kudzu.us>
> 
> Adds a recipe to pull down the prebuilt GCC for compiling on Cortex-R
> and Cortex-M processors from ARM. This toolchain is required to build
> Arm Trusted Firmware for the Rockchip rk3399 SoC, since it must compile
> some firmware for the M0 coprocessor.
> 
> This was originally taken from meta-rockchip, but has been modified from
> mailing list feedback.
> 
> Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
> Signed-off-by: Jon Mason <jdmason@kudzu.us>
> Signed-off-by: Denys Dmytriyenko <denys@ti.com>

Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>

> ---
> v3 changes:
> * rename recipe to not contain -native in the name
> * fix typo in "subsidiaries" word
> * use SUMMARY instead of DESCRIPTION
> * remove inherit native
> * add FILES_${PN} for nativesdk package
> * add extra INSANE_SKIP_${PN} due to prebuilt binary package
> 
>  .../gcc-arm-none-eabi_9-2019-q4-major.bb           | 39
> ++++++++++++++++++++++
>  1 file changed, 39 insertions(+)
>  create mode 100644
> meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_9-2019-q4-major.bb
> 
> diff --git
> b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_9-2019-q4-major.bb
> new file mode 100644
> index 0000000..84f6dba
> --- /dev/null
> +++
> b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_9-2019-q4-major.bb
> @@ -0,0 +1,39 @@
> +# Copyright (C) 2019 Garmin Ltd. or its subsidiaries
> +# Released under the MIT license (see COPYING.MIT for the terms)
> +
> +SUMMARY = "Baremetal GCC for ARM-R and ARM-M processors"
> +LICENSE = "GPL-3.0-with-GCC-exception & GPLv3"
> +
> +LIC_FILES_CHKSUM =
> "file://share/doc/gcc-arm-none-eabi/license.txt;md5=c18349634b740b7b95f2c2159af888f5"
> +
> +PROVIDES = "virtual/arm-none-eabi-gcc"
> +
> +SRC_URI =
> "https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2019q4/${BPN}-${PV}-x86_64-linux.tar.bz2"
> +
> +SRC_URI[md5sum] = "fe0029de4f4ec43cf7008944e34ff8cc"
> +SRC_URI[sha256sum] =
> "bcd840f839d5bf49279638e9f67890b2ef3a7c9c7a9b25271e83ec4ff41d177a"
> +
> +S = "${WORKDIR}/${BPN}-${PV}"
> +
> +COMPATIBLE_HOST = "x86_64.*-linux"
> +
> +do_install() {
> +    install -d ${D}${datadir}/arm-none-eabi/
> +    cp -r ${S}/. ${D}${datadir}/arm-none-eabi/
> +
> +    install -d ${D}${bindir}
> +    # Symlink all executables into bindir
> +    for f in ${D}${datadir}/arm-none-eabi/bin/arm-none-eabi-*; do
> +        lnr $f ${D}${bindir}/$(basename $f)
> +    done
> +}
> +
> +FILES_${PN} = "${datadir} ${bindir}"
> +
> +INSANE_SKIP_${PN} = "already-stripped libdir staticdev file-rdeps"
> +
> +INHIBIT_SYSROOT_STRIP = "1"
> +INHIBIT_PACKAGE_STRIP = "1"
> +INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
> +
> +BBCLASSEXTEND = "native nativesdk"
> -- 
> 2.7.4
> 
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [meta-arm] [PATCH v3] arm-toolchain: gcc-arm-none-eabi-native: Add recipe
  2020-05-15  7:43 ` Diego Sueiro
@ 2020-05-17 12:30   ` Khasim Mohammed
       [not found]   ` <160FD0B211B491C0.9570@lists.yoctoproject.org>
  1 sibling, 0 replies; 7+ messages in thread
From: Khasim Mohammed @ 2020-05-17 12:30 UTC (permalink / raw)
  To: meta-arm, Diego Sueiro



________________________________________
From: meta-arm@lists.yoctoproject.org <meta-arm@lists.yoctoproject.org> on behalf of Diego Sueiro via lists.yoctoproject.org <diego.sueiro=arm.com@lists.yoctoproject.org>
Sent: Friday, May 15, 2020 1:13 PM
To: meta-arm@lists.yoctoproject.org
Subject: Re: [meta-arm] [PATCH v3] arm-toolchain: gcc-arm-none-eabi-native: Add recipe

On Fri, May 15, 2020 at 02:36 AM, Denys Dmytriyenko wrote:

>
> From: Jon Mason <jdmason@kudzu.us>
>
> Adds a recipe to pull down the prebuilt GCC for compiling on Cortex-R
> and Cortex-M processors from ARM. This toolchain is required to build
> Arm Trusted Firmware for the Rockchip rk3399 SoC, since it must compile
> some firmware for the M0 coprocessor.
>
> This was originally taken from meta-rockchip, but has been modified from
> mailing list feedback.
>
> Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
> Signed-off-by: Jon Mason <jdmason@kudzu.us>
> Signed-off-by: Denys Dmytriyenko <denys@ti.com>

> Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>

I observe one issue when building for n1sdp,
gcc-arm-none-eabi PROVIDES virtual/arm-none-eabi-gcc but was skipped: incompatible with host aarch64-poky-linux (not in COMPATIBLE_HOST)

> ---
> v3 changes:
> * rename recipe to not contain -native in the name
> * fix typo in "subsidiaries" word
> * use SUMMARY instead of DESCRIPTION
> * remove inherit native
> * add FILES_${PN} for nativesdk package
> * add extra INSANE_SKIP_${PN} due to prebuilt binary package
>
>  .../gcc-arm-none-eabi_9-2019-q4-major.bb           | 39
> ++++++++++++++++++++++
>  1 file changed, 39 insertions(+)
>  create mode 100644
> meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_9-2019-q4-major.bb
>
> diff --git
> b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_9-2019-q4-major.bb
> new file mode 100644
> index 0000000..84f6dba
> --- /dev/null
> +++
> b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_9-2019-q4-major.bb
> @@ -0,0 +1,39 @@
> +# Copyright (C) 2019 Garmin Ltd. or its subsidiaries
> +# Released under the MIT license (see COPYING.MIT for the terms)
> +
> +SUMMARY = "Baremetal GCC for ARM-R and ARM-M processors"
> +LICENSE = "GPL-3.0-with-GCC-exception & GPLv3"
> +
> +LIC_FILES_CHKSUM =
> "file://share/doc/gcc-arm-none-eabi/license.txt;md5=c18349634b740b7b95f2c2159af888f5"
> +
> +PROVIDES = "virtual/arm-none-eabi-gcc"
> +
> +SRC_URI =
> "https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2019q4/${BPN}-${PV}-x86_64-linux.tar.bz2"
> +
> +SRC_URI[md5sum] = "fe0029de4f4ec43cf7008944e34ff8cc"
> +SRC_URI[sha256sum] =
> "bcd840f839d5bf49279638e9f67890b2ef3a7c9c7a9b25271e83ec4ff41d177a"
> +
> +S = "${WORKDIR}/${BPN}-${PV}"
> +
> +COMPATIBLE_HOST = "x86_64.*-linux"
> +

Can this be changed to : "x86_64.*|aarch64.*"

> +do_install() {
> +    install -d ${D}${datadir}/arm-none-eabi/
> +    cp -r ${S}/. ${D}${datadir}/arm-none-eabi/
> +
> +    install -d ${D}${bindir}
> +    # Symlink all executables into bindir
> +    for f in ${D}${datadir}/arm-none-eabi/bin/arm-none-eabi-*; do
> +        lnr $f ${D}${bindir}/$(basename $f)
> +    done
> +}
> +
> +FILES_${PN} = "${datadir} ${bindir}"
> +
> +INSANE_SKIP_${PN} = "already-stripped libdir staticdev file-rdeps"
> +
> +INHIBIT_SYSROOT_STRIP = "1"
> +INHIBIT_PACKAGE_STRIP = "1"
> +INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
> +
> +BBCLASSEXTEND = "native nativesdk"
> --
> 2.7.4
>
>
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [meta-arm] [PATCH v3] arm-toolchain: gcc-arm-none-eabi-native: Add recipe
       [not found]   ` <160FD0B211B491C0.9570@lists.yoctoproject.org>
@ 2020-05-17 14:43     ` Khasim Mohammed
  2020-05-18 20:57       ` Denys Dmytriyenko
  0 siblings, 1 reply; 7+ messages in thread
From: Khasim Mohammed @ 2020-05-17 14:43 UTC (permalink / raw)
  To: meta-arm, Diego Sueiro, Khasim Mohammed



________________________________________
From: meta-arm@lists.yoctoproject.org <meta-arm@lists.yoctoproject.org> on behalf of Khasim Mohammed via lists.yoctoproject.org <khasim.mohammed=arm.com@lists.yoctoproject.org>
Sent: Sunday, May 17, 2020 6:00 PM
To: meta-arm@lists.yoctoproject.org; Diego Sueiro
Subject: Re: [meta-arm] [PATCH v3] arm-toolchain: gcc-arm-none-eabi-native: Add recipe



________________________________________
From: meta-arm@lists.yoctoproject.org <meta-arm@lists.yoctoproject.org> on behalf of Diego Sueiro via lists.yoctoproject.org <diego.sueiro=arm.com@lists.yoctoproject.org>
Sent: Friday, May 15, 2020 1:13 PM
To: meta-arm@lists.yoctoproject.org
Subject: Re: [meta-arm] [PATCH v3] arm-toolchain: gcc-arm-none-eabi-native: Add recipe

On Fri, May 15, 2020 at 02:36 AM, Denys Dmytriyenko wrote:

>
> From: Jon Mason <jdmason@kudzu.us>
>
> Adds a recipe to pull down the prebuilt GCC for compiling on Cortex-R
> and Cortex-M processors from ARM. This toolchain is required to build
> Arm Trusted Firmware for the Rockchip rk3399 SoC, since it must compile
> some firmware for the M0 coprocessor.
>
> This was originally taken from meta-rockchip, but has been modified from
> mailing list feedback.
>
> Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
> Signed-off-by: Jon Mason <jdmason@kudzu.us>
> Signed-off-by: Denys Dmytriyenko <denys@ti.com>

> Reviewed-by: Diego Sueiro <diego.sueiro@arm.com>

> I observe one issue when building for n1sdp,
> gcc-arm-none-eabi PROVIDES virtual/arm-none-eabi-gcc but was skipped: incompatible with host aarch64-poky-linux (not in COMPATIBLE_HOST)

Actually I found two issue
1) gcc-arm-none-eabi PROVIDES virtual/arm-none-eabi-gcc but was skipped: incompatible with host aarch64-poky-linux (not in COMPATIBLE_HOST)
> +COMPATIBLE_HOST = "x86_64.*-linux"
> +

changed to : "x86_64.*|aarch64.*" to build.

2) ERROR: gcc-arm-none-eabi-9-2019-q4-major-r0 do_package_qa: QA run found fatal errors. Please consider fixing them.
added below line to fix :

inherit native

Regards,
Khasim
> ---
> v3 changes:
> * rename recipe to not contain -native in the name
> * fix typo in "subsidiaries" word
> * use SUMMARY instead of DESCRIPTION
> * remove inherit native
> * add FILES_${PN} for nativesdk package
> * add extra INSANE_SKIP_${PN} due to prebuilt binary package
>
>  .../gcc-arm-none-eabi_9-2019-q4-major.bb           | 39
> ++++++++++++++++++++++
>  1 file changed, 39 insertions(+)
>  create mode 100644
> meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_9-2019-q4-major.bb
>
> diff --git
> b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_9-2019-q4-major.bb
> new file mode 100644
> index 0000000..84f6dba
> --- /dev/null
> +++
> b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_9-2019-q4-major.bb
> @@ -0,0 +1,39 @@
> +# Copyright (C) 2019 Garmin Ltd. or its subsidiaries
> +# Released under the MIT license (see COPYING.MIT for the terms)
> +
> +SUMMARY = "Baremetal GCC for ARM-R and ARM-M processors"
> +LICENSE = "GPL-3.0-with-GCC-exception & GPLv3"
> +
> +LIC_FILES_CHKSUM =
> "file://share/doc/gcc-arm-none-eabi/license.txt;md5=c18349634b740b7b95f2c2159af888f5"
> +
> +PROVIDES = "virtual/arm-none-eabi-gcc"
> +
> +SRC_URI =
> "https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2019q4/${BPN}-${PV}-x86_64-linux.tar.bz2"
> +
> +SRC_URI[md5sum] = "fe0029de4f4ec43cf7008944e34ff8cc"
> +SRC_URI[sha256sum] =
> "bcd840f839d5bf49279638e9f67890b2ef3a7c9c7a9b25271e83ec4ff41d177a"
> +
> +S = "${WORKDIR}/${BPN}-${PV}"
> +
> +COMPATIBLE_HOST = "x86_64.*-linux"
> +

Can this be changed to : "x86_64.*|aarch64.*"

> +do_install() {
> +    install -d ${D}${datadir}/arm-none-eabi/
> +    cp -r ${S}/. ${D}${datadir}/arm-none-eabi/
> +
> +    install -d ${D}${bindir}
> +    # Symlink all executables into bindir
> +    for f in ${D}${datadir}/arm-none-eabi/bin/arm-none-eabi-*; do
> +        lnr $f ${D}${bindir}/$(basename $f)
> +    done
> +}
> +
> +FILES_${PN} = "${datadir} ${bindir}"
> +
> +INSANE_SKIP_${PN} = "already-stripped libdir staticdev file-rdeps"
> +
> +INHIBIT_SYSROOT_STRIP = "1"
> +INHIBIT_PACKAGE_STRIP = "1"
> +INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
> +
> +BBCLASSEXTEND = "native nativesdk"
> --
> 2.7.4
>
>
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [meta-arm] [PATCH v3] arm-toolchain: gcc-arm-none-eabi-native: Add recipe
  2020-05-17 14:43     ` Khasim Mohammed
@ 2020-05-18 20:57       ` Denys Dmytriyenko
  2020-05-19 10:39         ` Khasim Mohammed
  0 siblings, 1 reply; 7+ messages in thread
From: Denys Dmytriyenko @ 2020-05-18 20:57 UTC (permalink / raw)
  To: Khasim Mohammed; +Cc: meta-arm, Diego Sueiro

Khasim,

I don't think you are using it correctly, see below.

On Sun, May 17, 2020 at 02:43:44PM +0000, Khasim Mohammed wrote:
> > From: Jon Mason <jdmason@kudzu.us>
> >
> > Adds a recipe to pull down the prebuilt GCC for compiling on Cortex-R
> > and Cortex-M processors from ARM. This toolchain is required to build
> > Arm Trusted Firmware for the Rockchip rk3399 SoC, since it must compile
> > some firmware for the M0 coprocessor.
> >
> > This was originally taken from meta-rockchip, but has been modified from
> > mailing list feedback.
> 
> > I observe one issue when building for n1sdp,
> > gcc-arm-none-eabi PROVIDES virtual/arm-none-eabi-gcc but was skipped: incompatible with host aarch64-poky-linux (not in COMPATIBLE_HOST)
> 
> Actually I found two issue
> 1) gcc-arm-none-eabi PROVIDES virtual/arm-none-eabi-gcc but was skipped: incompatible with host aarch64-poky-linux (not in COMPATIBLE_HOST)
> > +COMPATIBLE_HOST = "x86_64.*-linux"
> 
> changed to : "x86_64.*|aarch64.*" to build.

Are you trying to use it on aarch64 host?
Or are you trying to build ot for the target?

This is a prebuilt binary that only runs on x86_64.
And, obviously, it is not meant for the target - the error is correct, 
arm-none-eabi != aarch64-poky-linux


> 2) ERROR: gcc-arm-none-eabi-9-2019-q4-major-r0 do_package_qa: QA run found fatal errors. Please consider fixing them.
> added below line to fix :
> 
> inherit native

If you check the list of v3 changes below, you'll see that inherit native was 
removed. It is not needed, due to BBCLASSEXTEND = "native nativesdk"
So, basically, this is not a proper cross toolchain recipe - it is a very 
simplistic native and nativesdk one. You shouldn't use it for any Linux 
builds, it's meant just for very limited bare-metal builds...


> > v3 changes:
> > * rename recipe to not contain -native in the name
> > * fix typo in "subsidiaries" word
> > * use SUMMARY instead of DESCRIPTION
> > * remove inherit native
> > * add FILES_${PN} for nativesdk package
> > * add extra INSANE_SKIP_${PN} due to prebuilt binary package

In other words, this is correct:
$ bitbake gcc-arm-none-eabi-native
$ bitbake nativesdk-gcc-arm-none-eabi

This is incorrect, and is blocked on purpose:
$ bitbake gcc-arm-none-eabi


> > +COMPATIBLE_HOST = "x86_64.*-linux"
> Can this be changed to : "x86_64.*|aarch64.*"

No, it should not - that would be incorrect!

-- 
Denys

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [meta-arm] [PATCH v3] arm-toolchain: gcc-arm-none-eabi-native: Add recipe
  2020-05-18 20:57       ` Denys Dmytriyenko
@ 2020-05-19 10:39         ` Khasim Mohammed
  0 siblings, 0 replies; 7+ messages in thread
From: Khasim Mohammed @ 2020-05-19 10:39 UTC (permalink / raw)
  To: denis; +Cc: meta-arm, Diego Sueiro

On Mon, 2020-05-18 at 16:57 -0400, Denys Dmytriyenko via
lists.yoctoproject.org wrote:
> Khasim,
>
> I don't think you are using it correctly, see below.
>

Looks like, I had added
EXTRA_IMAGEDEPENDS += "virtual/arm-none-eabi-gcc"

In my machine conf file and that was resulting in below errors.

I moved the dependency to my target recipe (scp-firmware), I don't see
these errors now.

have verified the patch, Good to go from my side.

Thanks.

Regards,
Khasim

> On Sun, May 17, 2020 at 02:43:44PM +0000, Khasim Mohammed wrote:
> > > From: Jon Mason <jdmason@kudzu.us>
> > >
> > > Adds a recipe to pull down the prebuilt GCC for compiling on
> > > Cortex-R
> > > and Cortex-M processors from ARM. This toolchain is required to
> > > build
> > > Arm Trusted Firmware for the Rockchip rk3399 SoC, since it must
> > > compile
> > > some firmware for the M0 coprocessor.
> > >
> > > This was originally taken from meta-rockchip, but has been
> > > modified from
> > > mailing list feedback.
> > > I observe one issue when building for n1sdp,
> > > gcc-arm-none-eabi PROVIDES virtual/arm-none-eabi-gcc but was
> > > skipped: incompatible with host aarch64-poky-linux (not in
> > > COMPATIBLE_HOST)
> >
> > Actually I found two issue
> > 1) gcc-arm-none-eabi PROVIDES virtual/arm-none-eabi-gcc but was
> > skipped: incompatible with host aarch64-poky-linux (not in
> > COMPATIBLE_HOST)
> > > +COMPATIBLE_HOST = "x86_64.*-linux"
> >
> > changed to : "x86_64.*|aarch64.*" to build.
>
> Are you trying to use it on aarch64 host?
> Or are you trying to build ot for the target?
>
> This is a prebuilt binary that only runs on x86_64.
> And, obviously, it is not meant for the target - the error is
> correct,
> arm-none-eabi != aarch64-poky-linux
>
>
> > 2) ERROR: gcc-arm-none-eabi-9-2019-q4-major-r0 do_package_qa: QA
> > run found fatal errors. Please consider fixing them.
> > added below line to fix :
> >
> > inherit native
>
> If you check the list of v3 changes below, you'll see that inherit
> native was
> removed. It is not needed, due to BBCLASSEXTEND = "native nativesdk"
> So, basically, this is not a proper cross toolchain recipe - it is a
> very
> simplistic native and nativesdk one. You shouldn't use it for any
> Linux
> builds, it's meant just for very limited bare-metal builds...
>
>
> > > v3 changes:
> > > * rename recipe to not contain -native in the name
> > > * fix typo in "subsidiaries" word
> > > * use SUMMARY instead of DESCRIPTION
> > > * remove inherit native
> > > * add FILES_${PN} for nativesdk package
> > > * add extra INSANE_SKIP_${PN} due to prebuilt binary package
>
> In other words, this is correct:
> $ bitbake gcc-arm-none-eabi-native
> $ bitbake nativesdk-gcc-arm-none-eabi
>
> This is incorrect, and is blocked on purpose:
> $ bitbake gcc-arm-none-eabi
>
>
> > > +COMPATIBLE_HOST = "x86_64.*-linux"
> >
> > Can this be changed to : "x86_64.*|aarch64.*"
>
> No, it should not - that would be incorrect!
>
> 

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v3] arm-toolchain: gcc-arm-none-eabi-native: Add recipe
  2020-05-15  1:36 [PATCH v3] arm-toolchain: gcc-arm-none-eabi-native: Add recipe Denys Dmytriyenko
  2020-05-15  7:43 ` Diego Sueiro
@ 2020-05-19 15:19 ` Jon Mason
  1 sibling, 0 replies; 7+ messages in thread
From: Jon Mason @ 2020-05-19 15:19 UTC (permalink / raw)
  To: Denys Dmytriyenko; +Cc: meta-arm, Joshua Watt, Denys Dmytriyenko

On Thu, May 14, 2020 at 09:36:20PM -0400, Denys Dmytriyenko wrote:
> From: Jon Mason <jdmason@kudzu.us>
> 
> Adds a recipe to pull down the prebuilt GCC for compiling on Cortex-R
> and Cortex-M processors from ARM. This toolchain is required to build
> Arm Trusted Firmware for the Rockchip rk3399 SoC, since it must compile
> some firmware for the M0 coprocessor.
> 
> This was originally taken from meta-rockchip, but has been modified from
> mailing list feedback.
> 
> Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
> Signed-off-by: Jon Mason <jdmason@kudzu.us>
> Signed-off-by: Denys Dmytriyenko <denys@ti.com>


Pulled in to the master branch.

Thanks,
Jon

> ---
> v3 changes:
> * rename recipe to not contain -native in the name
> * fix typo in "subsidiaries" word
> * use SUMMARY instead of DESCRIPTION
> * remove inherit native
> * add FILES_${PN} for nativesdk package
> * add extra INSANE_SKIP_${PN} due to prebuilt binary package
> 
>  .../gcc-arm-none-eabi_9-2019-q4-major.bb           | 39 ++++++++++++++++++++++
>  1 file changed, 39 insertions(+)
>  create mode 100644 meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_9-2019-q4-major.bb
> 
> diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_9-2019-q4-major.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_9-2019-q4-major.bb
> new file mode 100644
> index 0000000..84f6dba
> --- /dev/null
> +++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi_9-2019-q4-major.bb
> @@ -0,0 +1,39 @@
> +# Copyright (C) 2019 Garmin Ltd. or its subsidiaries
> +# Released under the MIT license (see COPYING.MIT for the terms)
> +
> +SUMMARY = "Baremetal GCC for ARM-R and ARM-M processors"
> +LICENSE = "GPL-3.0-with-GCC-exception & GPLv3"
> +
> +LIC_FILES_CHKSUM = "file://share/doc/gcc-arm-none-eabi/license.txt;md5=c18349634b740b7b95f2c2159af888f5"
> +
> +PROVIDES = "virtual/arm-none-eabi-gcc"
> +
> +SRC_URI = "https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2019q4/${BPN}-${PV}-x86_64-linux.tar.bz2"
> +
> +SRC_URI[md5sum] = "fe0029de4f4ec43cf7008944e34ff8cc"
> +SRC_URI[sha256sum] = "bcd840f839d5bf49279638e9f67890b2ef3a7c9c7a9b25271e83ec4ff41d177a"
> +
> +S = "${WORKDIR}/${BPN}-${PV}"
> +
> +COMPATIBLE_HOST = "x86_64.*-linux"
> +
> +do_install() {
> +    install -d ${D}${datadir}/arm-none-eabi/
> +    cp -r ${S}/. ${D}${datadir}/arm-none-eabi/
> +
> +    install -d ${D}${bindir}
> +    # Symlink all executables into bindir
> +    for f in ${D}${datadir}/arm-none-eabi/bin/arm-none-eabi-*; do
> +        lnr $f ${D}${bindir}/$(basename $f)
> +    done
> +}
> +
> +FILES_${PN} = "${datadir} ${bindir}"
> +
> +INSANE_SKIP_${PN} = "already-stripped libdir staticdev file-rdeps"
> +
> +INHIBIT_SYSROOT_STRIP = "1"
> +INHIBIT_PACKAGE_STRIP = "1"
> +INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
> +
> +BBCLASSEXTEND = "native nativesdk"
> -- 
> 2.7.4
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-05-19 15:19 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-15  1:36 [PATCH v3] arm-toolchain: gcc-arm-none-eabi-native: Add recipe Denys Dmytriyenko
2020-05-15  7:43 ` Diego Sueiro
2020-05-17 12:30   ` [meta-arm] " Khasim Mohammed
     [not found]   ` <160FD0B211B491C0.9570@lists.yoctoproject.org>
2020-05-17 14:43     ` Khasim Mohammed
2020-05-18 20:57       ` Denys Dmytriyenko
2020-05-19 10:39         ` Khasim Mohammed
2020-05-19 15:19 ` Jon Mason

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.