summaryrefslogtreecommitdiffstats
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:39 +0000
commitbf2b73e1f38826709ba6014ecabc45c01c70bd22 (patch)
tree88b1e71cb5e7679a3ed7f552a8ef72b1f0f441b3
parent1b1a533133e68b1850cd4194d51b53e819fa9183 (diff)
downloadpoky-bf2b73e1f38826709ba6014ecabc45c01c70bd22.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. (From OE-Core rev: b9c73fb6d1afb3367d871a3d6bf7d0d6a53968a9) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-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 de816bcec1..de3b4250c7 100644
--- a/meta/classes/libc-package.bbclass
+++ b/meta/classes/libc-package.bbclass
@@ -248,6 +248,7 @@ python package_do_split_gconvs () {
248 "sh4": " --uint32-align=4 --big-endian ", \ 248 "sh4": " --uint32-align=4 --big-endian ", \
249 "powerpc": " --uint32-align=4 --big-endian ", \ 249 "powerpc": " --uint32-align=4 --big-endian ", \
250 "powerpc64": " --uint32-align=4 --big-endian ", \ 250 "powerpc64": " --uint32-align=4 --big-endian ", \
251 "powerpc64le": " --uint32-align=4 --little-endian ", \
251 "mips": " --uint32-align=4 --big-endian ", \ 252 "mips": " --uint32-align=4 --big-endian ", \
252 "mipsisa32r6": " --uint32-align=4 --big-endian ", \ 253 "mipsisa32r6": " --uint32-align=4 --big-endian ", \
253 "mips64": " --uint32-align=4 --big-endian ", \ 254 "mips64": " --uint32-align=4 --big-endian ", \
diff --git a/meta/classes/meson.bbclass b/meta/classes/meson.bbclass
index 71f9de1a57..1ef34a999c 100644
--- a/meta/classes/meson.bbclass
+++ b/meta/classes/meson.bbclass
@@ -45,7 +45,7 @@ def meson_cpu_family(var, d):
45 arch = d.getVar(var) 45 arch = d.getVar(var)
46 if arch == 'powerpc': 46 if arch == 'powerpc':
47 return 'ppc' 47 return 'ppc'
48 elif arch == 'powerpc64': 48 elif arch == 'powerpc64' or arch == 'powerpc64le':
49 return 'ppc64' 49 return 'ppc64'
50 elif arch == 'armeb': 50 elif arch == 'armeb':
51 return 'arm' 51 return 'arm'
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 8c44f27751..ce89b80ade 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -11,6 +11,7 @@ baselib = "${BASELIB}"
11baselib[vardepvalue] = "${baselib}" 11baselib[vardepvalue] = "${baselib}"
12BASELIB = "lib" 12BASELIB = "lib"
13BASELIB_powerpc64 = "lib64" 13BASELIB_powerpc64 = "lib64"
14BASELIB_powerpc64le = "lib64"
14 15
15# Path prefixes 16# Path prefixes
16export base_prefix = "" 17export base_prefix = ""
diff --git a/meta/lib/oe/elf.py b/meta/lib/oe/elf.py
index 2562cea1dd..43c962c697 100644
--- a/meta/lib/oe/elf.py
+++ b/meta/lib/oe/elf.py
@@ -34,6 +34,7 @@ def machine_dict(d):
34 "armeb": (40, 97, 0, False, 32), 34 "armeb": (40, 97, 0, False, 32),
35 "powerpc": (20, 0, 0, False, 32), 35 "powerpc": (20, 0, 0, False, 32),
36 "powerpc64": (21, 0, 0, False, 64), 36 "powerpc64": (21, 0, 0, False, 64),
37 "powerpc64le": (21, 0, 0, True, 64),
37 "i386": ( 3, 0, 0, True, 32), 38 "i386": ( 3, 0, 0, True, 32),
38 "i486": ( 3, 0, 0, True, 32), 39 "i486": ( 3, 0, 0, True, 32),
39 "i586": ( 3, 0, 0, True, 32), 40 "i586": ( 3, 0, 0, True, 32),
@@ -68,6 +69,7 @@ def machine_dict(d):
68 "armeb": ( 40, 97, 0, False, 32), 69 "armeb": ( 40, 97, 0, False, 32),
69 "powerpc": ( 20, 0, 0, False, 32), 70 "powerpc": ( 20, 0, 0, False, 32),
70 "powerpc64": ( 21, 0, 0, False, 64), 71 "powerpc64": ( 21, 0, 0, False, 64),
72 "powerpc64le": (21, 0, 0, True, 64),
71 "i386": ( 3, 0, 0, True, 32), 73 "i386": ( 3, 0, 0, True, 32),
72 "i486": ( 3, 0, 0, True, 32), 74 "i486": ( 3, 0, 0, True, 32),
73 "i586": ( 3, 0, 0, True, 32), 75 "i586": ( 3, 0, 0, True, 32),
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index e15e3c4a31..e96c28b46d 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):
107 "sh4": ["--uint32-align=4", "--big-endian"], 107 "sh4": ["--uint32-align=4", "--big-endian"],
108 "powerpc": ["--uint32-align=4", "--big-endian"], 108 "powerpc": ["--uint32-align=4", "--big-endian"],
109 "powerpc64": ["--uint32-align=4", "--big-endian"], 109 "powerpc64": ["--uint32-align=4", "--big-endian"],
110 "powerpc64le": ["--uint32-align=4", "--little-endian"],
110 "mips": ["--uint32-align=4", "--big-endian"], 111 "mips": ["--uint32-align=4", "--big-endian"],
111 "mipsisa32r6": ["--uint32-align=4", "--big-endian"], 112 "mipsisa32r6": ["--uint32-align=4", "--big-endian"],
112 "mips64": ["--uint32-align=4", "--big-endian"], 113 "mips64": ["--uint32-align=4", "--big-endian"],