summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorJamie Lenehan <lenehan@twibble.org>2006-09-11 22:44:01 +0000
committerJamie Lenehan <lenehan@twibble.org>2006-09-11 22:44:01 +0000
commit076bbaabaef51d0434e5c81e4bf3033cad1aa77c (patch)
tree41c624165e107c73664a35c27cbeb71d4ead75dd /packages
parentb507f825ff88d2c219573bb6ccf59f5a0ddb4257 (diff)
gnupg 1.4.2.2: Fix for x86. The assembler code was being compiled
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.
Diffstat (limited to 'packages')
-rw-r--r--packages/gnupg/gnupg-1.4.2.2/30_nm_always_check.patch21
-rw-r--r--packages/gnupg/gnupg_1.4.2.2.bb3
2 files changed, 23 insertions, 1 deletions
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
index 0000000000..914f1475b7
--- /dev/null
+++ b/packages/gnupg/gnupg-1.4.2.2/30_nm_always_check.patch
@@ -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
+
diff --git a/packages/gnupg/gnupg_1.4.2.2.bb b/packages/gnupg/gnupg_1.4.2.2.bb
index 97c301cf97..703aec379b 100644
--- a/packages/gnupg/gnupg_1.4.2.2.bb
+++ b/packages/gnupg/gnupg_1.4.2.2.bb
@@ -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}"