diff options
| author | Khem Raj <raj.khem@gmail.com> | 2019-08-30 22:23:11 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-09-03 09:55:50 +0100 |
| commit | 2bdb7ad8403c77804e6ebeb4f31b0c2aa75f9650 (patch) | |
| tree | ba965780a3808881e551eca68c74ad3cafad1a90 /meta/conf/machine/include/powerpc | |
| parent | c89b16aa09ce19a2d52cb2a594dcdfe15a335a36 (diff) | |
| download | poky-2bdb7ad8403c77804e6ebeb4f31b0c2aa75f9650.tar.gz | |
powerpc-tunes: Introduce bigendian tune
This helps in defining LE tunes and at the same time specifies
endianness on compiler cmdline clearly, clang e.g. defaults to
little-endian always, so unless specified with -mbig-endian won't
compile the code right
(From OE-Core rev: e0fd699d398f0e88fb208970dea7b74e6e9431fe)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/conf/machine/include/powerpc')
| -rw-r--r-- | meta/conf/machine/include/powerpc/arch-powerpc.inc | 22 | ||||
| -rw-r--r-- | meta/conf/machine/include/powerpc/arch-powerpc64.inc | 10 |
2 files changed, 27 insertions, 5 deletions
diff --git a/meta/conf/machine/include/powerpc/arch-powerpc.inc b/meta/conf/machine/include/powerpc/arch-powerpc.inc index 9cf6b88fd1..8c0c943044 100644 --- a/meta/conf/machine/include/powerpc/arch-powerpc.inc +++ b/meta/conf/machine/include/powerpc/arch-powerpc.inc | |||
| @@ -8,6 +8,11 @@ DEFAULTTUNE ?= "powerpc" | |||
| 8 | TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" | 8 | TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" |
| 9 | ABIEXTENSION ?= "" | 9 | ABIEXTENSION ?= "" |
| 10 | 10 | ||
| 11 | # Endian | ||
| 12 | TUNEVALID[bigendian] = "Use PowerPC Big Endian" | ||
| 13 | |||
| 14 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "bigendian", " -mbig-endian", " -mlittle-endian", d)}" | ||
| 15 | |||
| 11 | TUNEVALID[m32] = "Power ELF32 standard ABI" | 16 | TUNEVALID[m32] = "Power ELF32 standard ABI" |
| 12 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', ' -m32', '', d)}" | 17 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', ' -m32', '', d)}" |
| 13 | TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', 'powerpc', '', d)}" | 18 | TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', 'powerpc', '', d)}" |
| @@ -22,13 +27,24 @@ TARGET_FPU .= "${@bb.utils.contains('TUNE_FEATURES', 'fpu-soft', 'soft', '', d)} | |||
| 22 | TUNEVALID[altivec] = "Altivec" | 27 | TUNEVALID[altivec] = "Altivec" |
| 23 | 28 | ||
| 24 | # Basic tune definitions | 29 | # Basic tune definitions |
| 25 | AVAILTUNES += "powerpc powerpc-nf" | 30 | AVAILTUNES += "powerpc powerpc-nf powerpcle powerpcle-nf" |
| 26 | TUNE_FEATURES_tune-powerpc-nf = "m32 fpu-soft" | 31 | |
| 32 | TUNE_FEATURES_tune-powerpc-nf = "m32 fpu-soft bigendian" | ||
| 27 | BASE_LIB_tune-powerpc-nf = "lib" | 33 | BASE_LIB_tune-powerpc-nf = "lib" |
| 28 | TUNE_PKGARCH_tune-powerpc-nf = "powerpc-nf" | 34 | TUNE_PKGARCH_tune-powerpc-nf = "powerpc-nf" |
| 29 | PACKAGE_EXTRA_ARCHS_tune-powerpc-nf = "powerpc-nf" | 35 | PACKAGE_EXTRA_ARCHS_tune-powerpc-nf = "powerpc-nf" |
| 30 | 36 | ||
| 31 | TUNE_FEATURES_tune-powerpc = "m32 fpu-hard" | 37 | TUNE_FEATURES_tune-powerpc = "m32 fpu-hard bigendian" |
| 32 | BASE_LIB_tune-powerpc = "lib" | 38 | BASE_LIB_tune-powerpc = "lib" |
| 33 | TUNE_PKGARCH_tune-powerpc = "powerpc" | 39 | TUNE_PKGARCH_tune-powerpc = "powerpc" |
| 34 | PACKAGE_EXTRA_ARCHS_tune-powerpc = "powerpc" | 40 | PACKAGE_EXTRA_ARCHS_tune-powerpc = "powerpc" |
| 41 | |||
| 42 | TUNE_FEATURES_tune-powerpcle-nf = "m32 fpu-soft" | ||
| 43 | BASE_LIB_tune-powerpcle-nf = "lib" | ||
| 44 | TUNE_PKGARCH_tune-powerpcle-nf = "powerpcle-nf" | ||
| 45 | PACKAGE_EXTRA_ARCHS_tune-powerpcle-nf = "powerpcle-nf" | ||
| 46 | |||
| 47 | TUNE_FEATURES_tune-powerpcle = "m32 fpu-hard" | ||
| 48 | BASE_LIB_tune-powerpcle = "lib" | ||
| 49 | TUNE_PKGARCH_tune-powerpcle = "powerpcle" | ||
| 50 | PACKAGE_EXTRA_ARCHS_tune-powerpcle = "powerpcle" | ||
diff --git a/meta/conf/machine/include/powerpc/arch-powerpc64.inc b/meta/conf/machine/include/powerpc/arch-powerpc64.inc index d9916d43da..4bc5983087 100644 --- a/meta/conf/machine/include/powerpc/arch-powerpc64.inc +++ b/meta/conf/machine/include/powerpc/arch-powerpc64.inc | |||
| @@ -13,8 +13,14 @@ TUNE_CCARGS .= "${@['', ' -mabi=elfv2']['libc-musl' in d.getVar('OVERRIDES').spl | |||
| 13 | # user mode qemu doesn't support ppc64 | 13 | # user mode qemu doesn't support ppc64 |
| 14 | MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'qemu-usermode', '', d)}" | 14 | MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'qemu-usermode', '', d)}" |
| 15 | 15 | ||
| 16 | AVAILTUNES += "powerpc64" | 16 | AVAILTUNES += "powerpc64 powerpc64le" |
| 17 | TUNE_FEATURES_tune-powerpc64 = "m64 fpu-hard" | 17 | |
| 18 | TUNE_FEATURES_tune-powerpc64 = "m64 fpu-hard bigendian" | ||
| 18 | BASE_LIB_tune-powerpc64 = "lib64" | 19 | BASE_LIB_tune-powerpc64 = "lib64" |
| 19 | TUNE_PKGARCH_tune-powerpc64 = "powerpc64" | 20 | TUNE_PKGARCH_tune-powerpc64 = "powerpc64" |
| 20 | PACKAGE_EXTRA_ARCHS_tune-powerpc64 = "powerpc64" | 21 | PACKAGE_EXTRA_ARCHS_tune-powerpc64 = "powerpc64" |
| 22 | |||
| 23 | TUNE_FEATURES_tune-powerpc64le = "m64 fpu-hard" | ||
| 24 | BASE_LIB_tune-powerpc64le = "lib64" | ||
| 25 | TUNE_PKGARCH_tune-powerpc64le = "powerpc64le" | ||
| 26 | PACKAGE_EXTRA_ARCHS_tune-powerpc64le = "powerpc64le" | ||
