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.
--- /dev/null
+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
+
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}"