Source: nettle
Version: 2.4-3
Severity: wishlist
User: debian-...@lists.debian.org
Usertags: port-x32 ftbfs-x32

Here's the interim patch I'm currently using to build nettle on the unofficial 
Debian x32 port.  Two issues it addresses:
- The camellia test fails.  I'm currently working around this by passing
--disable-assembler to configure on x32.
- The des-compat test segfaults.  It turns out compiling with -O1 instead of -
O2 fixes this, so this might be a compiler bug with the version of gcc I'm 
currently using.  Since it's closely related to the i386/amd64 target, it's 
entirely possible that this might hit on i386 and/or amd64 as well with gcc 
4.7.2-18 (or -19) from experimental.  I haven't checked.

So, I'm currently not tagging this as "patch" since you probably wouldn't want 
to include the -O2 -> -O1 part in a general Debian upload.
-- 
Daniel Schepler
diff -Nru nettle-2.4/debian/changelog nettle-2.4/debian/changelog
--- nettle-2.4/debian/changelog	2012-11-16 12:14:03.000000000 -0800
+++ nettle-2.4/debian/changelog	2013-01-19 20:27:21.000000000 -0800
@@ -1,3 +1,11 @@
+nettle (2.4-3+x32) unreleased; urgency=low
+
+  * Disable x86_64 assembly on x32: camellia asm doesn't work properly.
+  * Turn down optimization level to -O1 to work around a possible compiler
+    bug making the des-compat-test segfault.
+
+ -- Daniel Schepler <schep...@debian.org>  Sat, 19 Jan 2013 20:27:15 -0800
+
 nettle (2.4-3) unstable; urgency=high
 
   * Add postinst script that replaces old documentation directory (from
diff -Nru nettle-2.4/debian/rules nettle-2.4/debian/rules
--- nettle-2.4/debian/rules	2012-06-23 05:49:20.000000000 -0700
+++ nettle-2.4/debian/rules	2013-01-19 20:31:09.000000000 -0800
@@ -17,6 +17,9 @@
 else
   buildflags = --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
 endif
+ifeq ($(DEB_HOST_GNU_TYPE), x86_64-linux-gnux32)
+  buildflags += --disable-assembler
+endif
 
 parallel = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
 ifneq (,$(parallel))
@@ -32,7 +35,7 @@
 		    --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
 	            --enable-shared \
 	            --disable-dependency-tracking \
-	            $(shell DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed dpkg-buildflags --export=configure)
+	            $(shell DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed DEB_CFLAGS_MAINT_STRIP=-O2 DEB_CFLAGS_MAINT_APPEND=-O1 dpkg-buildflags --export=configure)
 
 
 build: build-stamp

Reply via email to