summaryrefslogtreecommitdiff
path: root/scripts/build/arch
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2016-04-02 07:12:41 (GMT)
committerAlexey Neyman <stilor@att.net>2016-08-23 18:00:27 (GMT)
commit3ebc5d0c1e72e95f05a02818a3e2c642663d4b74 (patch)
treec9099111b7741479d3e4f4df9d342828a682a9db /scripts/build/arch
parent4ee22d66a849123c06812736dd1472840aad5823 (diff)
libc/*.sh: Deprecate libc_check_config step.
This step was only used in uClibc. However, with upcoming multilib, the config management will have to be done for each variant differently, anyway. uClibc was the only user of libc_check_config step, as well as CT_CONFIG_DIR directory. Retire these. Two other clean-ups in uClibc.sh: - KERNEL_HEADERS check seems to be bogus, this config option is not present even in 0.9.30 - which is not supported already. - SHARED_LIB_LOADER_PREFIX was renamed to MULTILIB_DIR in 0.9.31, according to ChangeLog - and MULTILIB_DIR is passed from command line instead. Signed-off-by: Alexey Neyman <stilor@att.net>
Diffstat (limited to 'scripts/build/arch')
-rw-r--r--scripts/build/arch/alpha.sh11
-rw-r--r--scripts/build/arch/arm.sh11
-rw-r--r--scripts/build/arch/m68k.sh15
-rw-r--r--scripts/build/arch/microblaze.sh11
-rw-r--r--scripts/build/arch/mips.sh11
-rw-r--r--scripts/build/arch/nios2.sh1
-rw-r--r--scripts/build/arch/powerpc.sh1
-rw-r--r--scripts/build/arch/sh.sh11
-rw-r--r--scripts/build/arch/sparc.sh34
-rw-r--r--scripts/build/arch/x86.sh24
10 files changed, 59 insertions, 71 deletions
diff --git a/scripts/build/arch/alpha.sh b/scripts/build/arch/alpha.sh
index ffceae3..cf6d40d 100644
--- a/scripts/build/arch/alpha.sh
+++ b/scripts/build/arch/alpha.sh
@@ -4,14 +4,3 @@ CT_DoArchTupleValues () {
# The architecture part of the tuple:
CT_TARGET_ARCH="${CT_ARCH}${CT_ARCH_SUFFIX:-${CT_ARCH_ALPHA_VARIANT}}"
}
-
-#------------------------------------------------------------------------------
-# Get multilib architecture-specific target
-# Usage: CT_DoArchMultilibTarget "multilib flags" "target tuple"
-CT_DoArchMultilibTarget ()
-{
- local target="${1}"; shift
- local -a multi_flags=( "$@" )
-
- echo "${target}"
-}
diff --git a/scripts/build/arch/arm.sh b/scripts/build/arch/arm.sh
index 338392c..5f6ce2f 100644
--- a/scripts/build/arch/arm.sh
+++ b/scripts/build/arch/arm.sh
@@ -39,14 +39,3 @@ CT_DoArchTupleValues() {
CT_TARGET_SYS="${CT_TARGET_SYS}hf"
fi
}
-
-#------------------------------------------------------------------------------
-# Get multilib architecture-specific target
-# Usage: CT_DoArchMultilibTarget "multilib flags" "target tuple"
-CT_DoArchMultilibTarget ()
-{
- local target="${1}"; shift
- local -a multi_flags=( "$@" )
-
- echo "${target}"
-}
diff --git a/scripts/build/arch/m68k.sh b/scripts/build/arch/m68k.sh
index a6eb010..052e4a7 100644
--- a/scripts/build/arch/m68k.sh
+++ b/scripts/build/arch/m68k.sh
@@ -1,16 +1 @@
# Compute M68k-specific values
-
-CT_DoArchTupleValues() {
- :
-}
-
-#------------------------------------------------------------------------------
-# Get multilib architecture-specific target
-# Usage: CT_DoArchMultilibTarget "multilib flags" "target tuple"
-CT_DoArchMultilibTarget ()
-{
- local target="${1}"; shift
- local -a multi_flags=( "$@" )
-
- echo "${target}"
-}
diff --git a/scripts/build/arch/microblaze.sh b/scripts/build/arch/microblaze.sh
index 93ecc9a..456a6e3 100644
--- a/scripts/build/arch/microblaze.sh
+++ b/scripts/build/arch/microblaze.sh
@@ -19,14 +19,3 @@ CT_DoArchTupleValues () {
esac
}
-
-#------------------------------------------------------------------------------
-# Get multilib architecture-specific target
-# Usage: CT_DoArchMultilibTarget "multilib flags" "target tuple"
-CT_DoArchMultilibTarget ()
-{
- local target="${1}"; shift
- local -a multi_flags=( "$@" )
-
- echo "${target}"
-}
diff --git a/scripts/build/arch/mips.sh b/scripts/build/arch/mips.sh
index 68ad4fa..4d732be 100644
--- a/scripts/build/arch/mips.sh
+++ b/scripts/build/arch/mips.sh
@@ -14,14 +14,3 @@ CT_DoArchTupleValues() {
CT_ARCH_ABI_CFLAG="-mabi=${CT_ARCH_mips_ABI}"
CT_ARCH_WITH_ABI="--with-abi=${CT_ARCH_mips_ABI}"
}
-
-#------------------------------------------------------------------------------
-# Get multilib architecture-specific target
-# Usage: CT_DoArchMultilibTarget "multilib flags" "target tuple"
-CT_DoArchMultilibTarget ()
-{
- local target="${1}"; shift
- local -a multi_flags=( "$@" )
-
- echo "${target}"
-}
diff --git a/scripts/build/arch/nios2.sh b/scripts/build/arch/nios2.sh
index 8c7d445..24c556b 100644
--- a/scripts/build/arch/nios2.sh
+++ b/scripts/build/arch/nios2.sh
@@ -9,5 +9,4 @@ CT_DoArchTupleValues() {
CT_ARCH_WITH_FPU=
CT_ARCH_WITH_FLOAT=
CT_TARGET_SYS=elf
-
}
diff --git a/scripts/build/arch/powerpc.sh b/scripts/build/arch/powerpc.sh
index 77bbc8a..964dd25 100644
--- a/scripts/build/arch/powerpc.sh
+++ b/scripts/build/arch/powerpc.sh
@@ -26,6 +26,7 @@ CT_DoArchTupleValues () {
CT_ARCH_CC_EXTRA_CONFIG="--enable-e500_double"
fi
}
+
#------------------------------------------------------------------------------
# Get multilib architecture-specific target
# Usage: CT_DoArchMultilibTarget "multilib flags" "target tuple"
diff --git a/scripts/build/arch/sh.sh b/scripts/build/arch/sh.sh
index e7f4f1a..7780e40 100644
--- a/scripts/build/arch/sh.sh
+++ b/scripts/build/arch/sh.sh
@@ -35,14 +35,3 @@ CT_DoArchTupleValues () {
esac
CT_ARCH_FLOAT_CFLAG=
}
-
-#------------------------------------------------------------------------------
-# Get multilib architecture-specific target
-# Usage: CT_DoArchMultilibTarget "multilib flags" "target tuple"
-CT_DoArchMultilibTarget ()
-{
- local target="${1}"; shift
- local -a multi_flags=( "$@" )
-
- echo "${target}"
-}
diff --git a/scripts/build/arch/sparc.sh b/scripts/build/arch/sparc.sh
index 2d3baa3..189cebe 100644
--- a/scripts/build/arch/sparc.sh
+++ b/scripts/build/arch/sparc.sh
@@ -25,5 +25,39 @@ CT_DoArchMultilibTarget ()
local target="${1}"; shift
local -a multi_flags=( "$@" )
+ local m32=false
+ local m64=false
+
+ for m in "${multi_flags[@]}"; do
+ case "$m" in
+ -m32) m32=true ;;
+ -m64) m64=true ;;
+ esac
+ done
+
+ # Fix up bitness
+ case "${target}" in
+ sparc-*) $m64 && target=${target/#sparc-/sparc64-} ;;
+ sparc64-*) $m32 && target=${target/#sparc64-/sparc-} ;;
+ esac
+
+ echo "${target}"
+}
+
+# Special tuple adjustment for glibc.
+CT_DoArchGlibcAdjustTuple() {
+ local target="${1}"
+
+ case "${target}" in
+ # SPARC quirk: glibc 2.23 and newer dropped support for SPARCv8 and
+ # earlier (corresponding pthread barrier code is missing). Until this
+ # support is reintroduced, configure as sparcv9.
+ sparc-*)
+ if [ "${CT_LIBC_GLIBC_2_23_or_later}" = y ]; then
+ target=${target/#sparc-/sparcv9-}
+ fi
+ ;;
+ esac
+
echo "${target}"
}
diff --git a/scripts/build/arch/x86.sh b/scripts/build/arch/x86.sh
index ca0f08b..0e41d67 100644
--- a/scripts/build/arch/x86.sh
+++ b/scripts/build/arch/x86.sh
@@ -68,3 +68,27 @@ CT_DoArchMultilibTarget ()
echo "${target}"
}
+
+# Adjust target tuple for GLIBC
+CT_DoArchGlibcAdjustTuple() {
+ local target="${1}"
+
+ case "${target}" in
+ # x86 quirk: architecture name is i386, but glibc expects i[4567]86 - to
+ # indicate the desired optimization. If it was a multilib variant of x86_64,
+ # then it targets at least NetBurst a.k.a. i786, but we'll follow the model
+ # above # and set the optimization to i686. Otherwise, replace with the most
+ # conservative choice, i486.
+ i386-*)
+ if [ "${CT_TARGET_ARCH}" = "x86_64" ]; then
+ target=${target/#i386-/i686-}
+ elif [ "${CT_TARGET_ARCH}" != "i386" ]; then
+ target=${target/#i386-/${CT_TARGET_ARCH}-}
+ else
+ target=${target/#i386-/i486-}
+ fi
+ ;;
+ esac
+
+ echo "${target}"
+}