From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 91663 invoked by alias); 3 May 2017 15:47:10 -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 91625 invoked by uid 89); 3 May 2017 15:47:09 -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.5 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.5 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: EUR01-VE1-obe.outbound.protection.outlook.com Received: from mail-ve1eur01on0093.outbound.protection.outlook.com (HELO EUR01-VE1-obe.outbound.protection.outlook.com) (104.47.1.93) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 03 May 2017 15:47:07 +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=ucanEQp+y9/tIn32Fn5RMnHhsTPI042u10ljtvGhyXk=; b=Ol3b1FnLZ/aTee2P9uMJM6W4J5+7N6BciQJuT0jio+RELRR8Vw+uyl3dc6k75KsDIHV7oAMVL8RG8kbjPtTGqzQYlPOKl7IvCYFDEw9o9UJHlUiRzelhsjeAllCAOXZ06nSAROFsGBSwvF+0lP80FGrjp2w8k/eSA2qlyfPUMdM= Authentication-Results: sourceware.org; dkim=none (message not signed) header.d=none;sourceware.org; dmarc=none action=none header.from=qt.io; Received: from [10.9.78.56] (62.220.2.194) by AMSPR02MB230.eurprd02.prod.outlook.com (2a01:111:e400:8022::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1061.12; Wed, 3 May 2017 15:47:06 +0000 From: Ulf Hermann Subject: [PATCH v2] Check if rpath is supported before setting it To: Message-ID: <81e6549d-999b-ef8d-63b0-e3634572f4d2@qt.io> Date: Wed, 03 May 2017 16:32:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.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: HE1PR05CA0018.eurprd05.prod.outlook.com (2a01:111:e400:51f9::28) To AMSPR02MB230.eurprd02.prod.outlook.com (2a01:111:e400:8022::17) X-MS-Office365-Filtering-Correlation-Id: 2ab4e410-e34f-4fdf-668a-08d4923ba6b2 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:AMSPR02MB230; X-Microsoft-Exchange-Diagnostics: 1;AMSPR02MB230;3:GY8C7pdjlktb0SRpWDdC07b5yXISTJjG15IIsnrjJ1V5DFMg3V4MFPk8KsnXFvun1PcfQRmJw4JIxe1v51UhZFtu9YboXV9/qN+oDXTvYdCaHjbf5mvIPxWV79D4xabYOxaibMZvYn2v0t4lDmj9yr566MqQ4hCBMVN8+PaDbUbElwfGOGvfR5RIvTy6zsrbyrnMrKIN2jFpM1VtNSEo2BlRmIT21u1WDuPOqk3q6a6ENFMPN1HlhRucNbcevA2WH51lF6fJ9o/Gdufwqcr7pJibedi+3ILyQv3bMU+HYOgfo72I0rtJSuJKP8wOqTMnqLLH9ut9nwXcojUdOQMlkA==;25:HErqI3h+5qjFguJITFU5vR+dTneZHsQcmgEMOOpO9ef4i/olZfi6oNyLaMgLKVXmajuzPw1OpjYIJs6G5jbcy+5m5sh0uTKhXqsD5E/nxdSnGahPq3ckfnfGyIaaQ3Qr//OEE98Pen8rxnClyaLnMEXhY4mgWVc6WSNyswTQwYZyR6RE9cWHDS5ALKr+rGv79z8Fh0kvOBynYu9EA8QPLOWZIzPeIj2tbr9afwomZCDY/Mq9FO4RGEnJj7BFuuxMoe/rfT2flukpEgU1HEkRbDuK/XI8niX33AZjohoa4vAGBtL76xq5IkNQjzckDMN5QBTbv5/4iQq4PEOxq3GgeOvCvr3Dkihp80A8MroTZaBNO4fGORdEhGHwRoj75bamwVmzFExnvH46+JpdvzQJjYEdoDDtKObk4B6QTOw7ZgbEsXLxVGr5VhdyiPM4q6uzcWhZgTKAZoQYqTqFbaIG0w== X-Microsoft-Exchange-Diagnostics: 1;AMSPR02MB230;31:VET6SFKP/a61d+M6WXVCmJVcfIS4bioKmiaNJ1DuzhZ9RCcORf2jd5IS1Xhy0cSTGoQiUdzQR9LkyEg+Y38xyh144lAjzhGzIotVmxHxzjjvgGTSVND4pWuEpl7404JeJeDt2+QbaGn7qoIxaSHSgxacAsnnJLipIu+qI/ocVNHeYyiHylJIl6HpcbPP/cBFKOmMy6ZTKw2hq63DVTP8MLFCHQJkBjvArpF5Qz5iE5EBrK58KETeUraCO0G+yd+fSN8d4JwkDv7xx42Xva5bWHsdu80icaY6ej3CTej9Zv4=;20:XJ7KUA1Y6V1PVaKFuok4gHiJy1HxXAZNAR2NTs7NX5C5RtKzaR/LIn/xIMniupMTTusbtIK/i0UBrBTkOXbCNdXb+NFT/+djGUADxbFtikRiC2pgHqrnYIDrCSNM/Va0ETqAJXV1EasDJovCNqIxJ9SkDG6IitylWMHtobV+AXKXcXUNwkis+gwUQ8HtvJwj3kOFRiMbVfQO2ehNNofQI/pI+8GKje2fZtNL521gbLNZaqbvCR4LflEBMqiJU6XA X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(6041248)(20161123558100)(20161123562025)(20161123564025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(6072148);SRVR:AMSPR02MB230;BCL:0;PCL:0;RULEID:;SRVR:AMSPR02MB230; X-Microsoft-Exchange-Diagnostics: 1;AMSPR02MB230;4:YOtyp//v5rrAL8e6bEMVsrxrOhQGjOeuMPe4MvCTwG4YxvEYxuzWixzAHU8FfLWPA8MlmdDWnb6wqJBfl9G9Da3mxvQ8YHL7rbOSCAugJqCMMMRqmbMggZbv3k6ZG7+Qs1az5LAh+wOuBymwuhXMY7dNK0dUd/Vj8HSu9i1OItD8yGZiT0wLhdDQvJk0uqxsKO2B/yuy6XQUQaS/K1cV7gDAYmv/IDbsSjQkTiWSoSVmcUvutpKW2hY2rvOMTCD1xc40R95OSeR+hIH9NvGpVioY2IAesCWlMJcfy7rbVYWIQGL+BbvC2ev3gzwTUCnK+7DFxHnuin5Xe0yj4uMd0L6xvJJwRHkBm7DjnHw2oNAn7OcpRP6RSngbwy3QnRcZNdBkPlE099C/NK7y1pnxXYQDosM/noiPQOYMxfdF4/PnINiozKIcCh21V0+hwa6kpm7rZv9l47lMal0oYIsuMKZb/J9UhCUfUpgeEAf2iG60oxRbaNQLReOELCxLKV9BvTDhFtlEA4PD/jGNUfR4ruIj/Ujw31TE+xHBxHjC/AG6CsbkIsylNkpAMxnaNs59JjUC/PNeeTykil50Ze7lnDbNx37q4xm/IiMlmMI5Blosvmd1ow51S8SnGIPz1KSaGMTiJRYufYC5VGnCVVUDwFSEdIFwOha7QrbdzA2flAbBlqFQjdsAjLugNgTWivpAIWgOwfv/DN9L1XCa/7o3qzozc1T/z8MENFO03WFwmLGGypPiNI6B8TvTqv4/Fke7aNWDf5RC7nmZiTgvXn3CWxuhxGAq3yVTbSXsXD9E2rs= X-Forefront-PRVS: 029651C7A1 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6049001)(39450400003)(39840400002)(39830400002)(39400400002)(39410400002)(377424004)(54534003)(8676002)(189998001)(6916009)(50466002)(2351001)(50986999)(74482002)(33646002)(54356999)(23676002)(6116002)(36756003)(6666003)(3846002)(81166006)(230700001)(42186005)(31686004)(2906002)(305945005)(77096006)(4001350100001)(7736002)(478600001)(83506001)(575784001)(110136004)(64126003)(53936002)(86362001)(31696002)(47776003)(38730400002)(6486002)(5660300001)(25786009);DIR:OUT;SFP:1102;SCL:1;SRVR:AMSPR02MB230;H:[10.9.78.56];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTVNQUjAyTUIyMzA7MjM6amx6dHBRQWlJR1c2YXVmckozblpQL1BpVFp5?= =?utf-8?B?VFZKT01jY0NGMHdqQXpjbHpULzdCSG9XdVFIcjRLSFd0RVNYZ0NMcUhHeVpY?= =?utf-8?B?eWZ6M09pMkVqZUNVaUczSGl3N1ZncVAzZHU1YUgrRXhub0FUMnc5NWY3cmtv?= =?utf-8?B?ZEc5UFRUSm5kT2lnSDdRbHZpQXlVMlJsUzVBMDdydW44Qm9WMmh1UHY4QjJF?= =?utf-8?B?R2E5QXlBRVBQNE1RZkVqMExtU043QjYzYmRieVpwYmNEUUR0djN3YmlDYlJa?= =?utf-8?B?dmNWaVZCMFlIZGVUSm0zYjRtZXdBOTk1a3h3NVZzc0UxQWhrSnpWejZqK3Zs?= =?utf-8?B?dnV3aG5MTkhMekdRaTZFYjkycHNYaXl3MXl4RHNrdTNvY1ZLeUduRUcyR1F4?= =?utf-8?B?Zk1Mb0s0K2hoVVA1em85ajNzZ3o0c1ZxOXF0OTlZR3R0MTV3VGlTMy9vMVd2?= =?utf-8?B?UVJ6dnE5SmlYZGJXSWh0S21IM1dDelBRM3Q3QjVEdUVIYm0zYXl0d1liWXFn?= =?utf-8?B?dW41NC9RMXZSdlhoMmdkZWsrcGgyQ0VpcDZjcVdWRkNRSWRkbmU3d21NMlN3?= =?utf-8?B?dlVRUFJFSGJhZGZPWkZyV0JieXVSR1BTNGVZV3RIcUVOUnJxN3YvNW5kczNR?= =?utf-8?B?UUJST0J3NmJBOUdPd3F1ek00aG1TU3dESnVuLzhKbE1PSVBFMVAwcUozdVBQ?= =?utf-8?B?VE9mV1hzNzQzV3NuV054QjRJM1BtbkwyWWN0U0paUU9VTml0UzRBWmUrODhD?= =?utf-8?B?ODZuZWFZTFJYMVkydnQyRjducDhmbkl4d1BrY2xkWVduODFFc1JJWDNSK09Z?= =?utf-8?B?VjlBY3RPYWQ0L1FKYjdGV0ozY0thZ1JsNG1HTTJoVlhzQTN4ZXY4OTEybTNr?= =?utf-8?B?SzdwMm9LZ3FRWVRUZVdCZkRURVJoMVprOGdpc1QwSU13emI0bTdVM2g0aTlo?= =?utf-8?B?U3NQNytzVDh5OWFoRUltMloyYkNlcWxZYVBtaXNNSkM2cmJCVXBaQVR3RFNl?= =?utf-8?B?UnJyRUM2TlA2c0xSWDdRYUtIclM4ZXlUK01MSXNMOUNiWTlzcHZvSXBRaGVD?= =?utf-8?B?TDRrSDZoVzhpL1RiSGRLelliNDJrY1BHMnZUT2N6bEErK0dYTEw1ZG5ta3VF?= =?utf-8?B?dTVoWU56TUJxSERSRm41bGhhZWRtYm44c0xkSm0ycGJRQ0haZFp0TnA4eUVs?= =?utf-8?B?V3NhK2ZTcXJBN2pwcUlhOGdwYkdURmVpTE56bXZ1bG51OVU1bUNJRm9zVkZh?= =?utf-8?B?OFZ6YlVtVUk1c3BlOEJNN2p5K0dTdkhIRlR2VXRVbzkwZjlNZGtxOExscGxN?= =?utf-8?B?TXJ3MTFKVXk3N1cweFZxUWQzUmcxMGhpRU96ZmNqcmI3RDZvL3VOMFZscUFw?= =?utf-8?B?NmNnS05qZXVlK0JheHVpMHhnRTlGZnAwNmtBSkdJejdtT3ZxaW8ycTlvYTZu?= =?utf-8?B?b25WMUVJRndURGgvTzEwUzQrWWVmaG1BeE55SjM1Vzg2ZHpqZS9PaitIOTlM?= =?utf-8?B?RWZIbG1XS3A5Ly9KbGxTL2xyWHRBNmkyTlFPK0xnTGFaeWQ1azJ1RTl4c0NW?= =?utf-8?B?R09rckxTanViY2RhT3JKYm9BVXdVdz09?= X-Microsoft-Exchange-Diagnostics: 1;AMSPR02MB230;6:IgZjnrr51XDyTvD3Q7nV8Brv3VbspeulIPL9jKSIAeAFPSQrOCmm0y7lV+SGRAsafCfAMlCK29D1CHR8IjJHEDM5RA0cKe/RtzBW9DxHnMakmFXnWCn81l+ilr1pVip2a95om4aOkrTxRdqjwgQWVySNPxnKtYWLF2Qrz8yFfNry4NJfqG+1mffCdGdY4+UceVQJqwsF86EoE/32u8qIHfStx00Yky75Yk1ZJeurLi02/979wk8h0bxk9ToUEdfMTQLmaEv+YTQXZnrHlsbDULX+Fyjv8yaUzf6vkHg8tP5P6WuFp7oFdMWhSBQ1lVh+EbO5Zr810GfgVtmdGPHeXYWAPrs05HYFEHo/G9Wvq9hpmCpBQw9iDkO0XWt2u/85M4fHCiqbUITLFTuY8ngNyur5UtaFbUZA6EjDf2a28vJmKuKig9tr8F9cq9uPboQy1++rnTPRy4aUwB+Ag8Zb4A/Qm+z2eg5MRXVgunYVu/lpFHsz8er1qzKvqfBQ8aRIn6PVq8n7eMHGsoNBRLvsUw==;5:fDKe3QIy8ujFRWZrUTCIwNDxHWVRZ/byf9I5yyqXJTsB1KFv1d3hCba1vez7AeWRuJ0/O+yccWggKXQyJoE/Rx0/6J0jk1MRzT8O0JS8GtL2caIPCat4GIGWm75k2IuyK1HU134555/D1Fs9dq20Yg==;24:7SodKy5Czc25dIUeQ26UPjZo3eKH1g/lT0RLUuFSXxtwgfIF5kImSPPops+tGu7ZvhrMFAeY1fp4nsMExlJCTbhOY688S5w918U5xmI+geM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AMSPR02MB230;7:RP8UEewDNthgL1taoGM4AetofQ/qO+iWte1OZxko0HmDD/Vbjkm/Kil/X8zwEZgQc4dFzMITJlJSSx0NLaRTTOhsOhvzcKc1So+MGcbZGFi0Lap2+UWlO2+bQPOcutsvRQmrTJmx5hT3uF7Uzs9KY+Lao2EP8BGSGFcGlkWr/p6XOY3jYk/pyApfKgt7JCjYK8LE13fuWAB+TsvdTT/pyqJKoEczd7WXVcIU5Uc7WMU9NGZfkC+SVBHuBHzsmlCii8+7odFSRVnOpZVTIGNPrSfYnbHCREXOFVxIl6mjW9Fuoo7IQLbERYk7hJbqMhIthRhL3mlLriVAVpYh8/5/IA== X-OriginatorOrg: qt.io X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 May 2017 15:47:06.1174 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMSPR02MB230 X-IsSubscribed: yes X-SW-Source: 2017-q2/txt/msg00146.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. Signed-off-by: Ulf Hermann --- ChangeLog | 5 +++++ configure.ac | 22 ++++++++++++++++++++++ libdw/ChangeLog | 4 ++++ libdw/Makefile.am | 9 +++++++-- 4 files changed, 38 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 22c46c6..344ae0b 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-04-27 Ulf Hermann diff --git a/configure.ac b/configure.ac index 48b06de..598b372 100644 --- a/configure.ac +++ b/configure.ac @@ -204,6 +204,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 af4aa40..d33ffe3 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-02-27 Ulf Hermann * libdwP.h: Use attribute_hidden. diff --git a/libdw/Makefile.am b/libdw/Makefile.am index 31f7012..055e3f1 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) @@ -115,8 +121,7 @@ libdw.so$(EXEEXT): $(srcdir)/libdw.map libdw_pic.a ../libdwelf/libdwelf_pic.a \ # 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) $(dso_LDFLAGS) -o $@ -Wl,--soname,$@.$(VERSION) \ - -Wl,--enable-new-dtags,-rpath,$(pkglibdir) \ - -Wl,--version-script,$<,--no-undefined \ + -Wl,--version-script,$<,--no-undefined $(PKG_RPATH) \ -Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\ -ldl -lz $(intl_LDADD) $(zip_LIBS) $(libgnu) @$(textrel_check) -- 2.1.4