summaryrefslogtreecommitdiffstats
path: root/meta/conf/machine/include/powerpc
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2019-08-30 22:23:11 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-09-03 09:55:50 +0100
commit2bdb7ad8403c77804e6ebeb4f31b0c2aa75f9650 (patch)
treeba965780a3808881e551eca68c74ad3cafad1a90 /meta/conf/machine/include/powerpc
parentc89b16aa09ce19a2d52cb2a594dcdfe15a335a36 (diff)
downloadpoky-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.inc22
-rw-r--r--meta/conf/machine/include/powerpc/arch-powerpc64.inc10
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"
8TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}" 8TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
9ABIEXTENSION ?= "" 9ABIEXTENSION ?= ""
10 10
11# Endian
12TUNEVALID[bigendian] = "Use PowerPC Big Endian"
13
14TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "bigendian", " -mbig-endian", " -mlittle-endian", d)}"
15
11TUNEVALID[m32] = "Power ELF32 standard ABI" 16TUNEVALID[m32] = "Power ELF32 standard ABI"
12TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', ' -m32', '', d)}" 17TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', ' -m32', '', d)}"
13TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', 'powerpc', '', d)}" 18TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', 'powerpc', '', d)}"
@@ -22,13 +27,24 @@ TARGET_FPU .= "${@bb.utils.contains('TUNE_FEATURES', 'fpu-soft', 'soft', '', d)}
22TUNEVALID[altivec] = "Altivec" 27TUNEVALID[altivec] = "Altivec"
23 28
24# Basic tune definitions 29# Basic tune definitions
25AVAILTUNES += "powerpc powerpc-nf" 30AVAILTUNES += "powerpc powerpc-nf powerpcle powerpcle-nf"
26TUNE_FEATURES_tune-powerpc-nf = "m32 fpu-soft" 31
32TUNE_FEATURES_tune-powerpc-nf = "m32 fpu-soft bigendian"
27BASE_LIB_tune-powerpc-nf = "lib" 33BASE_LIB_tune-powerpc-nf = "lib"
28TUNE_PKGARCH_tune-powerpc-nf = "powerpc-nf" 34TUNE_PKGARCH_tune-powerpc-nf = "powerpc-nf"
29PACKAGE_EXTRA_ARCHS_tune-powerpc-nf = "powerpc-nf" 35PACKAGE_EXTRA_ARCHS_tune-powerpc-nf = "powerpc-nf"
30 36
31TUNE_FEATURES_tune-powerpc = "m32 fpu-hard" 37TUNE_FEATURES_tune-powerpc = "m32 fpu-hard bigendian"
32BASE_LIB_tune-powerpc = "lib" 38BASE_LIB_tune-powerpc = "lib"
33TUNE_PKGARCH_tune-powerpc = "powerpc" 39TUNE_PKGARCH_tune-powerpc = "powerpc"
34PACKAGE_EXTRA_ARCHS_tune-powerpc = "powerpc" 40PACKAGE_EXTRA_ARCHS_tune-powerpc = "powerpc"
41
42TUNE_FEATURES_tune-powerpcle-nf = "m32 fpu-soft"
43BASE_LIB_tune-powerpcle-nf = "lib"
44TUNE_PKGARCH_tune-powerpcle-nf = "powerpcle-nf"
45PACKAGE_EXTRA_ARCHS_tune-powerpcle-nf = "powerpcle-nf"
46
47TUNE_FEATURES_tune-powerpcle = "m32 fpu-hard"
48BASE_LIB_tune-powerpcle = "lib"
49TUNE_PKGARCH_tune-powerpcle = "powerpcle"
50PACKAGE_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
14MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'qemu-usermode', '', d)}" 14MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'qemu-usermode', '', d)}"
15 15
16AVAILTUNES += "powerpc64" 16AVAILTUNES += "powerpc64 powerpc64le"
17TUNE_FEATURES_tune-powerpc64 = "m64 fpu-hard" 17
18TUNE_FEATURES_tune-powerpc64 = "m64 fpu-hard bigendian"
18BASE_LIB_tune-powerpc64 = "lib64" 19BASE_LIB_tune-powerpc64 = "lib64"
19TUNE_PKGARCH_tune-powerpc64 = "powerpc64" 20TUNE_PKGARCH_tune-powerpc64 = "powerpc64"
20PACKAGE_EXTRA_ARCHS_tune-powerpc64 = "powerpc64" 21PACKAGE_EXTRA_ARCHS_tune-powerpc64 = "powerpc64"
22
23TUNE_FEATURES_tune-powerpc64le = "m64 fpu-hard"
24BASE_LIB_tune-powerpc64le = "lib64"
25TUNE_PKGARCH_tune-powerpc64le = "powerpc64le"
26PACKAGE_EXTRA_ARCHS_tune-powerpc64le = "powerpc64le"