arch/sparc: add absic support

Add support for building SPARC targeted toolchain.
With this patch I have built a working sparc V8 (32 toolchain).

Testing shows that not all gcc versions works well:
4.4.1            OK  (kernel builds and the final kernel can boot)
4.4.2            Not tested
4.4.3            Not tested
4.4.4            BAD (Kernel can build but fails during boot)
4.4.5            BAD (Kernel can build but fails during boot)
4.5.1            BAD (Build fails with a spill related ICE - http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35664)
4.5.2            OK  (kernel builds and boots)

I have successfully been using the 4.5.2 version for a few months.

This patch does not add support for the LEON variant.
That may come later.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
[yann.morin.1998@anciens.enib.fr: for 32-bit, default CT_TARGET_ARCH is OK]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
This commit is contained in:
Yann E. MORIN" 2011-04-03 18:22:00 +02:00 committed by Sam Ravnborg
parent fbd37d5d57
commit 693cc01f41
2 changed files with 21 additions and 0 deletions

13
config/arch/sparc.in Normal file
View File

@ -0,0 +1,13 @@
# SPARC specific config options
config ARCH_sparc
select ARCH_SUPPORTS_32
select ARCH_SUPPORTS_64
select ARCH_DEFAULT_32
select ARCH_USE_MMU
select ARCH_SUPPORT_CPU
select ARCH_SUPPORT_TUNE
help
The SUN SPARC architecture, as defined by:
32 bit: http://www.sparc.org/standards/V8.pdf
64 bit: http://www.sparc.org/standards/SPARCV9.pdf

View File

@ -0,0 +1,8 @@
# Compute sparc-specific values
CT_DoArchTupleValues() {
# That's the only thing to override
if [ "${CT_ARCH_64}" = "y" ]; then
CT_TARGET_ARCH="${CT_ARCH}64"
fi
}