public inbox for elfutils@sourceware.org
 help / color / mirror / Atom feed
From: Omar Sandoval <osandov@osandov.com>
To: elfutils-devel@sourceware.org
Subject: [PATCH 0/5] elfutils: don't use dlopen() for libebl modules
Date: Sat, 06 Jul 2019 00:35:00 -0000	[thread overview]
Message-ID: <cover.1562372641.git.osandov@fb.com> (raw)

From: Omar Sandoval <osandov@fb.com>

Hello,

This series is a followup to my RFC [1]. Compared to the RFC patches,
this series adds patch 1 as a trivial cleanup, patch 3 to fix an
oversight in the RFC w.r.t. PIC object files sneaking into libdw.a, and
patch 5 to implement my suggestion for reducing the size of the elfutils
binaries by exporting libebl symbols from libdw.so. After this series,
libebl no longer uses dlopen() to find backends, and the total size of
the package is actually smaller than before (2.1 MB):

44K     ./libasm/libasm.so
672K    ./libdw/libdw.so
120K    ./libelf/libelf.so
52K     ./src/nm
28K     ./src/size
60K     ./src/strip
116K    ./src/elflint
28K     ./src/findtextrel
36K     ./src/addr2line
32K     ./src/elfcmp
40K     ./src/objdump
32K     ./src/strings
48K     ./src/ar
60K     ./src/unstrip
36K     ./src/stack
40K     ./src/elfcompress
32K     ./src/ranlib
236K    ./src/readelf
1.7M    total

If there are no issues, I'd love to see this merged, as it greatly
simplifies using libdw in environments where dlopen() is not supported.

Thanks!

1: https://sourceware.org/ml/elfutils-devel/2019-q3/msg00010.html

Omar Sandoval (5):
  libebl: remove unnecessary variable in Makefile.am
  libcpu: merge libcpu_{i386,x86_64,bpf} into one library
  Add PIC and non-PIC variants of libcpu and libebl
  Don't use dlopen() for libebl modules
  libdw: export libebl symbols

 ChangeLog                |   6 +
 Makefile.am              |   4 +-
 backends/ChangeLog       |   6 +
 backends/Makefile.am     | 104 +++------------
 configure.ac             |  12 +-
 libcpu/ChangeLog         |   6 +
 libcpu/Makefile.am       |  24 ++--
 libdw/ChangeLog          |   9 ++
 libdw/Makefile.am        |  21 ++-
 libdw/libdw.map          |  60 ++++++++-
 libebl/ChangeLog         |  12 ++
 libebl/Makefile.am       |  46 ++++---
 libebl/eblclosebackend.c |   4 -
 libebl/eblopenbackend.c  | 267 +++++++++++++++------------------------
 libebl/libebl.h          |   8 +-
 libebl/libeblP.h         |   3 -
 src/ChangeLog            |  17 +++
 src/Makefile.am          |  21 ++-
 tests/ChangeLog          |   5 +
 tests/Makefile.am        |  36 +++---
 tests/test-subr.sh       |   4 +-
 21 files changed, 331 insertions(+), 344 deletions(-)

-- 
2.22.0

             reply	other threads:[~2019-07-06  0:35 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-06  0:35 Omar Sandoval [this message]
2019-07-06  0:35 ` [PATCH 3/5] Add PIC and non-PIC variants of libcpu and libebl Omar Sandoval
2019-07-06  0:35 ` [PATCH 1/5] libebl: remove unnecessary variable in Makefile.am Omar Sandoval
2019-07-06  0:35 ` [PATCH 5/5] libdw: export libebl symbols Omar Sandoval
2019-07-08 21:14   ` Mark Wielaard
2019-07-06  0:35 ` [PATCH 4/5] Don't use dlopen() for libebl modules Omar Sandoval
2019-07-06  0:35 ` [PATCH 2/5] libcpu: merge libcpu_{i386,x86_64,bpf} into one library Omar Sandoval

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=cover.1562372641.git.osandov@fb.com \
    --to=osandov@osandov.com \
    --cc=elfutils-devel@sourceware.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 read-only IMAP folder(s) and NNTP newsgroup(s).