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}

Reply via email to