All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/1] package/ibrcommon: fix static build with openssl
Date: Sat, 16 Feb 2019 12:23:19 +0100	[thread overview]
Message-ID: <20190216112319.4769-1-fontaine.fabrice@gmail.com> (raw)

gf_mul is already defined in libcrypto (openssl) so rename it into
ibrdtn_gf_mul to fix the following build failure in ibrdtnd package:

/home/buildroot/autobuild/instance-3/output/host/bin/../arm-buildroot-uclinux-uclibcgnueabi/sysroot/usr/lib/libcrypto.a(f_impl.o): In function `gf_mul':
f_impl.c:(.text+0x0): multiple definition of `gf_mul'
/home/buildroot/autobuild/instance-3/output/host/arm-buildroot-uclinux-uclibcgnueabi/sysroot/usr/lib/libibrcommon.a(gf128mul.o):gf128mul.cpp:(.text+0x30): first defined here
collect2: error: ld returned 1 exit status
Makefile:560: recipe for target 'dtnd' failed

Fixes:
 - http://autobuild.buildroot.org/results/1d3b4b6cf043a3e185ce758b617a0a18c3d36cdb

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 ...mon-ssl-gcm-fix-static-build-with-openssl.patch | 94 ++++++++++++++++++++++
 1 file changed, 94 insertions(+)
 create mode 100644 package/ibrcommon/0003-ibrcommon-ssl-gcm-fix-static-build-with-openssl.patch

diff --git a/package/ibrcommon/0003-ibrcommon-ssl-gcm-fix-static-build-with-openssl.patch b/package/ibrcommon/0003-ibrcommon-ssl-gcm-fix-static-build-with-openssl.patch
new file mode 100644
index 0000000000..c55b227c0c
--- /dev/null
+++ b/package/ibrcommon/0003-ibrcommon-ssl-gcm-fix-static-build-with-openssl.patch
@@ -0,0 +1,94 @@
+From 8118c43a53271ba2dd31ce3913a3cd21bc7dcca7 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Sat, 16 Feb 2019 11:58:34 +0100
+Subject: [PATCH] ibrcommon/ssl/gcm: fix static build with openssl
+
+gf_mul is already defined in libcrypto (openssl) so rename it into
+ibrdtn_gf_mul to fix following build failure:
+
+/home/buildroot/autobuild/instance-3/output/host/bin/../arm-buildroot-uclinux-uclibcgnueabi/sysroot/usr/lib/libcrypto.a(f_impl.o): In function `gf_mul':
+f_impl.c:(.text+0x0): multiple definition of `gf_mul'
+/home/buildroot/autobuild/instance-3/output/host/arm-buildroot-uclinux-uclibcgnueabi/sysroot/usr/lib/libibrcommon.a(gf128mul.o):gf128mul.cpp:(.text+0x30): first defined here
+collect2: error: ld returned 1 exit status
+Makefile:560: recipe for target 'dtnd' failed
+
+Fixes:
+ - http://autobuild.buildroot.org/results/1d3b4b6cf043a3e185ce758b617a0a18c3d36cdb
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+[Upstream status: https://github.com/ibrdtn/ibrdtn/pull/269]
+---
+ ibrcommon/ibrcommon/ssl/gcm/gcm.cpp      | 10 +++++-----
+ ibrcommon/ibrcommon/ssl/gcm/gf128mul.cpp |  2 +-
+ ibrcommon/ibrcommon/ssl/gcm/gf128mul.h   |  2 +-
+ 3 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/ibrcommon/ssl/gcm/gcm.cpp b/ibrcommon/ssl/gcm/gcm.cpp
+index 8a5745b4..6097b43e 100644
+--- a/ibrcommon/ssl/gcm/gcm.cpp
++++ b/ibrcommon/ssl/gcm/gcm.cpp
+@@ -89,7 +89,7 @@ ret_type gcm_init_and_key(                      /* initialise mode and set key
+ #elif defined( TABLES_256 )
+ #define gf_mul_hh(a, ctx, scr)  gf_mul_256(a, ctx->gf_t256, scr)
+ #else
+-#define gf_mul_hh(a, ctx, scr)  gf_mul(a, ui8_ptr(ctx->ghash_h))
++#define gf_mul_hh(a, ctx, scr)  ibrdtn_gf_mul(a, ui8_ptr(ctx->ghash_h))
+ #endif
+ 
+ ret_type gcm_init_message(                      /* initialise a new message     */
+@@ -334,9 +334,9 @@ ret_type gcm_compute_tag(                       /* compute authentication tag
+         memcpy(tbuf, ctx->ghash_h, BLOCK_SIZE);
+         for( ; ; )
+         {
+-            if(ln & 1) gf_mul(ui8_ptr(ctx->hdr_ghv), tbuf);
++            if(ln & 1) ibrdtn_gf_mul(ui8_ptr(ctx->hdr_ghv), tbuf);
+             if(!(ln >>= 1)) break;
+-            gf_mul(tbuf, tbuf);
++            ibrdtn_gf_mul(tbuf, tbuf);
+         }
+     }
+ #else   /* this one seems slower on x86 and x86_64 :-( */
+@@ -348,12 +348,12 @@ ret_type gcm_compute_tag(                       /* compute authentication tag
+         tbuf[0] = 0x80;
+         while(i)
+         {
+-            gf_mul(tbuf, tbuf);
++            ibrdtn_gf_mul(tbuf, tbuf);
+             if(i & ln)
+                 gf_mul_hh(tbuf, ctx, scratch);
+             i >>= 1;
+         }
+-        gf_mul(ui8_ptr(ctx->hdr_ghv), tbuf);
++        ibrdtn_gf_mul(ui8_ptr(ctx->hdr_ghv), tbuf);
+     }
+ #endif
+     i = BLOCK_SIZE; ln = (uint_32t)(ctx->txt_acnt << 3);
+diff --git a/ibrcommon/ssl/gcm/gf128mul.cpp b/ibrcommon/ssl/gcm/gf128mul.cpp
+index a553a044..d0c460c3 100644
+--- a/ibrcommon/ssl/gcm/gf128mul.cpp
++++ b/ibrcommon/ssl/gcm/gf128mul.cpp
+@@ -103,7 +103,7 @@
+ 
+ const unsigned short gf_tab[256] = gf_dat(xda);
+ 
+-void gf_mul(void *a, const void* b)
++void ibrdtn_gf_mul(void *a, const void* b)
+ {   uint_32t r[GF_BYTE_LEN >> 2], p[8][GF_BYTE_LEN >> 2];
+     int i;
+ 
+diff --git a/ibrcommon/ssl/gcm/gf128mul.h b/ibrcommon/ssl/gcm/gf128mul.h
+index 4645c7fe..65fba54b 100644
+--- a/ibrcommon/ssl/gcm/gf128mul.h
++++ b/ibrcommon/ssl/gcm/gf128mul.h
+@@ -619,7 +619,7 @@ gf_inline void mul_x(void *r, const void *x)
+ 
+ /*  A slow generic version of gf_mul (a = a * b) */
+ 
+-void gf_mul(void *a, const void* b);
++void ibrdtn_gf_mul(void *a, const void* b);
+ 
+ /*  This version uses 64k bytes of table space on the stack.
+     A 16 byte buffer has to be multiplied by a 16 byte key
+-- 
+2.14.1
+
-- 
2.14.1

             reply	other threads:[~2019-02-16 11:23 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-16 11:23 Fabrice Fontaine [this message]
2019-02-23 16:24 ` [Buildroot] [PATCH 1/1] package/ibrcommon: fix static build with openssl Thomas Petazzoni
2019-02-24 22:15 ` Peter Korsgaard
2019-02-26 12:32   ` Fabrice Fontaine
2019-02-26 13:52     ` Peter Korsgaard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190216112319.4769-1-fontaine.fabrice@gmail.com \
    --to=fontaine.fabrice@gmail.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.