summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2011-04-03 16:22:00 (GMT)
committerSam Ravnborg <sam@ravnborg.org>2011-04-03 16:22:00 (GMT)
commit693cc01f41fb353bd6dca545d9f561a1419b7406 (patch)
treeabb683131e312469c936e277baafd02b7727c6f9
parentfbd37d5d5769c3565beae27617c977ba81ddefc5 (diff)
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>
-rw-r--r--config/arch/sparc.in13
-rw-r--r--scripts/build/arch/sparc.sh8
2 files changed, 21 insertions, 0 deletions
diff --git a/config/arch/sparc.in b/config/arch/sparc.in
new file mode 100644
index 0000000..a7d3205
--- /dev/null
+++ b/config/arch/sparc.in
@@ -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
diff --git a/scripts/build/arch/sparc.sh b/scripts/build/arch/sparc.sh
new file mode 100644
index 0000000..a4d6201
--- /dev/null
+++ b/scripts/build/arch/sparc.sh
@@ -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
+
+}