AC_DEFINE(HAVE_CPU_ALPHA) ;;
xarm*) HAVE_CPU_ARM=yes ;
AC_DEFINE(HAVE_CPU_ARM) ;;
+ xsparc*) HAVE_CPU_SPARC=yes ;
+ AC_DEFINE(HAVE_CPU_SPARC) ;;
esac
dnl Determine endianness
AM_CONDITIONAL(HAVE_CPU_PPC, test "x$HAVE_CPU_PPC" = "xyes")
AM_CONDITIONAL(HAVE_CPU_ALPHA, test "x$HAVE_CPU_ALPHA" = "xyes")
AM_CONDITIONAL(HAVE_CPU_ARM, test "x$HAVE_CPU_ARM" = "xyes")
+AM_CONDITIONAL(HAVE_CPU_SPARC test "x$HAVE_CPU_SPARC" = "xyes")
AM_CONDITIONAL(HAVE_GDK_PIXBUF, test "x$USE_GDK_PIXBUF" = "xyes")
AM_CONDITIONAL(HAVE_LIBGHTTP, test "x$USE_LIBGHTTP" = "xyes")
AM_CONDITIONAL(HAVE_LIBMMX, test "x$USE_LIBMMX" = "xyes")
ctx->current = thread->threadnum;
/* save the current stack pointer, frame pointer, and pc */
+#ifdef GST_ARCH_PRESETJMP
+ GST_ARCH_PRESETJMP();
+#endif
enter = setjmp(current->jmp);
if (enter != 0) {
GST_DEBUG (0,"enter thread #%d %d %p<->%p (%d)\n",current->threadnum, enter,
--- /dev/null
+/* GStreamer
+ * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
+ * 2000 Wim Taymans <wtay@chello.be>
+ *
+ * gstsparc.h: Header for Sparc-specific architecture issues
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GST_GSTSPARC_H__
+#define __GST_GSTSPARC_H__
+
+#define GST_ARCH_SET_SP(stackpointer) \
+ __asm__( "ta 3\n\t"
+ "mov %0, %%sp" : : "r"(stackpointer));
+
+#define GST_ARCH_CALL(target) \
+ __asm__( "call %0,0\n\t"
+ "nop" : : "r"(target) );
+
+#define GST_ARCH_PRESETJMP() \
+ __asm__( "ta 3" );
+
+// Need to get more information about the stackframe format
+// and get the fields more correct. Check GDB sources maybe?
+
+#define GST_ARCH_SETUP_STACK(sp) sp -= 4
+
+#endif /* __GST_GSTSPARC_H__ */