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