All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] arm-toolchain: gcc-arm-none-eabi-native: Add recipe
@ 2020-05-14  2:49 Jon Mason
  2020-05-14  4:25 ` [meta-arm] " Denys Dmytriyenko
  2020-05-14  5:03 ` Sumit Garg
  0 siblings, 2 replies; 11+ messages in thread
From: Jon Mason @ 2020-05-14  2:49 UTC (permalink / raw)
  To: meta-arm; +Cc: Joshua Watt

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.

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
---
 ...cc-arm-none-eabi-native_9-2019-q4-major.bb | 37 +++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb

diff --git a/meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb b/meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb
new file mode 100644
index 0000000..a0c832d
--- /dev/null
+++ b/meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb
@@ -0,0 +1,37 @@
+# Copyright (C) 2019 Garmin Ltd. or its subsidaries
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+DESCRIPTION = "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/RC2.1/${BPN}-${PV}-x86_64-linux.tar.bz2"
+
+SRC_URI[md5sum] = "fe0029de4f4ec43cf7008944e34ff8cc"
+SRC_URI[sha256sum] = "bcd840f839d5bf49279638e9f67890b2ef3a7c9c7a9b25271e83ec4ff41d177a"
+
+S = "${WORKDIR}/${BPN}-${PV}"
+
+inherit native
+
+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
+}
+
+INSANE_SKIP_${PN} = "already-stripped"
+
+INHIBIT_SYSROOT_STRIP = "1"
+INHIBIT_PACKAGE_STRIP = "1"
+INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-- 
2.20.1


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

* Re: [meta-arm] [PATCH] arm-toolchain: gcc-arm-none-eabi-native: Add recipe
  2020-05-14  2:49 [PATCH] arm-toolchain: gcc-arm-none-eabi-native: Add recipe Jon Mason
@ 2020-05-14  4:25 ` Denys Dmytriyenko
  2020-05-14  8:10   ` Ross Burton
  2020-05-14 12:31   ` Jon Mason
  2020-05-14  5:03 ` Sumit Garg
  1 sibling, 2 replies; 11+ messages in thread
From: Denys Dmytriyenko @ 2020-05-14  4:25 UTC (permalink / raw)
  To: Jon Mason; +Cc: meta-arm, Joshua Watt

On Wed, May 13, 2020 at 10:49:32PM -0400, Jon Mason wrote:
> 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.
> 
> Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
> Signed-off-by: Jon Mason <jdmason@kudzu.us>
> ---
>  ...cc-arm-none-eabi-native_9-2019-q4-major.bb | 37 +++++++++++++++++++
>  1 file changed, 37 insertions(+)
>  create mode 100644 meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb

Why does it have "major" in the version? I know we (TI) previosuly had 
"update" there, but if we are trying to unify, let's do it properly.

Another issue - one of our recipes had native and nativesdk support. This 
seems to be only native.


> diff --git a/meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb b/meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb
> new file mode 100644
> index 0000000..a0c832d
> --- /dev/null
> +++ b/meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb
> @@ -0,0 +1,37 @@
> +# Copyright (C) 2019 Garmin Ltd. or its subsidaries

Ouch!


> +# Released under the MIT license (see COPYING.MIT for the terms)
> +
> +DESCRIPTION = "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/RC2.1/${BPN}-${PV}-x86_64-linux.tar.bz2"

This doesn't seem like a final release, does it?


> +SRC_URI[md5sum] = "fe0029de4f4ec43cf7008944e34ff8cc"
> +SRC_URI[sha256sum] = "bcd840f839d5bf49279638e9f67890b2ef3a7c9c7a9b25271e83ec4ff41d177a"
> +
> +S = "${WORKDIR}/${BPN}-${PV}"
> +
> +inherit native

BBCLASSEXTEND?


> +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)

What the hell is "lnr"? :) What am I missing?

 
> +    done
> +}
> +
> +INSANE_SKIP_${PN} = "already-stripped"
> +
> +INHIBIT_SYSROOT_STRIP = "1"
> +INHIBIT_PACKAGE_STRIP = "1"
> +INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
> -- 
> 2.20.1
> 

> 


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

* Re: [meta-arm] [PATCH] arm-toolchain: gcc-arm-none-eabi-native: Add recipe
  2020-05-14  2:49 [PATCH] arm-toolchain: gcc-arm-none-eabi-native: Add recipe Jon Mason
  2020-05-14  4:25 ` [meta-arm] " Denys Dmytriyenko
@ 2020-05-14  5:03 ` Sumit Garg
  2020-05-14  7:57   ` khasim.mohammed
  2020-05-14 12:32   ` Jon Mason
  1 sibling, 2 replies; 11+ messages in thread
From: Sumit Garg @ 2020-05-14  5:03 UTC (permalink / raw)
  To: Jon Mason; +Cc: meta-arm, Joshua Watt

Hi Jon,

On Thu, 14 May 2020 at 08:19, Jon Mason <jdmason@kudzu.us> wrote:
>
> 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.
>
> Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
> Signed-off-by: Jon Mason <jdmason@kudzu.us>
> ---
>  ...cc-arm-none-eabi-native_9-2019-q4-major.bb | 37 +++++++++++++++++++
>  1 file changed, 37 insertions(+)
>  create mode 100644 meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb
>
> diff --git a/meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb b/meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb

This recipe seems to install the pre-built (external) GCC tool-set for
Cortex-R and Cortex-M. So I would suggest you to import it under
"meta-arm-toolchain/recipes-devtools/external-arm-toolchain/"
directory rather than "meta-arm-toolchain/recipes-devtools/gcc/"
directory as it is meant for recipes used to build ARM GCC tool-set
from source.

-Sumit

> new file mode 100644
> index 0000000..a0c832d
> --- /dev/null
> +++ b/meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb
> @@ -0,0 +1,37 @@
> +# Copyright (C) 2019 Garmin Ltd. or its subsidaries
> +# Released under the MIT license (see COPYING.MIT for the terms)
> +
> +DESCRIPTION = "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/RC2.1/${BPN}-${PV}-x86_64-linux.tar.bz2"
> +
> +SRC_URI[md5sum] = "fe0029de4f4ec43cf7008944e34ff8cc"
> +SRC_URI[sha256sum] = "bcd840f839d5bf49279638e9f67890b2ef3a7c9c7a9b25271e83ec4ff41d177a"
> +
> +S = "${WORKDIR}/${BPN}-${PV}"
> +
> +inherit native
> +
> +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
> +}
> +
> +INSANE_SKIP_${PN} = "already-stripped"
> +
> +INHIBIT_SYSROOT_STRIP = "1"
> +INHIBIT_PACKAGE_STRIP = "1"
> +INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
> --
> 2.20.1
>
> 

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

* Re: [meta-arm] [PATCH] arm-toolchain: gcc-arm-none-eabi-native: Add recipe
  2020-05-14  5:03 ` Sumit Garg
@ 2020-05-14  7:57   ` khasim.mohammed
  2020-05-14 10:52     ` Sumit Garg
  2020-05-14 12:32   ` Jon Mason
  1 sibling, 1 reply; 11+ messages in thread
From: khasim.mohammed @ 2020-05-14  7:57 UTC (permalink / raw)
  To: Jon Mason, sumit.garg; +Cc: meta-arm, Joshua Watt

[-- Attachment #1: Type: text/plain, Size: 4079 bytes --]

Hi Sumit / all

<replying inline>
________________________________
From: meta-arm@lists.yoctoproject.org <meta-arm@lists.yoctoproject.org> on behalf of Sumit Garg via lists.yoctoproject.org <sumit.garg=linaro.org@lists.yoctoproject.org>
Sent: Thursday, May 14, 2020 10:33 AM
To: Jon Mason <jdmason@kudzu.us>
Cc: meta-arm@lists.yoctoproject.org <meta-arm@lists.yoctoproject.org>; Joshua Watt <JPEWhacker@gmail.com>
Subject: Re: [meta-arm] [PATCH] arm-toolchain: gcc-arm-none-eabi-native: Add recipe

Hi Jon,

On Thu, 14 May 2020 at 08:19, Jon Mason <jdmason@kudzu.us> wrote:
>
> 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.
>
> Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
> Signed-off-by: Jon Mason <jdmason@kudzu.us>
> ---
>  ...cc-arm-none-eabi-native_9-2019-q4-major.bb | 37 +++++++++++++++++++
>  1 file changed, 37 insertions(+)
>  create mode 100644 meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb
>
> diff --git a/meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb b/meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb

> This recipe seems to install the pre-built (external) GCC tool-set for
> Cortex-R and Cortex-M. So I would suggest you to import it under
> "meta-arm-toolchain/recipes-devtools/external-arm-toolchain/"
> directory rather than "meta-arm-toolchain/recipes-devtools/gcc/"
> directory as it is meant for recipes used to build ARM GCC tool-set
> from source.

Isn't the external folder importing meta-linaro which is again building from source ? Please correct me if I am wrong here.

So, should we introduce another folder to differentiate the bb recipes that are pulling prebuilt toolchains released by ARM ?

arm-embedded-gcc-arm-none-eabi  < include bb recipes to fetch ARM prebuilt toolchains>
external-arm-toolchain   <include recipes for toolchains built by third parties>
gcc <include recipes for building toolchain from source >

-Sumit

Regards,
Khasim



> new file mode 100644
> index 0000000..a0c832d
> --- /dev/null
> +++ b/meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb
> @@ -0,0 +1,37 @@
> +# Copyright (C) 2019 Garmin Ltd. or its subsidaries
> +# Released under the MIT license (see COPYING.MIT for the terms)
> +
> +DESCRIPTION = "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/RC2.1/${BPN}-${PV}-x86_64-linux.tar.bz2"
> +
> +SRC_URI[md5sum] = "fe0029de4f4ec43cf7008944e34ff8cc"
> +SRC_URI[sha256sum] = "bcd840f839d5bf49279638e9f67890b2ef3a7c9c7a9b25271e83ec4ff41d177a"
> +
> +S = "${WORKDIR}/${BPN}-${PV}"
> +
> +inherit native
> +
> +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
> +}
> +
> +INSANE_SKIP_${PN} = "already-stripped"
> +
> +INHIBIT_SYSROOT_STRIP = "1"
> +INHIBIT_PACKAGE_STRIP = "1"
> +INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
> --
> 2.20.1
>
>
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.

[-- Attachment #2: Type: text/html, Size: 7044 bytes --]

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

* Re: [meta-arm] [PATCH] arm-toolchain: gcc-arm-none-eabi-native: Add recipe
  2020-05-14  4:25 ` [meta-arm] " Denys Dmytriyenko
@ 2020-05-14  8:10   ` Ross Burton
  2020-05-14 20:03     ` Denys Dmytriyenko
  2020-05-14 12:31   ` Jon Mason
  1 sibling, 1 reply; 11+ messages in thread
From: Ross Burton @ 2020-05-14  8:10 UTC (permalink / raw)
  To: Denys Dmytriyenko; +Cc: Jon Mason, meta-arm, Joshua Watt

On Thu, 14 May 2020 at 05:25, Denys Dmytriyenko <denis@denix.org> wrote:
> What the hell is "lnr"? :) What am I missing?

It's a script in oe-core/scripts that is basically a clone of 'ln
--relative', as it's a really useful feature that isn't available on
some old but supported build hosts.

Old but supported at the time that is, I do wonder if those hosts are
no longer supported.

Ross

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

* Re: [meta-arm] [PATCH] arm-toolchain: gcc-arm-none-eabi-native: Add recipe
  2020-05-14  7:57   ` khasim.mohammed
@ 2020-05-14 10:52     ` Sumit Garg
  0 siblings, 0 replies; 11+ messages in thread
From: Sumit Garg @ 2020-05-14 10:52 UTC (permalink / raw)
  To: Khasim Mohammed; +Cc: Jon Mason, meta-arm, Joshua Watt

Hi Khasim,

On Thu, 14 May 2020 at 13:27, Khasim Mohammed <Khasim.Mohammed@arm.com> wrote:
>
> Hi Sumit / all
>
> <replying inline>
> ________________________________
> From: meta-arm@lists.yoctoproject.org <meta-arm@lists.yoctoproject.org> on behalf of Sumit Garg via lists.yoctoproject.org <sumit.garg=linaro.org@lists.yoctoproject.org>
> Sent: Thursday, May 14, 2020 10:33 AM
> To: Jon Mason <jdmason@kudzu.us>
> Cc: meta-arm@lists.yoctoproject.org <meta-arm@lists.yoctoproject.org>; Joshua Watt <JPEWhacker@gmail.com>
> Subject: Re: [meta-arm] [PATCH] arm-toolchain: gcc-arm-none-eabi-native: Add recipe
>
> Hi Jon,
>
> On Thu, 14 May 2020 at 08:19, Jon Mason <jdmason@kudzu.us> wrote:
> >
> > 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.
> >
> > Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
> > Signed-off-by: Jon Mason <jdmason@kudzu.us>
> > ---
> >  ...cc-arm-none-eabi-native_9-2019-q4-major.bb | 37 +++++++++++++++++++
> >  1 file changed, 37 insertions(+)
> >  create mode 100644 meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb
> >
> > diff --git a/meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb b/meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb
>
> > This recipe seems to install the pre-built (external) GCC tool-set for
> > Cortex-R and Cortex-M. So I would suggest you to import it under
> > "meta-arm-toolchain/recipes-devtools/external-arm-toolchain/"
> > directory rather than "meta-arm-toolchain/recipes-devtools/gcc/"
> > directory as it is meant for recipes used to build ARM GCC tool-set
> > from source.
>
> Isn't the external folder importing meta-linaro which is again building from source ? Please correct me if I am wrong here.

external-arm-toolchain folder is only meant to support prebuilt
toolchains from ARM only. Currently it supports toolchains for
Cortex-A and we can easily extend it to support Cortex-M and Cortex-R.

In case people are interested in using Linaro toolchains then they
should use meta-linaro rather than meta-arm.

>
> So, should we introduce another folder to differentiate the bb recipes that are pulling prebuilt toolchains released by ARM ?

I don't think we need any new folder. But while at it and looking at
various other conversations regarding embed toolchain version
compatibility problems. I would suggest to follow how this has already
been addressed with Cortex-A toolchains. Following is brief
description how prebuilt toolchains are used for Cortex-A:

- A user just downloads a particular version of prebuilt toolset, say
GCC 9.2-2019.12 and simply installs it in "/opt/toolchain/".
- Configures EXTERNAL_TOOLCHAIN=/opt/toolchain/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu/
in local.conf file.

So using the "EXTERNAL_TOOLCHAIN" variable, we don't have to bind the
user to use a particular version of a prebuilt toolchain but the user
is free to choose a prebuilt ARM toolset based on requirement.

I think in similar manner we can depend on "EXTERNAL_EMBED_TOOLCHAIN"
variable to provide embed toolchain path and use that in a common
recipe named "external-arm-embed-toolchain.bb". And relative paths
within this directory are generally fixed which can be used to install
toolchain components to relevant destination folders.

I hope above proposal makes sense and useful.

-Sumit

>
> arm-embedded-gcc-arm-none-eabi  < include bb recipes to fetch ARM prebuilt toolchains>
> external-arm-toolchain   <include recipes for toolchains built by third parties>
> gcc <include recipes for building toolchain from source >
>
> -Sumit
>
> Regards,
> Khasim
>
>
>
> > new file mode 100644
> > index 0000000..a0c832d
> > --- /dev/null
> > +++ b/meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb
> > @@ -0,0 +1,37 @@
> > +# Copyright (C) 2019 Garmin Ltd. or its subsidaries
> > +# Released under the MIT license (see COPYING.MIT for the terms)
> > +
> > +DESCRIPTION = "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/RC2.1/${BPN}-${PV}-x86_64-linux.tar.bz2"
> > +
> > +SRC_URI[md5sum] = "fe0029de4f4ec43cf7008944e34ff8cc"
> > +SRC_URI[sha256sum] = "bcd840f839d5bf49279638e9f67890b2ef3a7c9c7a9b25271e83ec4ff41d177a"
> > +
> > +S = "${WORKDIR}/${BPN}-${PV}"
> > +
> > +inherit native
> > +
> > +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
> > +}
> > +
> > +INSANE_SKIP_${PN} = "already-stripped"
> > +
> > +INHIBIT_SYSROOT_STRIP = "1"
> > +INHIBIT_PACKAGE_STRIP = "1"
> > +INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
> > --
> > 2.20.1
> >
> >
> 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] 11+ messages in thread

* Re: [meta-arm] [PATCH] arm-toolchain: gcc-arm-none-eabi-native: Add recipe
  2020-05-14  4:25 ` [meta-arm] " Denys Dmytriyenko
  2020-05-14  8:10   ` Ross Burton
@ 2020-05-14 12:31   ` Jon Mason
  1 sibling, 0 replies; 11+ messages in thread
From: Jon Mason @ 2020-05-14 12:31 UTC (permalink / raw)
  To: Denys Dmytriyenko; +Cc: meta-arm, Joshua Watt

On Thu, May 14, 2020 at 12:25:13AM -0400, Denys Dmytriyenko wrote:
> On Wed, May 13, 2020 at 10:49:32PM -0400, Jon Mason wrote:
> > 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.
> > 
> > Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
> > Signed-off-by: Jon Mason <jdmason@kudzu.us>
> > ---
> >  ...cc-arm-none-eabi-native_9-2019-q4-major.bb | 37 +++++++++++++++++++
> >  1 file changed, 37 insertions(+)
> >  create mode 100644 meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb
> 
> Why does it have "major" in the version? I know we (TI) previosuly had 
> "update" there, but if we are trying to unify, let's do it properly.
> 
> Another issue - one of our recipes had native and nativesdk support. This 
> seems to be only native.
> 
> 
> > diff --git a/meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb b/meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb
> > new file mode 100644
> > index 0000000..a0c832d
> > --- /dev/null
> > +++ b/meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb
> > @@ -0,0 +1,37 @@
> > +# Copyright (C) 2019 Garmin Ltd. or its subsidaries
> 
> Ouch!

This is a 100% copy of what is in meta-rockchip.  See
https://git.yoctoproject.org/cgit/cgit.cgi/meta-rockchip/tree/recipes-devtools/gcc-arm-none-eabi/gcc-arm-none-eabi-native_9-2019-q4-major.bb

So, they should get the credit for actually doing the work.  I'll
modify to incorporate the suggestions, assuming JPEW is in agreement.

> 
> 
> > +# Released under the MIT license (see COPYING.MIT for the terms)
> > +
> > +DESCRIPTION = "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/RC2.1/${BPN}-${PV}-x86_64-linux.tar.bz2"
> 
> This doesn't seem like a final release, does it?

Looks like it should be (based on the website)
https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2019q4/gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux.tar.bz2

I'll come out with a v2 shortly.  Thanks for the feedback.

Thanks,
Jon


> 
> 
> > +SRC_URI[md5sum] = "fe0029de4f4ec43cf7008944e34ff8cc"
> > +SRC_URI[sha256sum] = "bcd840f839d5bf49279638e9f67890b2ef3a7c9c7a9b25271e83ec4ff41d177a"
> > +
> > +S = "${WORKDIR}/${BPN}-${PV}"
> > +
> > +inherit native
> 
> BBCLASSEXTEND?
> 
> 
> > +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)
> 
> What the hell is "lnr"? :) What am I missing?
> 
>  
> > +    done
> > +}
> > +
> > +INSANE_SKIP_${PN} = "already-stripped"
> > +
> > +INHIBIT_SYSROOT_STRIP = "1"
> > +INHIBIT_PACKAGE_STRIP = "1"
> > +INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
> > -- 
> > 2.20.1
> > 
> 
> > 
> 

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

* Re: [meta-arm] [PATCH] arm-toolchain: gcc-arm-none-eabi-native: Add recipe
  2020-05-14  5:03 ` Sumit Garg
  2020-05-14  7:57   ` khasim.mohammed
@ 2020-05-14 12:32   ` Jon Mason
  1 sibling, 0 replies; 11+ messages in thread
From: Jon Mason @ 2020-05-14 12:32 UTC (permalink / raw)
  To: Sumit Garg; +Cc: meta-arm, Joshua Watt

On Thu, May 14, 2020 at 10:33:58AM +0530, Sumit Garg wrote:
> Hi Jon,
> 
> On Thu, 14 May 2020 at 08:19, Jon Mason <jdmason@kudzu.us> wrote:
> >
> > 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.
> >
> > Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
> > Signed-off-by: Jon Mason <jdmason@kudzu.us>
> > ---
> >  ...cc-arm-none-eabi-native_9-2019-q4-major.bb | 37 +++++++++++++++++++
> >  1 file changed, 37 insertions(+)
> >  create mode 100644 meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb
> >
> > diff --git a/meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb b/meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb
> 
> This recipe seems to install the pre-built (external) GCC tool-set for
> Cortex-R and Cortex-M. So I would suggest you to import it under
> "meta-arm-toolchain/recipes-devtools/external-arm-toolchain/"
> directory rather than "meta-arm-toolchain/recipes-devtools/gcc/"
> directory as it is meant for recipes used to build ARM GCC tool-set
> from source.

Will move to the suggested location in v2.

Thanks,
Jon

> 
> -Sumit
> 
> > new file mode 100644
> > index 0000000..a0c832d
> > --- /dev/null
> > +++ b/meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-none-eabi-native_9-2019-q4-major.bb
> > @@ -0,0 +1,37 @@
> > +# Copyright (C) 2019 Garmin Ltd. or its subsidaries
> > +# Released under the MIT license (see COPYING.MIT for the terms)
> > +
> > +DESCRIPTION = "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/RC2.1/${BPN}-${PV}-x86_64-linux.tar.bz2"
> > +
> > +SRC_URI[md5sum] = "fe0029de4f4ec43cf7008944e34ff8cc"
> > +SRC_URI[sha256sum] = "bcd840f839d5bf49279638e9f67890b2ef3a7c9c7a9b25271e83ec4ff41d177a"
> > +
> > +S = "${WORKDIR}/${BPN}-${PV}"
> > +
> > +inherit native
> > +
> > +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
> > +}
> > +
> > +INSANE_SKIP_${PN} = "already-stripped"
> > +
> > +INHIBIT_SYSROOT_STRIP = "1"
> > +INHIBIT_PACKAGE_STRIP = "1"
> > +INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
> > --
> > 2.20.1
> >
> > 

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

* Re: [meta-arm] [PATCH] arm-toolchain: gcc-arm-none-eabi-native: Add recipe
  2020-05-14  8:10   ` Ross Burton
@ 2020-05-14 20:03     ` Denys Dmytriyenko
  0 siblings, 0 replies; 11+ messages in thread
From: Denys Dmytriyenko @ 2020-05-14 20:03 UTC (permalink / raw)
  To: Ross Burton; +Cc: Jon Mason, meta-arm, Joshua Watt

On Thu, May 14, 2020 at 09:10:33AM +0100, Ross Burton wrote:
> On Thu, 14 May 2020 at 05:25, Denys Dmytriyenko <denis@denix.org> wrote:
> > What the hell is "lnr"? :) What am I missing?
> 
> It's a script in oe-core/scripts that is basically a clone of 'ln
> --relative', as it's a really useful feature that isn't available on
> some old but supported build hosts.
> 
> Old but supported at the time that is, I do wonder if those hosts are
> no longer supported.

Ah, interesting! Thanks for the info!

-- 
Denys

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

* Re: [meta-arm] [PATCH] arm-toolchain: gcc-arm-none-eabi-native: Add recipe
       [not found] ` <160F0CF2407B1172.6323@lists.yoctoproject.org>
@ 2020-05-15  1:35   ` Denys Dmytriyenko
  0 siblings, 0 replies; 11+ messages in thread
From: Denys Dmytriyenko @ 2020-05-15  1:35 UTC (permalink / raw)
  To: Jon Mason; +Cc: meta-arm, Joshua Watt

On Thu, May 14, 2020 at 08:43:44PM -0400, Denys Dmytriyenko wrote:
> On Thu, May 14, 2020 at 10:06:46AM -0400, Jon Mason wrote:
> > 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.

There were couple more issues, so I ended up fixing those myself and 
build-testing the recipe - sending v3 now.


> > Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
> > Signed-off-by: Jon Mason <jdmason@kudzu.us>
> > ---
> >  ...cc-arm-none-eabi-native_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-native_9-2019-q4-major.bb
> > 
> > diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi-native_9-2019-q4-major.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi-native_9-2019-q4-major.bb
> > new file mode 100644
> > index 0000000..f1c0cff
> > --- /dev/null
> > +++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi-native_9-2019-q4-major.bb
> > @@ -0,0 +1,39 @@
> > +# Copyright (C) 2019 Garmin Ltd. or its subsidaries
> > +# Released under the MIT license (see COPYING.MIT for the terms)
> > +
> > +DESCRIPTION = "Baremetal GCC for ARM-R and ARM-M processors"
> 
> Should this be SUMMARY?
> 
> 
> > +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}"
> > +
> > +inherit native
> 
> Is this needed with BBCLASSEXTEND?
> 
> 
> > +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
> > +}
> > +
> > +INSANE_SKIP_${PN} = "already-stripped"
> 
> Requires FILES_${PN}, since this can now be a proper nativesdk package.
> Also, probably will need more INSANE_SKIP for nativesdk package as well...
> 
> 
> > +INHIBIT_SYSROOT_STRIP = "1"
> > +INHIBIT_PACKAGE_STRIP = "1"
> > +INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
> > +
> > +BBCLASSEXTEND = "native nativesdk"
> > -- 
> > 2.20.1
> > 
> 
> > 
> 

> 


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

* Re: [meta-arm] [PATCH] arm-toolchain: gcc-arm-none-eabi-native: Add recipe
  2020-05-14 14:06 Jon Mason
@ 2020-05-15  0:43 ` Denys Dmytriyenko
       [not found] ` <160F0CF2407B1172.6323@lists.yoctoproject.org>
  1 sibling, 0 replies; 11+ messages in thread
From: Denys Dmytriyenko @ 2020-05-15  0:43 UTC (permalink / raw)
  To: Jon Mason; +Cc: meta-arm, Joshua Watt

On Thu, May 14, 2020 at 10:06:46AM -0400, Jon Mason wrote:
> 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>
> ---
>  ...cc-arm-none-eabi-native_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-native_9-2019-q4-major.bb
> 
> diff --git a/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi-native_9-2019-q4-major.bb b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi-native_9-2019-q4-major.bb
> new file mode 100644
> index 0000000..f1c0cff
> --- /dev/null
> +++ b/meta-arm-toolchain/recipes-devtools/external-arm-toolchain/gcc-arm-none-eabi-native_9-2019-q4-major.bb
> @@ -0,0 +1,39 @@
> +# Copyright (C) 2019 Garmin Ltd. or its subsidaries
> +# Released under the MIT license (see COPYING.MIT for the terms)
> +
> +DESCRIPTION = "Baremetal GCC for ARM-R and ARM-M processors"

Should this be SUMMARY?


> +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}"
> +
> +inherit native

Is this needed with BBCLASSEXTEND?


> +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
> +}
> +
> +INSANE_SKIP_${PN} = "already-stripped"

Requires FILES_${PN}, since this can now be a proper nativesdk package.
Also, probably will need more INSANE_SKIP for nativesdk package as well...


> +INHIBIT_SYSROOT_STRIP = "1"
> +INHIBIT_PACKAGE_STRIP = "1"
> +INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
> +
> +BBCLASSEXTEND = "native nativesdk"
> -- 
> 2.20.1
> 

> 


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

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

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-14  2:49 [PATCH] arm-toolchain: gcc-arm-none-eabi-native: Add recipe Jon Mason
2020-05-14  4:25 ` [meta-arm] " Denys Dmytriyenko
2020-05-14  8:10   ` Ross Burton
2020-05-14 20:03     ` Denys Dmytriyenko
2020-05-14 12:31   ` Jon Mason
2020-05-14  5:03 ` Sumit Garg
2020-05-14  7:57   ` khasim.mohammed
2020-05-14 10:52     ` Sumit Garg
2020-05-14 12:32   ` Jon Mason
2020-05-14 14:06 Jon Mason
2020-05-15  0:43 ` [meta-arm] " Denys Dmytriyenko
     [not found] ` <160F0CF2407B1172.6323@lists.yoctoproject.org>
2020-05-15  1:35   ` Denys Dmytriyenko

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.