summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2020-01-18 11:41:18 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-01-19 23:49:15 +0000
commitb9c73fb6d1afb3367d871a3d6bf7d0d6a53968a9 (patch)
tree130924e39fbfca8d5fea82ea2ad284cde435af47 /meta
parentbdbb9b7549a8cb2934705f5803294b941ab04421 (diff)
downloadopenembedded-core-contrib-b9c73fb6d1afb3367d871a3d6bf7d0d6a53968a9.tar.gz
classes, conf, lib: Add support for powerpc64le
LE is default for modern powerpc64, power8+ PowerPC64 Little Endian Linux ABI specifies Power8 as the minimum ISA. The basic ABI can run on earlier versions of the 64 bit PowerPC ISA, but it was helpful to define a new, minimum instruction set for Linux distribution releases during the switch to Little Endian. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/libc-package.bbclass1
-rw-r--r--meta/classes/meson.bbclass2
-rw-r--r--meta/conf/bitbake.conf1
-rw-r--r--meta/lib/oe/elf.py2
-rw-r--r--meta/lib/oe/package_manager.py1
5 files changed, 6 insertions, 1 deletions
diff --git a/meta/classes/libc-package.bbclass b/meta/classes/libc-package.bbclass
index de816bcec1d..de3b4250c71 100644
--- a/meta/classes/libc-package.bbclass
+++ b/meta/classes/libc-package.bbclass
@@ -248,6 +248,7 @@ python package_do_split_gconvs () {
"sh4": " --uint32-align=4 --big-endian ", \
"powerpc": " --uint32-align=4 --big-endian ", \
"powerpc64": " --uint32-align=4 --big-endian ", \
+ "powerpc64le": " --uint32-align=4 --little-endian ", \
"mips": " --uint32-align=4 --big-endian ", \
"mipsisa32r6": " --uint32-align=4 --big-endian ", \
"mips64": " --uint32-align=4 --big-endian ", \
diff --git a/meta/classes/meson.bbclass b/meta/classes/meson.bbclass
index 71f9de1a570..1ef34a999c8 100644
--- a/meta/classes/meson.bbclass
+++ b/meta/classes/meson.bbclass
@@ -45,7 +45,7 @@ def meson_cpu_family(var, d):
arch = d.getVar(var)
if arch == 'powerpc':
return 'ppc'
- elif arch == 'powerpc64':
+ elif arch == 'powerpc64' or arch == 'powerpc64le':
return 'ppc64'
elif arch == 'armeb':
return 'arm'
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 8c44f277516..ce89b80aded 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -11,6 +11,7 @@ baselib = "${BASELIB}"
baselib[vardepvalue] = "${baselib}"
BASELIB = "lib"
BASELIB_powerpc64 = "lib64"
+BASELIB_powerpc64le = "lib64"
# Path prefixes
export base_prefix = ""
diff --git a/meta/lib/oe/elf.py b/meta/lib/oe/elf.py
index 2562cea1dd1..43c962c697d 100644
--- a/meta/lib/oe/elf.py
+++ b/meta/lib/oe/elf.py
@@ -34,6 +34,7 @@ def machine_dict(d):
"armeb": (40, 97, 0, False, 32),
"powerpc": (20, 0, 0, False, 32),
"powerpc64": (21, 0, 0, False, 64),
+ "powerpc64le": (21, 0, 0, True, 64),
"i386": ( 3, 0, 0, True, 32),
"i486": ( 3, 0, 0, True, 32),
"i586": ( 3, 0, 0, True, 32),
@@ -68,6 +69,7 @@ def machine_dict(d):
"armeb": ( 40, 97, 0, False, 32),
"powerpc": ( 20, 0, 0, False, 32),
"powerpc64": ( 21, 0, 0, False, 64),
+ "powerpc64le": (21, 0, 0, True, 64),
"i386": ( 3, 0, 0, True, 32),
"i486": ( 3, 0, 0, True, 32),
"i586": ( 3, 0, 0, True, 32),
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index e15e3c4a315..e96c28b46d0 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -107,6 +107,7 @@ def generate_locale_archive(d, rootfs, target_arch, localedir):
"sh4": ["--uint32-align=4", "--big-endian"],
"powerpc": ["--uint32-align=4", "--big-endian"],
"powerpc64": ["--uint32-align=4", "--big-endian"],
+ "powerpc64le": ["--uint32-align=4", "--little-endian"],
"mips": ["--uint32-align=4", "--big-endian"],
"mipsisa32r6": ["--uint32-align=4", "--big-endian"],
"mips64": ["--uint32-align=4", "--big-endian"],