To prevent build failures when using system libtom libraries and
linking with --as-needed, LIBTOM_LIBS should be in the order
-ltomcrypt -ltommath, not the other way around, ie libs should be
prepended to LIBTOM_LIBS as they are found, not appended.

Note that LIBTOM_LIBS is not used when linking with the bundled
libtom libs.

Signed-off-by: Andre McCurdy <armccu...@gmail.com>
---
 meta/recipes-core/dropbear/dropbear.inc            |  1 +
 .../fix-libtomcrypt-libtommath-ordering.patch      | 48 ++++++++++++++++++++++
 2 files changed, 49 insertions(+)
 create mode 100644 
meta/recipes-core/dropbear/dropbear/fix-libtomcrypt-libtommath-ordering.patch

diff --git a/meta/recipes-core/dropbear/dropbear.inc 
b/meta/recipes-core/dropbear/dropbear.inc
index 923d31c..cdac7ec 100644
--- a/meta/recipes-core/dropbear/dropbear.inc
+++ b/meta/recipes-core/dropbear/dropbear.inc
@@ -17,6 +17,7 @@ SRC_URI = 
"http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.bz2 \
            file://0003-configure.patch \
            file://0004-fix-2kb-keys.patch \
            file://0007-dropbear-fix-for-x32-abi.patch \
+           file://fix-libtomcrypt-libtommath-ordering.patch \
            file://init \
            file://dropbearkey.service \
            file://dropbear@.service \
diff --git 
a/meta/recipes-core/dropbear/dropbear/fix-libtomcrypt-libtommath-ordering.patch 
b/meta/recipes-core/dropbear/dropbear/fix-libtomcrypt-libtommath-ordering.patch
new file mode 100644
index 0000000..de930f2
--- /dev/null
+++ 
b/meta/recipes-core/dropbear/dropbear/fix-libtomcrypt-libtommath-ordering.patch
@@ -0,0 +1,48 @@
+From 2fd8d2aedad0c50cdf1e43edd2387874b720ad4c Mon Sep 17 00:00:00 2001
+From: Andre McCurdy <armccu...@gmail.com>
+Date: Fri, 16 Sep 2016 12:18:23 -0700
+Subject: [PATCH] fix libtomcrypt/libtommath ordering
+
+To prevent build failures when using system libtom libraries and
+linking with --as-needed, LIBTOM_LIBS should be in the order
+-ltomcrypt -ltommath, not the other way around, ie libs should be
+prepended to LIBTOM_LIBS as they are found, not appended.
+
+Note that LIBTOM_LIBS is not used when linking with the bundled
+libtom libs.
+
+Upstream-Status: Pending
+
+Signed-off-by: Andre McCurdy <armccu...@gmail.com>
+---
+ configure.ac | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index b6abe4c..85bb8bc 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -390,16 +390,16 @@ AC_ARG_ENABLE(bundled-libtom,
+                       AC_MSG_NOTICE(Forcing bundled libtom*)
+               else
+                       BUNDLED_LIBTOM=0
+-                      AC_CHECK_LIB(tommath, mp_exptmod, 
LIBTOM_LIBS="$LIBTOM_LIBS -ltommath", 
++                      AC_CHECK_LIB(tommath, mp_exptmod, 
LIBTOM_LIBS="-ltommath $LIBTOM_LIBS",
+                               [AC_MSG_ERROR([Missing system libtommath and 
--disable-bundled-libtom was specified])] )
+-                      AC_CHECK_LIB(tomcrypt, register_cipher, 
LIBTOM_LIBS="$LIBTOM_LIBS -ltomcrypt", 
++                      AC_CHECK_LIB(tomcrypt, register_cipher, 
LIBTOM_LIBS="-ltomcrypt $LIBTOM_LIBS",
+                               [AC_MSG_ERROR([Missing system libtomcrypt and 
--disable-bundled-libtom was specified])] )
+               fi
+       ],
+       [
+               BUNDLED_LIBTOM=0
+-              AC_CHECK_LIB(tommath, mp_exptmod, LIBTOM_LIBS="$LIBTOM_LIBS 
-ltommath", BUNDLED_LIBTOM=1)
+-              AC_CHECK_LIB(tomcrypt, register_cipher, 
LIBTOM_LIBS="$LIBTOM_LIBS -ltomcrypt", BUNDLED_LIBTOM=1)
++              AC_CHECK_LIB(tommath, mp_exptmod, LIBTOM_LIBS="-ltommath 
$LIBTOM_LIBS", BUNDLED_LIBTOM=1)
++              AC_CHECK_LIB(tomcrypt, register_cipher, LIBTOM_LIBS="-ltomcrypt 
$LIBTOM_LIBS", BUNDLED_LIBTOM=1)
+       ]
+ )
+ 
+-- 
+1.9.1
+
-- 
1.9.1

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to