From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5860 invoked by alias); 18 Aug 2017 14:04:41 -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 3847 invoked by uid 89); 18 Aug 2017 14:04:37 -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=-25.9 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=-25.9 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-AM5-obe.outbound.protection.outlook.com Received: from mail-eopbgr30135.outbound.protection.outlook.com (HELO EUR03-AM5-obe.outbound.protection.outlook.com) (40.107.3.135) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 18 Aug 2017 14:04:34 +0000 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=u5VSGOYzKYOHNr9mjq4V5ZPjy+m6D1uHa7G9PJLEyJM=; b=YW+L7Iq4H1ciLfxnFp9WaOLyFo+gA+L2slI+lpCh6arpDD0eMvva5eQ1/Cwp8yVfaosG6cpjcXefZ1NKf5l1VIcZmx0+Ei/ny3oiQFqBWbq5Vl0VBpNXhXdDALCVuDC0VTcuFXTAl4YEQ8Ggu1gBlSzCf2JQIXvv4wfMDUpzYK0= Received: from [10.9.78.66] (62.220.2.194) by AM4PR0201MB1826.eurprd02.prod.outlook.com (2603:10a6:200:35::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1341.21; Fri, 18 Aug 2017 14:04:31 +0000 From: Ulf Hermann Subject: [PATCH v3] Check if rpath is supported and throw an error if not To: elfutils-devel@sourceware.org Message-ID: <3675fb88-568f-bc31-a40f-12d1c0ea516f@qt.io> Date: Fri, 18 Aug 2017 14:04:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [62.220.2.194] X-ClientProxiedBy: AM5PR0402CA0001.eurprd04.prod.outlook.com (2603:10a6:203:90::11) To AM4PR0201MB1826.eurprd02.prod.outlook.com (2603:10a6:200:35::12) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2a121d55-9f7c-43b8-0041-08d4e6420c5a X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:AM4PR0201MB1826; X-Microsoft-Exchange-Diagnostics: 1;AM4PR0201MB1826;3:JSdIgpAG1Zoh//Vw5hN4M1su2zojh5smG7Uxkb2p9xvAEnqGquzuQRpUxOCm611dBvgJC4QNJJH5PVrZjqBYb8wOZcn59u0cAQP6aTpYynFFZcAbBEL75No14THqs0GWAoyTiPj9D5OIbVgsCIy79OrnS1Z8zVit6YQH+Ayou23MWzNancLK/f7uBBo4F0hM59r/cu0OxnR84ZfAoFPwzoL5eeetkbAGvWTiWJRUx1zLZXr5zn6C158KHYznGqda;25:EndtBpLOC96mfJLn2lf7llYPmnNV3u6S0gD1VAxTwYOWbn2PtCC8syiit5j2oHum2IRXmKvIyNlpoXzifzoMi+RORcdeY1P+zjcPzA2MYR63VtNO2175T5sPKh2dlqpEOUG8YQeKdibeaicxWI15vz/a3J92oWbkA2PkokREoAYLRfCRe/VtCcoEzV7RrZ2BDzkKPrDYBo5zdSAtUVOns4DreEuZsiO3gjrRsTyFkH27bJ11vAGq+CepeRU+qbLiQnQeNPbE/CZhoQb6XkJlUl44X4B4MbACRlgkOvsw0uokvdL4eH575YhVg43ZKhPlaeNmtYsn1YhOnSF2f2XJTw==;31:r5xbp9kHJQh/BEtmsq+oL1fF1E64EGuYNiliowYhpBsJ4rvMYMSFEhGkHY/pvgSouC12Z14ErvsnkDqlJmCIfpXu2hMTAlCdxpfSmx1VipSQywpBg8KyNcnwJuX4aMWJJGYfRr+PoTV4htmiTONGWa/gCyRczdlZvAebSqV/ELLcc0GnUP03uXuCNhPzJUFhCvRN5hLI+GrWEx/ys+08GHjvWUiEfWggEdK1Gs9scXU= X-MS-TrafficTypeDiagnostic: AM4PR0201MB1826: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=ulf.hermann@qt.io; X-Microsoft-Exchange-Diagnostics: 1;AM4PR0201MB1826;20:0ZuWxcJCl3oyEz/qNwUWlZ7XTsRAWsYtPfCcYLYFpLuxZQPWzLhUc3pUtNuZ9HTXxbGW4VA4T0cn3Uapsa89D18Na/T4npYWWLeJo81S+/V2oNv/bHhBapXV3dD1jNkzCiQGj4tlsPuSRUDphlp3zYLAG+utLzP1f4wC3UfrkbNPb4Pyos6/Vh5rwKAJ9zXFOYWb/U8pOk0jAlhn2ERV8jJaj42OnhZf6IxYSm/IOh3dV50YnyJtR/J62Y0N4Kqs6qxKtgXrSDcTsUQ8diKlYYDDCOSqIiUyfOB8mH+fcxHnBlqBeAbZ83d8B/cLPeR1ThUGHdaSNOHF5KThw/7HzM085E7/AUeP1la2VbebNWrttA6QaA6YUP5tY9wfkxcWtpi/nkAl419oBC1gJt5LiWesxzz+OfBwDIJ50zfUixWjUTkG5Ijcaqw4DyPmFRaO9T4sBGuf67oj7dBynHvhudkxxDZ7gP1VdZsk06A3GSiFRVOMPW+KDN17xya6yfvM;4:bb82VcLyobaw6pIEKicEgIZbkKPAgP9Ls2miEFGsQXsFMSc78t5KBEinJIqc3RymSEPNlPq2d2rDXusUV4gOYv4G9A0Jr75LTjmGBjHE30OgC8xI5JWvRlEklJWH1QCWkvPSlNL4j9Yju3pJDLS5W8fDpMQUrDcCWFRC7tBSMsBwKnvKiZ11H+NxO5CTd8r0VC/5Y2iCd0sUCbHLpbsyakz/V9o7gk3zNjzsZr524FvXrTgJyMgsZQagGN5D7Qh5 X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(100000703101)(100105400095)(3002001)(10201501046)(93006095)(93001095)(6041248)(20161123564025)(20161123562025)(20161123555025)(20161123558100)(20161123560025)(201703131423075)(201703061421075)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:AM4PR0201MB1826;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:AM4PR0201MB1826; X-Forefront-PRVS: 040359335D X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(7370300001)(6049001)(6009001)(54534003)(377424004)(189002)(199003)(4001350100001)(54356999)(6486002)(47776003)(23676002)(86362001)(53936002)(50986999)(64126003)(101416001)(97736004)(36756003)(7350300001)(106356001)(77096006)(31686004)(105586002)(31696002)(189998001)(230700001)(42186005)(2351001)(68736007)(6666003)(33646002)(2361001)(7736002)(6916009)(110136004)(74482002)(65806001)(65956001)(66066001)(81156014)(25786009)(50466002)(2906002)(3846002)(81166006)(508600001)(6116002)(8676002)(83506001)(5660300001)(305945005)(65826007);DIR:OUT;SFP:1102;SCL:1;SRVR:AM4PR0201MB1826;H:[10.9.78.66];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; Received-SPF: None (protection.outlook.com: qt.io does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTRQUjAyMDFNQjE4MjY7MjM6anp2ZDQ4U01RKytpWjViWTZubkh3ak9j?= =?utf-8?B?YjA2VHdsb2tLMllVcHgyb1RoVXVEWERBMWwzSDhMTXQrMlBrY0ZxVld2VHNw?= =?utf-8?B?aGNGSHlHRFpad0hscjdJY2xjdUlTVzFDWlRpZWRWbndwemtFUFlYZStMNG10?= =?utf-8?B?OEpBSTgzak1JQjFBVHZVSDU5SnI4M2hGdTR3UXBTbXBrVDlHaE1hOS9CdE5p?= =?utf-8?B?Tk5RMEZiUnpXWWNpM1F5SlFJZVdmSjhOS2U2bmE0bmdOWUFoSFFwcmg1ZjJV?= =?utf-8?B?Z0l5T0dheTY5WjYyek44SE54UU1WQlB5OWxoWW9SK3dONDRLYmpTR0gxb3pX?= =?utf-8?B?WXVUbGsyekJ3b01HdUR3TG0xeTIvemhJTmNpU3lUNVN6MFBQTEkrU29yMU5s?= =?utf-8?B?NVZyVmZRaW5OL2Y0T3YwREtkV2lPcGZhOTRoQm5TWk5TOWM3MWk1enBUT3RO?= =?utf-8?B?MURDcDRCbVBVM3paTzY0ZzlXcWYzTDFYR0RmZFJsZUVicHYvVGZqQTJCUlFk?= =?utf-8?B?eHRhd09PUkxzTk5QWTl2Wk9sK0JHYVZwKzd2OURiU2t5am5CYk5yUFBjdHlk?= =?utf-8?B?dFE4K054R24xbGRTR2oyWXVYc2JjR1NiN05nRG5IaS9IcEYwSlNzK3FrZ2Rw?= =?utf-8?B?SEQ1R2ZxUjV5WlNlQW1xbm1Eb0lwZW9YVUt4RGszb215T1A3UlpOVGsweWxz?= =?utf-8?B?YVdqNnorQWsvdk5VK0FhOEVzdTNiaE5PU0dsWEFSU2JPSmtKS21JT3pSc29Z?= =?utf-8?B?OXRKRWZ5cnFkdzlQZ1VKZ1UwbnFhVmkzenVjOU5uOHlUUWllWmdBUDZrdHdz?= =?utf-8?B?RGNhVDJvQkJHSGJPWXJDWlV5aUNDOFdIc204VGxaNllvWVhZVzNhUDh2OGow?= =?utf-8?B?RGdJelE1bmxwamNKWXcveW15Z2pPK28wS2FycityaStpZjZaRXRUR1RyMVFW?= =?utf-8?B?eXpzQjkyZ0RGOHJ0ZEdjQ3VLbGk5a3BVZkJpa2lzbWFMOGtRSGd2QTl0MEwz?= =?utf-8?B?bUlBenN1ZUlKMVZGMEtMQVpRYVlxRHVOMmE0b2plWlRwa05TZkZvNGh5cHRn?= =?utf-8?B?eWpISUcrM1ljcjV5Zmp2VmY2OG1UeTlDT0RISW5YdmVoM0pSVGE3aDM2OFFE?= =?utf-8?B?UVZNaUxjRmpWTkllS2dLSEoxRU40TTFzVVR5TWFNVFB2YTlDNVdUNDduRit0?= =?utf-8?B?Z0kxOE5mTEZPV0Vjc2pwUTJvMHdCeVprQThHLzRyN3p0TlExeloyQnBrNmU4?= =?utf-8?B?OTQ0TXNKTjkrU1FiL2lXOGxWc0VhYkRyNEt6bTI3eVlUWElFTE1lYXpWTjhL?= =?utf-8?B?OW1XL2U2VCtvUEtNQXkxWkZkeTVCTVNRVFlVQ09nUDZZUzZ2THNnMnlsdHJi?= =?utf-8?B?SjU3VHRUK1hVMGdGVlhYUkRaaVBGUjk0b0FnbDFUK0xXcHl0SHdrTWlaRWph?= =?utf-8?B?V3BGaDM0ZUoyM2VZeEhtaTN3cHVURk0zMnFuU0JheGx2bU5VMFhPQ2RiUVJD?= =?utf-8?B?STNtMjlKUTNYL2lHTTdma0RIMUEvUW5rYW9pQlZQYjlsS0xoNGxpU3NHOGIy?= =?utf-8?B?RExSekNjYk41cHczZG1yYW5ubE9qQkpkL2xqMUtYcjRPaytqMEVNVEszc3dl?= =?utf-8?B?SlN6RnQxc1RrY2t3eDNPeFpWQ29DKzFPeThOWi9NOUFybTFKNkJQUC9zK1lO?= =?utf-8?B?ZXBQdWc0VVB1V1czZ3M5Z2xtbE9vZENubVlldnlINU90Y2dQek1xbnNDQ2NB?= =?utf-8?B?Qmw5M1RHU0d6WUllQnVzb21nPT0=?= X-Microsoft-Exchange-Diagnostics: 1;AM4PR0201MB1826;6:GBwBLy5gUGXj5wwEXV6DtEHbx+XrrAl1tO5o127NdMSR/IDCfXx748WMzy2UabOzLHp7vhKX9rmsWyDBUBVAoI6BjSztDZUc23KHScw56m335pmI7n4HZeFFUqY6jcTkjFNj1qFK3dZWhAc7LCqUSRxyhcpggnu/37DvqtqZEXCMwTnyZffc0vU5HhxgcWioQF40l28gI/jzpoAzUkg2FYAiPdizCybuYiswU3MHFeNU0jd9avT6TdiYqpaMj+J6L+oeU9iQflYJ09Ir0xF+mV01CBtwldv+k2UHP6UaRN4VuKKd1e3N6U01kQXI/r3zzjEgKMrJSTiz9LpztPNqwA==;5:+mEy7mRYv6WTE6tMe46yxk2yxwUafdCxb36kBH8Q/MtlOvxUJHqEi+NzCGFcPRofQagf0J8BpwPWIPvjQW4yCqSHfmgOsCWivW/xYYFnpv94fNVDCrbn9wmwuTWCJ+MlvUVq+XHrUiKfNom2QbdRPw==;24:AU2CHY91NZcJMvMWBI4jK+n89HkQWaEr2d6VaQNE7FQ5BvqqV5P6hgedJxkXuxk/sdTCQBGGLbWeyS9NhzBfiYCvJUA64b8E5nuHIxcgswo=;7:KQ+pY26ZMFKbLxMC5Av+SbIc/hLyu4ZsJ2g9kAs6z6qsQTnzEPpxOltYPIYLMya9yUnpdESdwnPMoB7GWTDapXJk2LCDenP83CR/07AOWs9TjVjumkBI/1dbc3RT23DRSYatezggAuVOqFW22nYXoLDNQFoL1lumLNJwomwW8NYrJkdoYmFwh/tFELdsJFnkSsao7T6zHmASbBJe9XmlkpEVHPnMUM3cAeM7kprWkYU= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: qt.io X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2017 14:04:31.4912 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0201MB1826 X-IsSubscribed: yes X-SW-Source: 2017-q3/txt/msg00083.txt.bz2 Some systems don't have rpath. In that case the backends need to be made available by some external mechanism. Provide a configure switch to explicitly turn off the setting of rpaths. Throw an error if that is not set and rpath is not supported. (Reposting rebased patch, as v2 was never reviewed.) Signed-off-by: Ulf Hermann --- ChangeLog | 5 +++++ configure.ac | 22 ++++++++++++++++++++++ libdw/ChangeLog | 4 ++++ libdw/Makefile.am | 8 +++++++- 4 files changed, 38 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index b720f2cd..47b37565 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2017-05-03 Ulf Hermann + * configure.ac: Check if the linker supports -rpath and add a switch + to disable setting of rpath. + +2017-05-03 Ulf Hermann + * configure.ac: Test if symbol versioning is supported. 2017-08-18 Ulf Hermann diff --git a/configure.ac b/configure.ac index 4ab8816a..6856ff7e 100644 --- a/configure.ac +++ b/configure.ac @@ -208,6 +208,28 @@ fi AC_SUBST([dso_LDFLAGS]) +AC_ARG_ENABLE([rpath], +AS_HELP_STRING([--disable-rpath], [Disable setting of rpath])) + +AC_CACHE_CHECK([for rpath support], ac_cv_rpath, [dnl +save_LDFLAGS="$LDFLAGS" +LDFLAGS="$save_LDFLAGS -Wl,--enable-new-dtags,-rpath,/foo/bar" +AC_LINK_IFELSE([AC_LANG_PROGRAM()], ac_cv_rpath=yes, ac_cv_rpath=no) +LDFLAGS="$save_LDFLAGS" +]) +if test "$ac_cv_rpath" = "no"; then + if test "x$enable_rpath" != "xno"; then + AC_MSG_ERROR([rpath is not supported. + Use --disable-rpath to build without.]) + fi +fi + +AM_CONDITIONAL(RPATH, [test "x$enable_rpath" != "xno"]) +AS_IF([test "x$enable_rpath" = "xno"], + [AC_MSG_WARN([Disabling rpath prevents libdw from automatically + finding the ebl backends.]) + enable_rpath=no],[enable_rpath=yes]) + AC_CACHE_CHECK([for __thread support], ac_cv_tls, [dnl # Use the same flags that we use for our DSOs, so the test is representative. # Some old compiler/linker/libc combinations fail some ways and not others. diff --git a/libdw/ChangeLog b/libdw/ChangeLog index 79cce5ce..8020c569 100644 --- a/libdw/ChangeLog +++ b/libdw/ChangeLog @@ -1,3 +1,7 @@ +2017-02-28 Ulf Hermann + + * Makefile.am: Don't set rpath if it's disabled. + 2017-08-18 Ulf Hermann * Makefile.am: Drop libdw_so_SOURCES. diff --git a/libdw/Makefile.am b/libdw/Makefile.am index af7d7793..3257c014 100644 --- a/libdw/Makefile.am +++ b/libdw/Makefile.am @@ -99,6 +99,12 @@ $(srcdir)/known-dwarf.h: $(top_srcdir)/config/known-dwarf.awk $(srcdir)/dwarf.h mv -f $@.new $@ endif +if RPATH +PKG_RPATH = -Wl,--enable-new-dtags,-rpath,$(pkglibdir) +else +PKG_RPATH = +endif + libdw_pic_a_SOURCES = am_libdw_pic_a_OBJECTS = $(libdw_a_SOURCES:.c=.os) @@ -111,7 +117,7 @@ libdw.so$(EXEEXT): $(srcdir)/libdw.map $(libdw_so_LIBS) $(libdw_so_DEPS) # not fly in a setuid executable that links in libdw. $(AM_V_CCLD)$(LINK) $(dso_LDFLAGS) -o $@ \ -Wl,--soname,$@.$(VERSION) \ - -Wl,--enable-new-dtags,-rpath,$(pkglibdir) \ + $(PKG_RPATH) \ -Wl,--version-script,$<,--no-undefined \ -Wl,--whole-archive $(libdw_so_LIBS) -Wl,--no-whole-archive \ $(libdw_so_LDLIBS) -- 2.11.0