This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] add basic SPARC support


add basic SPARC 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>
---

The patch was made ~3 months ago and I have not tried to apply it to
recent crosstool-ng.
My spare time has since been occupied by some kernel stuff, and when I get
spare time again I need to go back and finish this first.
Later I still plan to revisit how to add LEON support - allthough
I hope Gaisler will beat me on that...

	Sam


diff -r cb0f625b3f9f config/arch/sparc.in
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/config/arch/sparc.in	Sun Apr 03 08:09:50 2011 +0200
@@ -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 -r cb0f625b3f9f scripts/build/arch/sparc.sh
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/build/arch/sparc.sh	Sun Apr 03 08:09:50 2011 +0200
@@ -0,0 +1,10 @@
+# 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"
+    else
+        CT_TARGET_ARCH="${CT_ARCH}"
+    fi
+
+}

--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]