From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 50605 invoked by alias); 6 Jul 2019 00:35:17 -0000 Mailing-List: contact elfutils-devel-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: List-Subscribe: Sender: elfutils-devel-owner@sourceware.org Received: (qmail 50594 invoked by uid 89); 6 Jul 2019 00:35:17 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.100.3 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-11.9 required=5.0 tests=BAYES_00,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 spammy=greatly, Omar, omar, HX-Spam-Relays-External:209.85.210.193 X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on sourceware.org X-Spam-Level: X-HELO: mail-pf1-f193.google.com Received: from mail-pf1-f193.google.com (HELO mail-pf1-f193.google.com) (209.85.210.193) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 06 Jul 2019 00:35:11 +0000 Received: by mail-pf1-f193.google.com with SMTP id 19so4934537pfa.4 for ; Fri, 05 Jul 2019 17:35:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=osandov-com.20150623.gappssmtp.com; s=20150623; h=from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=h2kTRRpNfwBO1r0qOnY1rIeXVZU7R6hBGAlqX37AVTQ=; b=K2bvO6+g4WADD/kUAiXi4MhZ4Dy/je/oe1X13c5yZxZNk7yQ09ExnEtYwK33FFXyGV 7KVpL0HWB9z1ctsncJn6e8Wp4W5KgVwkHoMfOHab5AEqiWSSscNfyhoTSXEM+pCFYeRj 3FXgRFmlgvIJGX06uJM88XdD+ITkRFhHrTKPScNANkF+Hor+o9Ce1a29TdjDczQpFQrl Ut3kCsR/rvzrO3pX0HSGqPxse5JBKlJlvoQ7p9NezWZ/US9Mfd7K5AbOLzE7IrbL9CqU 148bROrW1/lnORlL+Z7oB25ZyP2Obtp5BHW4bNDPpycfJ6a7rOYODWh3bjzvzR1eR5JR 2ucw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=h2kTRRpNfwBO1r0qOnY1rIeXVZU7R6hBGAlqX37AVTQ=; b=OGnqREM230Irrjit6G+1rCNctQVbYOFvLS8WBdKKtanHljhViDM3yRh0duxompTfSj xDEDXBkI58xPgZ1E8YvR3xxDAo6DXxdnDYLukq8+BNi0TeS+720m+wfF7E4+3pEjZXpD hRc6Z78tj8jZLpXbxlnWRD7n7htBHSadSU0R1igSUudX3fLjnxnfWVh6oqphC/cLA1u+ a252jL204V7tPtUUrA6i3wWKSpim2jjidaRmDho/glZa+qtO/LIzUryewYQoFCSu0F3r etxXg4saJ5kn138RHE76jNJBMSDNOLEhqZR9BnsVAjo7I+KY5bWWb6qrhPwFEeZwzXMJ r3RQ== X-Gm-Message-State: APjAAAXIrwuG7o4Kd+s0bUzZUMzQBLKLW/o+F5N/Crbw9Z7G33N3P8TM PvWxy5Sf9R3fxYQB+O0CubJO2eN/KOE= X-Google-Smtp-Source: APXvYqzvguhm81HknQ9UDIcNct++MmW20pxPrjXnAuKlGAHX7k0BXSi1wJV6UM0WA3wJObkAaqir+Q== X-Received: by 2002:a63:dc56:: with SMTP id f22mr8403602pgj.305.1562373308882; Fri, 05 Jul 2019 17:35:08 -0700 (PDT) Received: from vader.thefacebook.com ([2620:10d:c090:180::1:33cc]) by smtp.gmail.com with ESMTPSA id v10sm10787640pfe.163.2019.07.05.17.35.07 for (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Fri, 05 Jul 2019 17:35:08 -0700 (PDT) From: Omar Sandoval 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 Message-Id: X-Mailer: git-send-email 2.22.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2019-q3/txt/msg00020.txt.bz2 From: Omar Sandoval 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