From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 91426 invoked by alias); 17 Feb 2017 15:11:43 -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 91406 invoked by uid 89); 17 Feb 2017 15:11:42 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.99.2 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.3 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy= X-Spam-Status: No, score=-24.3 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on sourceware.org X-Spam-Level: X-HELO: EUR03-DB5-obe.outbound.protection.outlook.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qtcompany.onmicrosoft.com; s=selector1-qt-io; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=rG/2o32puASfVQQZlJNg8Di90Rjs5Zz5ZP1JS1ImAMs=; b=kGtkJMA73SQtFKJ1LuJWJB6VKtGj0lCTt6D+yP7xSmvqCUJVTZrlYT4d699C2OyEzi20zia6rC/0DGka7UjGeNg2j1eWcDW70vuaRY4YGKYhheQU74zlW2h58U3E21Id367gpUQWrJwaCYZgYZrU+60Dsc1W3LcXrHAWSU8Rjfg= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ulf.hermann@qt.io; From: Ulf Hermann Subject: [PATCH v2] Unify linking of libasm, libelf, libdw, backends To: Message-ID: <90584aa0-6c04-ca62-9994-8b2ede687dc2@qt.io> Date: Fri, 17 Feb 2017 15:11:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.6.0 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [62.220.2.194] X-ClientProxiedBy: AM4PR0802CA0020.eurprd08.prod.outlook.com (10.172.214.30) To DB5PR0201MB1864.eurprd02.prod.outlook.com (10.167.225.150) X-MS-Office365-Filtering-Correlation-Id: 5a2e6891-a3cd-4057-7094-08d457473f47 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:DB5PR0201MB1864; X-Microsoft-Exchange-Diagnostics: 1;DB5PR0201MB1864;3:GLQK+Z5lE18TPXbnaToSQF9KB89MQh8jROq5bppuV6Uo+u3D6qAuHecCqwlRCsxyyn7jLWl1qL9YirmF6dl+YntEX9g3W7z4jqW2cDCHesenchPHzJWrjb7dx6AciRQ6XUTSJdy3UmGeFsv6JNKtlsJm46o3W1teSBZPRLbwgWmZRX/1GHbjQepe/UjF/logFxjOCgoXnn0BT7g6Ipel6z+i2luRiPoI+6s6Eh4teo7gmwNgr3zAFUeRXSnm4t3OHTUzsp6OF9q75/jhWP1ikA==;25:zyzuwE97noBfrGZnDg5RtV0UeAliq+FLaJSC7nO2TF0aDXK9PksWKtb2TCejpVMQQsdDf0PvK3cZ3WdfrTsT5nqXTU4gDGUaKq0LXrRaSM3h7mjuyg5zjC8Sh5M9jcEnXSzOYme058O+Z7qx8qHfHA7DtuBnyd6a16N4k2m59Fy98ZZ6S4uNcyDsSewWtvCOA9iIuV+UlKEv6YMLtFG04f1kUS73Zo9ndJ5kU91kXWmBWYFRTWF2KYkFjIe7vtTY11zVJVT34UQIjOmtmLMF2WD1FjJyb98CyRuxGlfGG3wLzORH0Wd6Myj+otiGpKcISqf0XCvqxZtyB1L21Vkz30Prd0zax3MO8nByC4mei8FuAtMDYFmtfB0MZwo5zakCCFIlhU+doSQq248cO2CkUF5uM86Di0GMPcxoqk+YygW74PQ8CGJN9oeyULeIup2EKjJ4JsUIlv/Gh0ZJqZ2e4g== X-Microsoft-Exchange-Diagnostics: 1;DB5PR0201MB1864;31:Q4DmaJMWSMiIbDJxjhreulIwn7q5g/c9zVnR7fkPFfmtYEd9jPVoJQGwlS/mgTmKVJwHekT7d+xWlh6FEEn3bxmJpz9XlmeSkE6UMteQ0x2COUIhDVpPRb04HYNDFjrgUYLVTbHcBL76chlHb6fer8PnvLfpsLliwCjGVrFGgeIpyiXUiKn72KRzmqPzOY0wz0UDxig+ZEmmS8sm8A8z5PMhsBPNWi62wTmCraS0RTQRDTW97t9HnvF6qK41Xo3CivEFXy/ikogo9lAmupjbMQ==;20:1cLdSGzzkXntfXR+jNVdbysSQdiPza4JuFC9XynteqZ8gEvTHHQjIX1JmLOaY+GDs7kawgjCVY8hHOF0oV6gbO/AsmTdt0f0Nu6VSnnkSFie3H2OkvZVZ7Bg2BQ1KM1VuNCw1VINSO3Q+PhpeMV6iVgF1Xc46lYF/+rb+mZ8qglsf1dhnqNxsVxaziFGHL4DHPhWuR91K4Wr1vEGQfZPiN3tqFIbDuH62eDsEy2amSsvnlzMr04qUYXkDw3b3CGe X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041248)(20161123564025)(20161123555025)(20161123562025)(20161123558025)(20161123560025)(6072148);SRVR:DB5PR0201MB1864;BCL:0;PCL:0;RULEID:;SRVR:DB5PR0201MB1864; X-Microsoft-Exchange-Diagnostics: 1;DB5PR0201MB1864;4:lBzywdJIwi5Jfp+DwGzLn8az+OUMN7e8biYYGNLmcD2ewCN2fbwpkLtL2h9VAVU13XRtYgbqOr/BsVdpCWIGVr/5APpFVCeE+nwlheNWZiCxLCrJt1skL1Z/poJHze5azfTa3EaaIu6AQkKJwkcelWcaJx3tSOffJSS+jV+pwBZx9GERlqESQNHkZV5iNQx/lJkFcmPty3kcxLnrGRbzc5ys8aLBoC36xg20XFoOdQaWNTnbzGoHPKT3xU7bGpHWa+ia1QLJ3bHouxHk5AOfPQm0q/fY6c0Wk5+brdnwcYoCeFJHRB7ZnqYPe96RgKT+tiPHLwIEjBHrU/ksIkVOqDqwM/PSxAAF1yqA7LOidfn0plMPMKtHGzip4eSukTOwhmOV2v0nhkUbk/DG37ERjBPLWxp9VW8dQucgN8zSXpOlGs1UulLVTtQNnzznPBLkNLHUISCWEdchux4AgF4ijTtCzwuUXFOQ9ja0b6jkWurtksZAfG9Tl2AibD4sTEE5e0O2GFgXdYN4WpworOYLYHnkhVdLA+pg8p1U+ywAjwto0zDmA4JM2FYqm/+Oo2zucyzDC3oOxZOvBnZwnXRcIDSPI4LHCc3bUIOWCK1E5eQ= X-Forefront-PRVS: 02213C82F8 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6049001)(6009001)(7916002)(39450400003)(199003)(189002)(54534003)(377424004)(81156014)(81166006)(6486002)(8676002)(77096006)(450100001)(31686004)(42186005)(33646002)(4001150100001)(106356001)(105586002)(4001350100001)(5660300001)(97736004)(189998001)(25786008)(83506001)(90366009)(68736007)(50986999)(53936002)(31696002)(54356999)(6116002)(3846002)(2906002)(74482002)(86362001)(2351001)(23676002)(66066001)(110136004)(305945005)(36756003)(38730400002)(47776003)(7736002)(6916009)(230700001)(64126003)(50466002)(101416001)(92566002);DIR:OUT;SFP:1102;SCL:1;SRVR:DB5PR0201MB1864;H:[10.9.78.69];FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; Received-SPF: None (protection.outlook.com: qt.io does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtEQjVQUjAyMDFNQjE4NjQ7MjM6d1c2MHI0SjF2NEFXNmgwZGk0ZUF6alVk?= =?utf-8?B?eWV2TUtUMTJhM1lwaHRENi9SYm80NTh4MVdzTkF4ZFhZM2hLblBUdDBoNU9B?= =?utf-8?B?OFkvdkpjdDJMV2RqNGZVMmVwOUtzaXRmZWRPa3ZOUFI5MG5PSVZ5dlpFUmNE?= =?utf-8?B?bFNERzV2RFB4VVk4Mnp0M2orL3JrYVRjQzVQVTJKL0hxZkdHTnN3VTRXaHM2?= =?utf-8?B?YS9DL0JXb1BIL0tkM2ducy94ZGlTZE9rMjhyNXRJdXV3aStEbkE2OHFhd2d2?= =?utf-8?B?Uk5hR0JqM3BqWEduVFlxR1QzaXdlMFZmY3ZGWGs2SmFWK2ZJVWo4T1FWYW9O?= =?utf-8?B?RkZMWkFXL2QrdkFwV3Y0eFFsbzRtSGZkaTd4V3pDaWg4Z1pXUXA4WjZlTUVY?= =?utf-8?B?NjczN05WbU9qRGpQQWREdUdRRUw4S0VSMEhNMVI1MC95VnpqR3pUK0NZWEtT?= =?utf-8?B?enAwRUdTK1pqOEZZUGhHaEJneUVnaFkrSkt0OUc0RFBWTXhVcUxxQWFjU0lT?= =?utf-8?B?cXRIbFQvSVcxcThneFo2RWJQV1E0MmdYZTI0UENmQ1Z2eUpaR28xcEpzbE5k?= =?utf-8?B?bVBhamNpbnRqd3BvN2wvQ1N6VFl2RmJqVjhId3JQdHpQVXRVSmVYdGEwZEJu?= =?utf-8?B?cEU0Y0hqdFJ6QWplYzhFZXNJSnFseE5LNHhUOFRXUmIycVFUVytoSUtHRlR3?= =?utf-8?B?eGttNHlySXdGYUsvRjFNZ05seCtveUo2cEIvZWVYajVXY1VjRGowOExLZldh?= =?utf-8?B?Ym9XZjZmdGt0VUY4dFk3Q3hLcWJKSW5UN1RucFhUVEJwcGRSczJFMFhjZmNm?= =?utf-8?B?Sjh3Z0lSYkdnWlI2SXJxNUV3WlFvaHQ4V0Z3ZmZLSUVTdTYyZWx4THo3NWpZ?= =?utf-8?B?WHZBTFlPTm1KWVNNbzlsaWhJbVlOUXlySTA5N0pETFZPRDlCQlNiZ1hsQ2Z2?= =?utf-8?B?bDNySFRaZ3FMbzAwNkJHZEljbmNQc1lXMEIzSjJzOVI4Nk5DWTRyZWR3Zndw?= =?utf-8?B?aVM2Z1M5WHVmSUFnRDBxN0doVTdMZ1U5VVIrYXphNGRqcnJsUXBYVGxNUEtm?= =?utf-8?B?eTJqdnFYcUhaV0pyUDdxb1VJZkgycWxFd2M1YVlqV1FvSFNUS1liUFRFWnFU?= =?utf-8?B?cHRsK21zdko0S0d5aERaUHFVZ0EvaFRCcEI3SzZ2djZsdGh1c0poaXRLcjZI?= =?utf-8?B?anBIVFRIMnNPdWZKMzRmRy9MMlNIVUlTalhhSEpYTTdYVWNJSXFtSGN5d1E3?= =?utf-8?B?QytWV2UxY20vcElNSkdacWRHZkpORlAxdTdjOFpGcEYvelJRcjdNeUVYWEh5?= =?utf-8?B?N2xDQVg3K0FnbmpqMW1VcnFNZzVrK3dGTFNRYmxsRnJ2bFBTVHZ2bzJhUDBr?= =?utf-8?B?WlN0RGRQY3RWUlg0Y1J6azdUdkIxSVcxejJCeUY3MTRDSVZsSnZGV0o3anJU?= =?utf-8?B?RDZ5bVU3VHpubHpKMUNodTJUbmRMaFIvTDBOVDlUeHBUZHBmdjRaV1dweTlx?= =?utf-8?B?dDFydmN6bHpsa1pyM2VkQ1hIb1lTUFRoTXhucTF0M01lc2Z2bnNiMktJc0pq?= =?utf-8?B?bVR2WGdNb0xVL3pMejVLTFI0OCsrZEgzblJyRUZhRlV0VkpnT05waXdEdUEy?= =?utf-8?B?Tjk0Q0h1MlN1UWEwRHNhRG1NNmdiRlQ0dHZyRzBKeDRQSHVVVzRTaGpQdW94?= =?utf-8?B?QXVtRWJnRWpUVS9Fald2eGxlTUQ2dmhIdDVGc1ZNTHVDOHJjb3gyVlNBSFA1?= =?utf-8?B?SXBYRU1zZ0I0K1ZxaGh0Y2RBPT0=?= X-Microsoft-Exchange-Diagnostics: 1;DB5PR0201MB1864;6:FTooWN6e+NqZ+X2LMIAfORJ6aI5/JLxjnqVmSroJBjTeXb0UHH7/u9d6CBc1tfLZpfRTKx1Mt6qsIpCHXGjWBmmsY2f3DZbRVoSbh7rn3GN/j5SF4P3G7r3yaS60YCNPCj9e03w59nGpil3i+aacN3bVS/FOrU41jjkiBQpDnW8eNqWOIkEIfqkDK4Rpa43WyTlQXebdaZQMXzSC9eNwQYVwTzjRUdzrgzl2avcxASd6I+CNvMDCwQix2qmoDgL8EXDOfD9Fa5SIlNXnnfEyjQkQVxZ7EYSRmGOnk+tuhKO/yMONlPV0veoVkzrPTUbkfX+xOv37F226DuimpLWNAYPOpGJBPVnfisD1eenqZcXRXXbSpmrt2BF941JW+kzBemFEeXfrzTtiYV1LYsHtGw==;5:ajgxTjO8uaoWNMV3Hat1K1DJ3096QYhwQrW4Dx+5LJTGPVcsmBtviGcPfH2oolsdv3uH44CyrieUjNXMacqdAFUhPmGVHN+Pj34ZiZc6vUjovaQXYBR0OFywwz39EB71Cb8UArtILSfpMjBbQb8Tvw==;24:DZSpVikwnpLO2abQ+Z21i40aueIo4oGJvsiVcsbj8k7+E2d3Msv4bCVfC4hv5GXkDpi66PpVky+ZIBVE48bDjvKLT+c4I4a01Ail2Bl1Im8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DB5PR0201MB1864;7:y7/oEGG9HfbfwMMN+nbSQw/ie/gU26bGznYqFiEww2TGjKYVTLJORzOwzWdK26ldegVPM4rOOmKUP21lMF7Xlz2z29qTH4k0GqUclqT1EI74gdbIn0RhI0oar3hh338xpSVbQ+Rsu9BrXQJVi/Yic5VmiA4sJ+97t4wN8zY0TJvjsIwEkm4AgvjN6fYIxFT7fpuo5NLHTke96Ev86Jq6TtSnyF+JKNeqhV6kR0zcQs3HL5xRzK+nyD5yKbUXaXst6eNnRg/WLAYOA2U2Blv8F/9LhRDnvaDgrcwRHNfPoq1e57KyEcjAup1EL8IJeadnH1xcd0+ddrATIFphXBibaQ== X-OriginatorOrg: qt.io X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Feb 2017 15:11:28.0912 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR0201MB1864 X-SW-Source: 2017-q1/txt/msg00061.txt.bz2 Link them all with -z,defs,-z,relro,--no-undefined, provide complete dependencies for the link steps, and add libeu.a to each one. libeu.a contains useful library functionality that each of them might use. The linker will strip unneeded symbols, so linking it in won't hurt even if none of the functions are used. Signed-off-by: Ulf Hermann --- backends/ChangeLog | 6 ++++++ backends/Makefile.am | 7 ++++--- libasm/ChangeLog | 11 +++++++++++ libasm/Makefile.am | 14 ++++++++------ libdw/ChangeLog | 9 +++++++++ libdw/Makefile.am | 15 +++++++++------ libelf/ChangeLog | 8 ++++++++ libelf/Makefile.am | 14 +++++++++----- 8 files changed, 64 insertions(+), 20 deletions(-) diff --git a/backends/ChangeLog b/backends/ChangeLog index 02efb00..e66a5e0 100644 --- a/backends/ChangeLog +++ b/backends/ChangeLog @@ -1,3 +1,9 @@ +2017-02-17 Ulf Hermann + + * Makefile.am: Add libeu. + (libebl_%so): Link with --no-undefined,-z,defs,-z,relro + and libeu.a. + 2017-02-09 Ulf Hermann * aarch64_unwind.c: New file diff --git a/backends/Makefile.am b/backends/Makefile.am index bfb6b84..79bd26c 100644 --- a/backends/Makefile.am +++ b/backends/Makefile.am @@ -45,6 +45,7 @@ noinst_DATA = $(libebl_pic:_pic.a=.so) libelf = ../libelf/libelf.so libdw = ../libdw/libdw.so +libeu = ../lib/libeu.a i386_SRCS = i386_init.c i386_symbol.c i386_corenote.c i386_cfi.c \ i386_retval.c i386_regs.c i386_auxv.c i386_syscall.c \ @@ -130,14 +131,14 @@ libebl_bpf_pic_a_SOURCES = $(bpf_SRCS) am_libebl_bpf_pic_a_OBJECTS = $(bpf_SRCS:.c=.os) -libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw) +libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw) $(libeu) @rm -f $(@:.so=.map) $(AM_V_at)echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \ > $(@:.so=.map) $(AM_V_CCLD)$(LINK) -shared -o $(@:.map=.so) \ -Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \ - -Wl,--version-script,$(@:.so=.map) \ - -Wl,-z,defs -Wl,--as-needed $(libelf) $(libdw) + -Wl,--version-script,$(@:.so=.map),--no-undefined \ + -Wl,-z,defs,-z,relro -Wl,--as-needed $(libelf) $(libdw) $(libeu) @$(textrel_check) libebl_i386.so: $(cpu_i386) diff --git a/libasm/ChangeLog b/libasm/ChangeLog index 26fc5a9..57b9ce1 100644 --- a/libasm/ChangeLog +++ b/libasm/ChangeLog @@ -1,3 +1,14 @@ +2017-02-17 Ulf Hermann + + * Makefile.am: Add libasm_so_DEPS to specify external libraries + that have to be linked in, and libasm_so_LIBS to specify the + archives libasm consists of. The dependencies include libeu.a. + (libasm_so_LDLIBS): Add $(libasm_so_DEPS). + (libasm_so$(EXEEXT): Use $(libasm_so_LIBS), + add --no-undefined,-z,defs,-z,relro, + drop the manual enumeration of dependencies, + specify the correct path for libasm.map. + 2017-02-15 Ulf Hermann * disasm_str.c: Include system.h. diff --git a/libasm/Makefile.am b/libasm/Makefile.am index 8094b05..9effa6c 100644 --- a/libasm/Makefile.am +++ b/libasm/Makefile.am @@ -55,17 +55,19 @@ libasm_a_SOURCES = asm_begin.c asm_abort.c asm_end.c asm_error.c \ libasm_pic_a_SOURCES = am_libasm_pic_a_OBJECTS = $(libasm_a_SOURCES:.c=.os) -libasm_so_LDLIBS = +libasm_so_DEPS = ../lib/libeu.a ../libebl/libebl.a ../libelf/libelf.so ../libdw/libdw.so +libasm_so_LDLIBS = $(libasm_so_DEPS) if USE_LOCKS libasm_so_LDLIBS += -lpthread endif +libasm_so_LIBS = libasm_pic.a libasm_so_SOURCES = -libasm.so$(EXEEXT): libasm_pic.a libasm.map - $(AM_V_CCLD)$(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \ - -Wl,--version-script,$(srcdir)/libasm.map,--no-undefined \ - -Wl,--soname,$@.$(VERSION) \ - ../libebl/libebl.a ../libelf/libelf.so ../libdw/libdw.so \ +libasm.so$(EXEEXT): $(srcdir)/libasm.map $(libasm_so_LIBS) $(libasm_so_DEPS) + $(AM_V_CCLD)$(LINK) -shared -o $@ \ + -Wl,--soname,$@.$(VERSION),-z,defs,-z,relro \ + -Wl,--version-script,$<,--no-undefined \ + -Wl,--whole-archive $(libasm_so_LIBS) -Wl,--no-whole-archive \ $(libasm_so_LDLIBS) @$(textrel_check) $(AM_V_at)ln -fs $@ $@.$(VERSION) diff --git a/libdw/ChangeLog b/libdw/ChangeLog index 978b991..0cc6049 100644 --- a/libdw/ChangeLog +++ b/libdw/ChangeLog @@ -1,3 +1,12 @@ +2017-02-17 Ulf Hermann + + * Makefile.am: Add libdw_so_LIBS to specify the archives libdw is is + made of, libdw_so_DEPS for libraries it depends on (including + libeu.a), libdw_so_LDLIBS to specify libraries libdw links against. + (libdw.so$(EXEEXT)): Add $(libdw_so_LDLIBS), remove enumeration of + library dependencies, use libdw_so_LIBS rather than relying on the + order of dependencies specified, add -z,relro. + 2016-10-22 Mark Wielaard * dwarf.h: Correct spelling of DW_LANG_PLI. Add compatibility define. diff --git a/libdw/Makefile.am b/libdw/Makefile.am index 082d96c..634ac2e 100644 --- a/libdw/Makefile.am +++ b/libdw/Makefile.am @@ -102,17 +102,20 @@ endif libdw_pic_a_SOURCES = am_libdw_pic_a_OBJECTS = $(libdw_a_SOURCES:.c=.os) +libdw_so_LIBS = libdw_pic.a ../libdwelf/libdwelf_pic.a \ + ../libdwfl/libdwfl_pic.a ../libebl/libebl.a +libdw_so_DEPS = ../lib/libeu.a ../libelf/libelf.so +libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(zip_LIBS) libdw_so_SOURCES = -libdw.so$(EXEEXT): $(srcdir)/libdw.map libdw_pic.a ../libdwelf/libdwelf_pic.a \ - ../libdwfl/libdwfl_pic.a ../libebl/libebl.a \ - ../libelf/libelf.so +libdw.so$(EXEEXT): $(srcdir)/libdw.map $(libdw_so_LIBS) $(libdw_so_DEPS) # The rpath is necessary for libebl because its $ORIGIN use will # not fly in a setuid executable that links in libdw. - $(AM_V_CCLD)$(LINK) -shared -o $@ -Wl,--soname,$@.$(VERSION),-z,defs \ + $(AM_V_CCLD)$(LINK) -shared -o $@ \ + -Wl,--soname,$@.$(VERSION),-z,defs,-z,relro \ -Wl,--enable-new-dtags,-rpath,$(pkglibdir) \ -Wl,--version-script,$<,--no-undefined \ - -Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\ - -ldl -lz $(argp_LDADD) $(zip_LIBS) + -Wl,--whole-archive $(libdw_so_LIBS) -Wl,--no-whole-archive \ + $(libdw_so_LDLIBS) @$(textrel_check) $(AM_V_at)ln -fs $@ $@.$(VERSION) diff --git a/libelf/ChangeLog b/libelf/ChangeLog index 8539cb5..408c451 100644 --- a/libelf/ChangeLog +++ b/libelf/ChangeLog @@ -1,3 +1,11 @@ +2017-02-17 Ulf hermann + + * Makefile.am: Add libelf_so_DEPS, which include libeu.a, + libelf_so_LIBS. + (libelf_so_LDLIBS): Add $(libelf_so_DEPS). + (libelf.so$(EXEEXT): Use $(libelf_so_LIBS), require libelf.map + from the right directory. + 2016-10-11 Akihiko Odaki Mark Wielaard diff --git a/libelf/Makefile.am b/libelf/Makefile.am index 167a832..88c1edd 100644 --- a/libelf/Makefile.am +++ b/libelf/Makefile.am @@ -95,16 +95,20 @@ libelf_a_SOURCES = elf_version.c elf_hash.c elf_error.c elf_fill.c \ libelf_pic_a_SOURCES = am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os) -libelf_so_LDLIBS = -lz +libelf_so_DEPS = ../lib/libeu.a +libelf_so_LDLIBS = $(libelf_so_DEPS) -lz if USE_LOCKS libelf_so_LDLIBS += -lpthread endif +libelf_so_LIBS = libelf_pic.a libelf_so_SOURCES = -libelf.so$(EXEEXT): libelf_pic.a libelf.map - $(AM_V_CCLD)$(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \ - -Wl,--version-script,$(srcdir)/libelf.map,--no-undefined \ - -Wl,--soname,$@.$(VERSION),-z,defs,-z,relro $(libelf_so_LDLIBS) +libelf.so$(EXEEXT): $(srcdir)/libelf.map $(libelf_so_LIBS) $(libelf_so_DEPS) + $(AM_V_CCLD)$(LINK) -shared -o $@ \ + -Wl,--soname,$@.$(VERSION),-z,defs,-z,relro \ + -Wl,--version-script,$<,--no-undefined \ + -Wl,--whole-archive $(libelf_so_LIBS) -Wl,--no-whole-archive \ + $(libelf_so_LDLIBS) @$(textrel_check) $(AM_V_at)ln -fs $@ $@.$(VERSION) -- 2.1.4