Package: mono
Version: 1.2.4-4
Severity: normal
Tags: patch
User: [EMAIL PROTECTED]
Usertags: eabi
Hi,
Thanks for adding armel to arches of mono. However, mono
configure scripts picked up errenously VFP[1]:
checking which FPU to use... VFP
This causes any mono application using floats to SIGILL, which
appears to include even HelloWorld.exe. The configure check
is broken in principle, it assumes that if binutils can compile
VFP instructions, they will run as well.
The attached patch makes fpu configurable, and uses the option
for armel arch. The patch requires running autoconf to regenerate
./configure.
The correct fix would be to default to build both softfloat and
VFP into armel build, and runtime select which one to use, but
that is above my mono current foo level.
Cheers,
Riku
[1]
http://experimental.ftbfs.de/fetch.php?&pkg=mono&ver=1.2.4-4&arch=armel&stamp=1182425340&file=log&as=raw
--
"rm -rf" only sounds scary if you don't have backups
--- orig/mono-1.2.4/configure.in 2007-04-25 18:48:44.000000000 +0000
+++ mono-1.2.4/configure.in 2007-06-25 17:25:39.000000000 +0000
@@ -1880,19 +1880,24 @@
])
fi
+AC_ARG_WITH(fpu, [ --with-fpu=FPA,VFP,NONE Select fpu to use on
arm],[fpu=$withval])
+
if test ${TARGET} = ARM; then
dnl ******************************************
dnl *** Check to see what FPU is available ***
dnl ******************************************
AC_MSG_CHECKING(which FPU to use)
- AC_TRY_COMPILE([], [
- __asm__ ("ldfd f0, [r0]");
- ], fpu=FPA, [
- AC_TRY_COMPILE([], [
- __asm__ ("fldd d0, [r0]");
- ], fpu=VFP, fpu=NONE)
- ])
+ if test "x$fpu" = "x"; then
+
+ AC_TRY_COMPILE([], [
+ __asm__ ("ldfd f0, [r0]");
+ ], fpu=FPA, [
+ AC_TRY_COMPILE([], [
+ __asm__ ("fldd d0, [r0]");
+ ], fpu=VFP, fpu=NONE)
+ ])
+ fi
AC_MSG_RESULT($fpu)
CPPFLAGS="$CPPFLAGS -DARM_FPU_$fpu=1"
diff -ur orig/mono-1.2.4/debian/changelog mono-1.2.4/debian/changelog
--- orig/mono-1.2.4/debian/changelog 2007-06-25 13:01:40.000000000 +0000
+++ mono-1.2.4/debian/changelog 2007-06-25 13:42:57.000000000 +0000
@@ -1,3 +1,9 @@
+mono (1.2.4-4+armel) unreleased; urgency=low
+
+ * use softfloat as default on armel
+
+ -- Riku Voipio <[EMAIL PROTECTED]> Sun, 24 Jun 2007 21:28:18 +0000
+
mono (1.2.4-4) unstable; urgency=low
* Mirco 'meebey' Bauer:
diff -ur orig/mono-1.2.4/debian/rules mono-1.2.4/debian/rules
--- orig/mono-1.2.4/debian/rules 2007-06-25 13:01:40.000000000 +0000
+++ mono-1.2.4/debian/rules 2007-06-25 13:20:20.000000000 +0000
@@ -39,7 +39,7 @@
else ifeq ($(DEB_BUILD_ARCH), armeb)
CONF_FLAGS += --with-tls=pthread
else ifeq ($(DEB_BUILD_ARCH), armel)
- CONF_FLAGS += --with-tls=pthread
+ CONF_FLAGS += --with-tls=pthread --with-fpu=NONE
else
CONF_FLAGS += --with-tls=__thread
endif