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.0 +0200
+++ gnunet-0.9.3/debian/changelog 2012-07-31 18:24:06.0 +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 gre...@debian.org 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.0 +0200
+++ gnunet-0.9.3/debian/patches/series 2012-07-31 18:22:18.0 +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.0 +0100
+++ gnunet-0.9.3/debian/patches/sparc_alignment.patch 2012-07-31 18:22:18.0 +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
signature.asc
Description: Digital signature