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" | ||