gnupg 1.4.2.2: Fix for x86. The assembler code was being compiled
authorJamie Lenehan <lenehan@twibble.org>
Mon, 11 Sep 2006 22:44:01 +0000 (22:44 +0000)
committerJamie Lenehan <lenehan@twibble.org>
Mon, 11 Sep 2006 22:44:01 +0000 (22:44 +0000)
with underscores prefixed to the functions while the C code was not
expecting the underscores. This was caused by the configure script
assuming that _'s were required when cross-compiling. Turning off
assembler code via a configure option would have fixed this, but
instead I've modified the configure script to actually test for
underscores when cross-compiling - the test is just a compile + nm
which works fine when cross-compiling. Tested on i486, i586 and sh4.

packages/gnupg/gnupg-1.4.2.2/30_nm_always_check.patch [new file with mode: 0644]
packages/gnupg/gnupg_1.4.2.2.bb

diff --git a/packages/gnupg/gnupg-1.4.2.2/30_nm_always_check.patch b/packages/gnupg/gnupg-1.4.2.2/30_nm_always_check.patch
new file mode 100644 (file)
index 0000000..914f147
--- /dev/null
@@ -0,0 +1,21 @@
+Originally the test for _'s on symbols was not done when cross-compiling and
+it was assumed that the _'s were appended. The test does in fact work since
+it simply compiles a file and then run's nm on it. So patch this to enable.
+Without this x86 targets fail during linking since the assembler code has
+the _'s appended when it shouldn't.
+
+--- gnupg-1.4.2.2/acinclude.m4 2006/09/11 22:11:23     1.1
++++ gnupg-1.4.2.2/acinclude.m4 2006/09/11 22:17:25
+@@ -673,11 +673,7 @@
+         ac_cv_sys_symbol_underscore=yes
+         ;;
+     *)
+-      if test "$cross_compiling" = yes; then
+-         ac_cv_sys_symbol_underscore=yes
+-      else
+-         tmp_do_check="yes"
+-      fi
++        tmp_do_check="yes"
+        ;;
+ esac
index 97c301c..703aec3 100644 (file)
@@ -6,7 +6,8 @@ EXTRA_OECONF += "--with-readline=${STAGING_LIBDIR}/.."
 
 SRC_URI += "file://15_free_caps.patch;patch=1 \
            file://16_min_privileges.patch;patch=1 \
-           file://22_zero_length_mpi_fix.patch;patch=1 "
+           file://22_zero_length_mpi_fix.patch;patch=1 \
+            file://30_nm_always_check.patch;patch=1"
 
 S = "${WORKDIR}/gnupg-${PV}"