[OE-core] [meta-oe][PATCH v2] insane.bbclass: Added Epiphany machine definitions

Nathan Rossi nathan at nathanrossi.com
Mon Mar 30 02:11:55 UTC 2015


On Mon, Mar 30, 2015 at 5:17 AM, Peter Saunderson <peteasa at gmail.com> wrote:
>

You have [meta-oe] in your subject, I believe you are after just
oe-core with this patch correct?

> Adding machine definitions for the epiphany (http://www.adapteva.com/) chip.
> using https://github.com/adapteva/epiphany-binutils-gdb.
> For binutils implementation that defines TARGET_ARCH MACHINE "epiphany": 4643 See https://github.com/adapteva/epiphany-binutils-gdb/blob/epiphany-binutils-2.24/bfd/elf32-epiphany.c

Epiphany is in upstream binutils with the matching ID,
https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=include/elf/common.h;h=25cfef2d6b1ae8e3f976f1e55576d0fbaff79027;hb=HEAD#l408

> For example layer that uses these defines see https://github.com/peteasa/meta-epiphany.git
>
> Epiphany cross compile is confused by package_qa_check_arch so this check is also skipped.
> ---
>  meta/classes/insane.bbclass | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
> index c6dea22..9cdb382 100644
> --- a/meta/classes/insane.bbclass
> +++ b/meta/classes/insane.bbclass
> @@ -52,6 +52,9 @@ def package_qa_get_machine_dict():
>              "darwin9" : {
>                          "arm" :       (40,     0,    0,          True,          32),
>                        },
> +            "e-os" :  {

I assume 'e-os' is short hand for 'epiphany-os'?

Is there are reason for using e-os? I noticed in your layer that your
toolchains are actually target os 'elf' (e.g. epiphany-elf-gcc), in
which case it should be 'elf' that goes into the TARGET_OS variable.
This might be the reason for the issues that you see when compiling?

Regards,
Nathan

> +                        "epiphany":   ( 4643,  0,    0,          True,          32),
> +                      },
>              "linux" : {
>                          "aarch64" :   (183,    0,    0,          True,          64),
>                          "aarch64_be" :(183,    0,    0,          False,         64),
> @@ -445,6 +448,10 @@ def package_qa_check_arch(path,name,d, elf, messages):
>      provides = d.getVar('PROVIDES', True)
>      bpn = d.getVar('BPN', True)
>
> +    # FIXME: epiphany cross compile confuses this check
> +    if (target_os == 'e-os'):
> +        return
> +
>      # FIXME: Cross package confuse this check, so just skip them
>      for s in ['cross', 'nativesdk', 'cross-canadian']:
>          if bb.data.inherits_class(s, d):
> --
> 2.1.0
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list