summaryrefslogtreecommitdiffstats
path: root/external/poky/meta/conf/machine/include/powerpc
diff options
context:
space:
mode:
Diffstat (limited to 'external/poky/meta/conf/machine/include/powerpc')
-rw-r--r--external/poky/meta/conf/machine/include/powerpc/arch-powerpc.inc25
-rw-r--r--external/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc15
2 files changed, 33 insertions, 7 deletions
diff --git a/external/poky/meta/conf/machine/include/powerpc/arch-powerpc.inc b/external/poky/meta/conf/machine/include/powerpc/arch-powerpc.inc
index 9cf6b88f..ef18e9ac 100644
--- a/external/poky/meta/conf/machine/include/powerpc/arch-powerpc.inc
+++ b/external/poky/meta/conf/machine/include/powerpc/arch-powerpc.inc
@@ -8,9 +8,15 @@ DEFAULTTUNE ?= "powerpc"
TUNE_PKGARCH = "${TUNE_PKGARCH_tune-${DEFAULTTUNE}}"
ABIEXTENSION ?= ""
+# Endian
+TUNEVALID[bigendian] = "Use PowerPC Big Endian"
+
+TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "bigendian", " -mbig-endian", " -mlittle-endian", d)}"
+
TUNEVALID[m32] = "Power ELF32 standard ABI"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', ' -m32', '', d)}"
-TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', 'powerpc', '', d)}"
+TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'm32', 'powerpc${ENDIAN_SFX}', '', d)}"
+ENDIAN_SFX = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', '', 'le', d)}"
TUNEVALID[fpu-hard] = "Use hardware FPU."
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'fpu-hard', ' -mhard-float', '', d)}"
@@ -22,13 +28,24 @@ TARGET_FPU .= "${@bb.utils.contains('TUNE_FEATURES', 'fpu-soft', 'soft', '', d)}
TUNEVALID[altivec] = "Altivec"
# Basic tune definitions
-AVAILTUNES += "powerpc powerpc-nf"
-TUNE_FEATURES_tune-powerpc-nf = "m32 fpu-soft"
+AVAILTUNES += "powerpc powerpc-nf powerpcle powerpcle-nf"
+
+TUNE_FEATURES_tune-powerpc-nf = "m32 fpu-soft bigendian"
BASE_LIB_tune-powerpc-nf = "lib"
TUNE_PKGARCH_tune-powerpc-nf = "powerpc-nf"
PACKAGE_EXTRA_ARCHS_tune-powerpc-nf = "powerpc-nf"
-TUNE_FEATURES_tune-powerpc = "m32 fpu-hard"
+TUNE_FEATURES_tune-powerpc = "m32 fpu-hard bigendian"
BASE_LIB_tune-powerpc = "lib"
TUNE_PKGARCH_tune-powerpc = "powerpc"
PACKAGE_EXTRA_ARCHS_tune-powerpc = "powerpc"
+
+TUNE_FEATURES_tune-powerpcle-nf = "m32 fpu-soft"
+BASE_LIB_tune-powerpcle-nf = "lib"
+TUNE_PKGARCH_tune-powerpcle-nf = "powerpcle-nf"
+PACKAGE_EXTRA_ARCHS_tune-powerpcle-nf = "powerpcle-nf"
+
+TUNE_FEATURES_tune-powerpcle = "m32 fpu-hard"
+BASE_LIB_tune-powerpcle = "lib"
+TUNE_PKGARCH_tune-powerpcle = "powerpcle"
+PACKAGE_EXTRA_ARCHS_tune-powerpcle = "powerpcle"
diff --git a/external/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc b/external/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc
index f751c6b7..cf5c3ef8 100644
--- a/external/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc
+++ b/external/poky/meta/conf/machine/include/powerpc/arch-powerpc64.inc
@@ -5,13 +5,22 @@ require conf/machine/include/powerpc/arch-powerpc.inc
TUNEVALID[m64] = "Power ELF64 standard ABI"
TUNECONFLICTS[m64] = "m32 nf"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'm64', ' -m64', '', d)}"
-TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', [ 'm64' ], 'powerpc64', '', d)}"
+TUNE_ARCH .= "${@bb.utils.contains('TUNE_FEATURES', [ 'm64' ], 'powerpc64${ENDIAN_SFX}', '', d)}"
+
+# musl only supports elfv2 ABI for ppc64
+TUNE_CCARGS .= "${@['', ' -mabi=elfv2']['libc-musl' in d.getVar('OVERRIDES').split(':')]}"
# user mode qemu doesn't support ppc64
MACHINE_FEATURES_BACKFILL_CONSIDERED_append = " ${@bb.utils.contains('TUNE_FEATURES', 'm64', 'qemu-usermode', '', d)}"
-AVAILTUNES += "powerpc64"
-TUNE_FEATURES_tune-powerpc64 = "m64 fpu-hard"
+AVAILTUNES += "powerpc64 powerpc64le"
+
+TUNE_FEATURES_tune-powerpc64 = "m64 fpu-hard bigendian"
BASE_LIB_tune-powerpc64 = "lib64"
TUNE_PKGARCH_tune-powerpc64 = "powerpc64"
PACKAGE_EXTRA_ARCHS_tune-powerpc64 = "powerpc64"
+
+TUNE_FEATURES_tune-powerpc64le = "m64 fpu-hard"
+BASE_LIB_tune-powerpc64le = "lib64"
+TUNE_PKGARCH_tune-powerpc64le = "powerpc64le"
+PACKAGE_EXTRA_ARCHS_tune-powerpc64le = "powerpc64le"