diff options
author | Bryan Hundven <bryanhundven@gmail.com> | 2016-06-18 01:02:59 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-06-18 01:02:59 (GMT) |
commit | 6e7c61650a39a67ee02ed58c11d64c94c436bb33 (patch) | |
tree | 199f985d8429efb8d075bba2051502f13a30ccf6 /scripts/build/arch/sparc.sh | |
parent | 7300eb17b43a38320d25dff47230f483a82b4154 (diff) | |
parent | dc8f2d1c04258069101e913d22c898298b98384c (diff) |
Merge pull request #403 from stilor/multilib-1
First chunk of multilib changes for merging
Diffstat (limited to 'scripts/build/arch/sparc.sh')
-rw-r--r-- | scripts/build/arch/sparc.sh | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/scripts/build/arch/sparc.sh b/scripts/build/arch/sparc.sh index e3e7491..2d3baa3 100644 --- a/scripts/build/arch/sparc.sh +++ b/scripts/build/arch/sparc.sh @@ -2,4 +2,28 @@ CT_DoArchTupleValues() { # That's the only thing to override CT_TARGET_ARCH="sparc${target_bits_64}${CT_ARCH_SUFFIX}" + + # By default, sparc64-*-linux is configured with -mcpu=v9. However, + # according to https://sourceware.org/ml/libc-alpha/2005-12/msg00027.html, + # "There is no Linux sparc64 port that runs on non-UltraSPARC-I+ ISA CPUs." + # There is a patch that would change the default to -mcpu=ultrasparc for + # sparc64-*-linux configuration: https://patchwork.ozlabs.org/patch/409424/ + # but that patch has not been integrated (yet). One concern raised about + # this patch was that -mcpu=ultrasparc can suboptimally schedule instructions + # for newer SPARC CPUs. So, override to -mcpu=ultrasparc and warn the user. + if [ "${CT_KERNEL}" = "linux" -a "${CT_ARCH_64}" = "y" -a -z "${CT_ARCH_CPU}" ]; then + CT_DoLog WARN "Setting CPU to UltraSPARC-I for sparc64-linux. Set CT_ARCH_CPU if a different CPU is desired." + CT_ARCH_WITH_CPU="--with-cpu=ultrasparc" + 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}" } |