summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass')
-rw-r--r--eclass/Manifest.gzbin37514 -> 37515 bytes
-rw-r--r--eclass/go-module.eclass2
-rw-r--r--eclass/toolchain-funcs.eclass7
3 files changed, 8 insertions, 1 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz
index 31e7d893c03b..313f66b3f74d 100644
--- a/eclass/Manifest.gz
+++ b/eclass/Manifest.gz
Binary files differ
diff --git a/eclass/go-module.eclass b/eclass/go-module.eclass
index 5703b4fd8810..bcdd521619ac 100644
--- a/eclass/go-module.eclass
+++ b/eclass/go-module.eclass
@@ -352,7 +352,7 @@ go-module_setup_proxy() {
# - Otherwise do a normal unpack.
go-module_src_unpack() {
if use amd64 || use arm || use arm64 ||
- ( use ppc64 && ! use big-endian ) || use s390 || use x86; then
+ ( use ppc64 && [[ $(tc-endian) == "little" ]] ) || use s390 || use x86; then
GOFLAGS="-buildmode=pie ${GOFLAGS}"
fi
GOFLAGS="${GOFLAGS} -p=$(makeopts_jobs)"
diff --git a/eclass/toolchain-funcs.eclass b/eclass/toolchain-funcs.eclass
index 8a4f33e71bb7..805a3b0dfe61 100644
--- a/eclass/toolchain-funcs.eclass
+++ b/eclass/toolchain-funcs.eclass
@@ -757,6 +757,13 @@ tc-arch() {
tc-ninja_magic_to_arch portage "$@"
}
+# @FUNCTION: tc-endian
+# @USAGE: [toolchain prefix]
+# @RETURN: 'big' or 'little' corresponding to the passed (or host) endianness
+# @DESCRIPTION:
+# Accepts 'host' as an argument which defaults to CTARGET and falls back to CHOST
+# if unspecified. Returns 'big' or 'little' depending on whether 'host' is
+# big or little endian.
tc-endian() {
local host=$1
[[ -z ${host} ]] && host=${CTARGET:-${CHOST}}