On Mon, 30 Jul 2012 09:53:58 +0100, Jurij Smakov wrote:

> Christian confirmed that my analysis was correct and committed a 
> fix for this issue to gnunet svn repo:
> 
> http://lists.gnu.org/archive/html/gnunet-svn/2012-07/msg00548.html
> 
> Please pick up this patch for Debian, as 0.9.3 (current 
> unstable/wheezy version) is affected by it as well.

Bertrand, 

for your convenience I'm attaching a debdiff with the patch
"converted" to a quilt patch.

(If you want me to upload or if you need a sponsor just shout.)

Cheers,
gregor

-- 
 .''`.  Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer  -  http://www.debian.org/
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   NP: Rolling Stones: Someone
diff -Nru gnunet-0.9.3/debian/changelog gnunet-0.9.3/debian/changelog
--- gnunet-0.9.3/debian/changelog	2012-06-20 23:55:23.000000000 +0200
+++ gnunet-0.9.3/debian/changelog	2012-07-31 18:24:06.000000000 +0200
@@ -1,3 +1,15 @@
+gnunet (0.9.3-2.1) UNRELEASED; urgency=low
+
+  * Non-maintainer upload.
+  * Fix "gcc-4.6: [sparc] compiler fails to align stack-allocated
+    struct,with array of uint32-values to 32-bit boundary":
+    new patch sparc_alignment.patch, taken from upstream:
+    https://lists.gnu.org/archive/html/gnunet-svn/2012-07/msg00548.html
+    Thanks to Jurij Smakov for the analysis.
+    (Closes: #670578)
+
+ -- gregor herrmann <[email protected]>  Tue, 31 Jul 2012 18:19:44 +0200
+
 gnunet (0.9.3-2) unstable; urgency=low
 
   * Clean properly dpkg-statoverride in gnunet-server.postrm
diff -Nru gnunet-0.9.3/debian/patches/series gnunet-0.9.3/debian/patches/series
--- gnunet-0.9.3/debian/patches/series	2012-06-03 15:32:14.000000000 +0200
+++ gnunet-0.9.3/debian/patches/series	2012-07-31 18:22:18.000000000 +0200
@@ -1 +1,2 @@
 support_GNU_hurd.patch
+sparc_alignment.patch
diff -Nru gnunet-0.9.3/debian/patches/sparc_alignment.patch gnunet-0.9.3/debian/patches/sparc_alignment.patch
--- gnunet-0.9.3/debian/patches/sparc_alignment.patch	1970-01-01 01:00:00.000000000 +0100
+++ gnunet-0.9.3/debian/patches/sparc_alignment.patch	2012-07-31 18:22:18.000000000 +0200
@@ -0,0 +1,55 @@
+Author: grothoff
+Date: 2012-07-30 09:26:05 +0200 (Mon, 30 Jul 2012)
+New Revision: 22960
+
+Modified:
+   gnunet/src/include/gnunet_common.h
+Log:
+fix for gcc alginment issue on sparc reported to Debian as #670578
+
+Modified: gnunet/src/include/gnunet_common.h
+===================================================================
+--- a/src/include/gnunet_common.h
++++ b/src/include/gnunet_common.h
+@@ -170,9 +170,13 @@
+  */
+ #define GNUNET_NORETURN __attribute__((noreturn))
+ 
++#if MINGW
+ #if __GNUC__ > 3
+ /**
+- * gcc 4.x-ism to pack structures even on W32 (to be used before structs)
++ * gcc 4.x-ism to pack structures even on W32 (to be used before structs);
++ * Using this would cause structs to be unaligned on the stack on Sparc,
++ * so we *only* use this on W32 (see #670578 from Debian); fortunately,
++ * W32 doesn't run on sparc anyway.
+  */
+ #define GNUNET_NETWORK_STRUCT_BEGIN \
+   _Pragma("pack(push)") \
+@@ -180,19 +184,23 @@
+ 
+ /**
+  * gcc 4.x-ism to pack structures even on W32 (to be used after structs)
++ * Using this would cause structs to be unaligned on the stack on Sparc,
++ * so we *only* use this on W32 (see #670578 from Debian); fortunately,
++ * W32 doesn't run on sparc anyway.
+  */
+ #define GNUNET_NETWORK_STRUCT_END _Pragma("pack(pop)")
++
+ #else
+-#ifdef MINGW
+ #error gcc 4.x or higher required on W32 systems
+ #endif
++#else
+ /**
+- * Good luck, GNUNET_PACKED should suffice, but this won't work on W32
++ * Define as empty, GNUNET_PACKED should suffice, but this won't work on W32
+  */
+ #define GNUNET_NETWORK_STRUCT_BEGIN 
+ 
+ /**
+- * Good luck, GNUNET_PACKED should suffice, but this won't work on W32
++ * Define as empty, GNUNET_PACKED should suffice, but this won't work on W32;
+  */
+ #define GNUNET_NETWORK_STRUCT_END
+ #endif

Attachment: signature.asc
Description: Digital signature

Reply via email to