The attached patch against xenomai 2.5.6-2 from debian sid fixes compilation for architecture powerpcspe. It just adds a few #ifdef __NO_FPRS__ around assembler code that messes with powerpc fpu registers. This code is only used for test-cases (switchtest.c) anyways, so doesn't have any effects on run-time behaviour. Unless nobody objects, I'm going to file a bug-reports with the BTS and upstream in a few days. cheers, David -- GnuPG public key: http://dvdkhlng.users.sourceforge.net/dk.gpg Fingerprint: B17A DC95 D293 657B 4205 D016 7DEF 5323 C174 7D40
diff -Nru xenomai-2.5.6/debian/changelog xenomai-2.5.6/debian/changelog
--- xenomai-2.5.6/debian/changelog 2011-05-05 21:09:55.000000000 +0200
+++ xenomai-2.5.6/debian/changelog 2011-07-11 15:38:28.000000000 +0200
@@ -1,3 +1,9 @@
+xenomai (2.5.6-2+powerpcspe1) unstable; urgency=low
+
+ * fixes for powerpcspe
+
+ -- David Kuehling <dvdkhlng@gmx.de> Mon, 11 Jul 2011 15:35:46 +0200
+
xenomai (2.5.6-2) unstable; urgency=low
* Removed usage of dh-kpatches in the build process (and from Build-Depends)
diff -Nru xenomai-2.5.6/debian/control xenomai-2.5.6/debian/control
--- xenomai-2.5.6/debian/control 2011-05-05 21:09:55.000000000 +0200
+++ xenomai-2.5.6/debian/control 2011-07-11 16:42:31.000000000 +0200
@@ -8,7 +8,7 @@
Package: xenomai-runtime
Section: devel
-Architecture: amd64 arm armeb armel i386 powerpc
+Architecture: amd64 arm armeb armel i386 powerpc powerpcspe
Depends: ${shlibs:Depends}, ${misc:Depends}
Suggests: linux-patch-xenomai, xenomai-doc
Replaces: xenomai
@@ -47,7 +47,7 @@
Package: libxenomai1
Section: libs
-Architecture: amd64 arm armeb armel i386 powerpc
+Architecture: amd64 arm armeb armel i386 powerpc powerpcspe
Depends: ${shlibs:Depends}, ${misc:Depends}
Suggests: linux-patch-xenomai, xenomai-doc
Replaces: xenomai
@@ -64,7 +64,7 @@
Package: libxenomai-dev
Section: libdevel
-Architecture: amd64 arm armeb armel i386 powerpc
+Architecture: amd64 arm armeb armel i386 powerpc powerpcspe
Depends: libxenomai1 (= ${binary:Version}), ${misc:Depends}
Suggests: linux-patch-xenomai, xenomai-doc
Replaces: xenomai
diff -Nru xenomai-2.5.6/debian/patches/03_fix-powerpcspe-no-fprs.patch xenomai-2.5.6/debian/patches/03_fix-powerpcspe-no-fprs.patch
--- xenomai-2.5.6/debian/patches/03_fix-powerpcspe-no-fprs.patch 1970-01-01 01:00:00.000000000 +0100
+++ xenomai-2.5.6/debian/patches/03_fix-powerpcspe-no-fprs.patch 2011-07-11 15:47:36.000000000 +0200
@@ -0,0 +1,37 @@
+Index: xenomai-2.5.6/include/asm-powerpc/fptest.h
+===================================================================
+--- xenomai-2.5.6.orig/include/asm-powerpc/fptest.h 2011-07-11 15:43:50.000000000 +0200
++++ xenomai-2.5.6/include/asm-powerpc/fptest.h 2011-07-11 15:47:28.000000000 +0200
+@@ -37,6 +37,7 @@
+
+ static inline void fp_regs_set(unsigned val)
+ {
++#ifndef __NO_FPRS__
+ uint64_t fpval = val;
+ __asm__ __volatile__("lfd 0, %0\n"
+ " fmr 1, 0\n"
+@@ -70,6 +71,7 @@
+ " fmr 29, 0\n"
+ " fmr 30, 0\n"
+ " fmr 31, 0\n"::"m"(fpval));
++#endif
+ }
+
+ #define FPTEST_REGVAL(n) { \
+@@ -81,6 +83,8 @@
+ static inline unsigned fp_regs_check(unsigned val)
+ {
+ unsigned i, result = val;
++
++#ifndef __NO_FPRS__
+ uint32_t e[32];
+
+ FPTEST_REGVAL(0);
+@@ -121,6 +125,7 @@
+ printk("r%d: %u != %u\n", i, e[i], val);
+ result = e[i];
+ }
++#endif
+
+ return result;
+ }
diff -Nru xenomai-2.5.6/debian/patches/series xenomai-2.5.6/debian/patches/series
--- xenomai-2.5.6/debian/patches/series 2011-05-05 21:09:55.000000000 +0200
+++ xenomai-2.5.6/debian/patches/series 2011-07-11 15:40:57.000000000 +0200
@@ -1,2 +1,3 @@
01_support_debian_kernel_2.6.32.patch
02_dh-kpatches-removal.patch
+03_fix-powerpcspe-no-fprs.patch
Attachment:
pgpecrLx5YsXW.pgp
Description: PGP signature