linux-modules.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Lucas De Marchi <lucas.de.marchi@gmail.com>
To: Dave Reisner <dreisner@archlinux.org>
Cc: linux-modules <linux-modules@vger.kernel.org>
Subject: Re: [PATCH] Link against libcrypto, not all of openssl
Date: Wed, 13 Feb 2019 09:53:25 -0800	[thread overview]
Message-ID: <CAKi4VAJeM2yiMbkxqMs8DQ1gzpiVfdF8GYpEmFog=nTMEgvHUw@mail.gmail.com> (raw)
In-Reply-To: <20190213152751.9138-1-dreisner@archlinux.org>

On Wed, Feb 13, 2019 at 8:02 AM Dave Reisner <dreisner@archlinux.org> wrote:
>
> In the previous build setup, libkmod.so would link to not just
> libcrypto.so, but also libssl.so:
>
> $ readelf -d /lib/libkmod.so | grep NEEDED
>  0x0000000000000001 (NEEDED)             Shared library: [liblzma.so.5]
>  0x0000000000000001 (NEEDED)             Shared library: [libz.so.1]
>  0x0000000000000001 (NEEDED)             Shared library: [libssl.so.1.1]
>  0x0000000000000001 (NEEDED)             Shared library: [libcrypto.so.1.1]
>  0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
>
> We don't need any symbols from libssl, though. This patch ensures that
> we pass 'libcrypto' to pkgconfig rather than 'openssl', getting only the
> library that we need:
>
> $ readelf -d tools/kmod | grep NEEDED

as per chat on irc, I updated the commit message to point to libkmod
rather than kmod.

Patch applied, thanks.

Lucas De Marchi

>  0x0000000000000001 (NEEDED)             Shared library: [liblzma.so.5]
>  0x0000000000000001 (NEEDED)             Shared library: [libz.so.1]
>  0x0000000000000001 (NEEDED)             Shared library: [libcrypto.so.1.1]
>  0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
> ---
>  Makefile.am  | 6 +++---
>  configure.ac | 4 ++--
>  2 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/Makefile.am b/Makefile.am
> index ddb25f0..758f4f0 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -35,8 +35,8 @@ SED_PROCESS = \
>         -e 's,@liblzma_LIBS\@,${liblzma_LIBS},g' \
>         -e 's,@zlib_CFLAGS\@,${zlib_CFLAGS},g' \
>         -e 's,@zlib_LIBS\@,${zlib_LIBS},g' \
> -       -e 's,@openssl_CFLAGS\@,${openssl_CFLAGS},g' \
> -       -e 's,@openssl_LIBS\@,${openssl_LIBS},g' \
> +       -e 's,@libcrypto_CFLAGS\@,${libcrypto_CFLAGS},g' \
> +       -e 's,@libcrypto_LIBS\@,${libcrypto_LIBS},g' \
>         < $< > $@ || rm $@
>
>  %.pc: %.pc.in Makefile
> @@ -89,7 +89,7 @@ libkmod_libkmod_la_DEPENDENCIES = \
>         ${top_srcdir}/libkmod/libkmod.sym
>  libkmod_libkmod_la_LIBADD = \
>         shared/libshared.la \
> -       ${liblzma_LIBS} ${zlib_LIBS} ${openssl_LIBS}
> +       ${liblzma_LIBS} ${zlib_LIBS} ${libcrypto_LIBS}
>
>  noinst_LTLIBRARIES += libkmod/libkmod-internal.la
>  libkmod_libkmod_internal_la_SOURCES = $(libkmod_libkmod_la_SOURCES)
> diff --git a/configure.ac b/configure.ac
> index ee72283..dffe278 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -110,12 +110,12 @@ AC_ARG_WITH([openssl],
>         AS_HELP_STRING([--with-openssl], [handle PKCS7 signatures @<:@default=disabled@:>@]),
>         [], [with_openssl=no])
>  AS_IF([test "x$with_openssl" != "xno"], [
> -       PKG_CHECK_MODULES([openssl], [openssl >= 1.1.0])
> +       PKG_CHECK_MODULES([libcrypto], [libcrypto >= 1.1.0])
>         AC_DEFINE([ENABLE_OPENSSL], [1], [Enable openssl for modinfo.])
>  ], [
>         AC_MSG_NOTICE([openssl support not requested])
>  ])
> -CC_FEATURE_APPEND([with_features], [with_openssl], [OPENSSL])
> +CC_FEATURE_APPEND([with_features], [with_openssl], [LIBCRYPTO])
>
>  AC_ARG_WITH([bashcompletiondir],
>         AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
> --
> 2.20.1



-- 
Lucas De Marchi

      reply	other threads:[~2019-02-13 17:53 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-13 15:27 [PATCH] Link against libcrypto, not all of openssl Dave Reisner
2019-02-13 17:53 ` Lucas De Marchi [this message]

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='CAKi4VAJeM2yiMbkxqMs8DQ1gzpiVfdF8GYpEmFog=nTMEgvHUw@mail.gmail.com' \
    --to=lucas.de.marchi@gmail.com \
    --cc=dreisner@archlinux.org \
    --cc=linux-modules@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).