package: dietlibc
version: 0.33~cvs20120325-3
severity: wishlist
tags: patch
I'm currently working on an armv6 hardfloat derivitive of debian called
raspbian. When trying to build the latest version of dietlibc I ran into
the following error.
gcc -D__dietlibc__ -I. -isystem include -pipe -nostdinc -Os
-fomit-frame-pointer -fstrict-aliasing -W -Wall -Wextra
-Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations
-Wno-switch -Wno-unused -Wredundant-decls -fno-stack-protector -c
arm/__longjmp.S -o bin-arm/__longjmp.o
arm/__longjmp.S: Assembler messages:
arm/__longjmp.S:15: Error: selected processor does not support ARM mode
`lfm f4,4,[ip]!'
To fix this I had to make some minor tweaks to some conditionals in an
existing debian patch. I'd appreciate it if these tweaks could be merged
into the debian packaging so I don't have to keep forward porting them
to new versions.
Thanks in advance
Peter Michael Green
diff -Nru dietlibc-0.33~cvs20120325/debian/changelog
dietlibc-0.33~cvs20120325/debian/changelog
--- dietlibc-0.33~cvs20120325/debian/changelog 2012-03-27 13:19:06.000000000
-0700
+++ dietlibc-0.33~cvs20120325/debian/changelog 2012-07-12 13:22:34.000000000
-0700
@@ -1,3 +1,9 @@
+dietlibc (0.33~cvs20120325-3+rpi1) wheezy; urgency=low
+
+ * Tweak arm assembler patch so it works with armv6 vfp too.
+
+ -- Peter Michael Green <plugw...@p10link.net> Thu, 12 Jul 2012 20:08:26 +0000
+
dietlibc (0.33~cvs20120325-3) unstable; urgency=low
* Make the select testcase we run at build-time actually useful
diff -Nru dietlibc-0.33~cvs20120325/debian/patches/0020-fixes-for-ARMv7.diff
dietlibc-0.33~cvs20120325/debian/patches/0020-fixes-for-ARMv7.diff
--- dietlibc-0.33~cvs20120325/debian/patches/0020-fixes-for-ARMv7.diff
2012-03-25 08:12:58.000000000 -0700
+++ dietlibc-0.33~cvs20120325/debian/patches/0020-fixes-for-ARMv7.diff
2012-07-12 13:17:04.000000000 -0700
@@ -131,7 +131,7 @@
- lfm f4, 4, [ip], #48
+
+#ifndef __SOFTFP__
-+# if __ARM_ARCH__ == 7
++# if __ARM_ARCH__ >= 6
+ vldm ip!, {d0-d15}
+# ifdef __ARM_NEON__
+ vldm ip!, {d16-d31}
@@ -547,7 +547,7 @@
#endif
+
+#ifndef __SOFTFP__
-+# if __ARM_ARCH__ >= 7
++# if __ARM_ARCH__ >= 6
+ vstmia ip!, {d0-d15}
+# ifdef __ARM_NEON__
+ vstmia ip!, {d16-d31}