From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 855D5383B401 for ; Fri, 25 Jun 2021 16:12:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 855D5383B401 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 15PGBj47023792 for ; Fri, 25 Jun 2021 16:12:56 GMT Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by mx0b-00069f02.pphosted.com with ESMTP id 39d24m1s43-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 25 Jun 2021 16:12:55 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 15PGBoam163824 for ; Fri, 25 Jun 2021 16:12:55 GMT Received: from nam02-bn1-obe.outbound.protection.outlook.com (mail-bn1nam07lp2041.outbound.protection.outlook.com [104.47.51.41]) by aserp3030.oracle.com with ESMTP id 39d2pye2aw-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 25 Jun 2021 16:12:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Eu/LqrxUm44+8VJkMPjHxuXH4TT4Ebdd2pdChcXfLAr1Kq8UrEGnfgNmT11s9jmr3LNrDwY7J9wdo+luSnfaN9KIL69NXGNUUg2G3VUE9wRpajN4Fipsl2IOqz59qOKdhjHzPoNpNP8eEDQ3HJuSMgJDh2wTWteGuQzMU5/jXTDK0Lgq92PK+0zt+8IXMHjsSV6Uu4CMLANNtK9q2KRJ/JIAVfZoecvKrja96nQYfts22cYKuE9+zdRh4RCrbvZHwDXDjaBhcT25Z+pewvVScFmRsPRppDjeIEjmunWKQ5OLqsLM5TdrOusWYTnJyb84HsQyH0iDBEq546VG3urTTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Ifi4nRRQ5i5YTEW+ijZpTuUBJsBF1wmuGOXm9Lm/k3I=; b=jyBn4z6BSk+3TFkKOMCmwVsO8mUGPN8Nscq1lEFLewmGCqZOd9L/oSsnajqeIDH5fVLl5Iri46GiWk7qNpVnn4Fine84ODKseYU0Ia95uPSTpcbIH4PbD7eBk+GHPx6KBGaklHkz2wzK5fcmCbGijcCsf/micdmf226H3Z9FkQ2FtojIzKA9iwR+zaL2SGobdjKI0RA+aWyRboDR1JQUuk7+RaIvnosu8a0hrwpXggCtlGouzxrD3pOJ6Vxc0+x0TnsoBj8ktGYJ5E1ga2ia55sT0mbr8UfPuj5VL2/I7I1Vn3elhGOf5n0KqyXxTLdxUpHpYoqsSQhBHkl7Xq15lg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none Received: from SA2PR10MB4715.namprd10.prod.outlook.com (2603:10b6:806:fb::10) by SA2PR10MB4460.namprd10.prod.outlook.com (2603:10b6:806:118::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.18; Fri, 25 Jun 2021 16:12:53 +0000 Received: from SA2PR10MB4715.namprd10.prod.outlook.com ([fe80::9ded:a005:f4da:7741]) by SA2PR10MB4715.namprd10.prod.outlook.com ([fe80::9ded:a005:f4da:7741%9]) with mapi id 15.20.4264.023; Fri, 25 Jun 2021 16:12:53 +0000 From: Nick Alcock To: binutils@sourceware.org Subject: [PATCH 1/3] libctf: link against libiberty before linking in libbfd or libctf-nobfd Date: Fri, 25 Jun 2021 17:12:41 +0100 Message-Id: <20210625161243.4747-2-nick.alcock@oracle.com> X-Mailer: git-send-email 2.32.0.255.gd9b1d14a2a In-Reply-To: <20210625161243.4747-1-nick.alcock@oracle.com> References: <20210625161243.4747-1-nick.alcock@oracle.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [2001:8b0:1101:10::2] X-ClientProxiedBy: LO4P123CA0009.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:150::14) To SA2PR10MB4715.namprd10.prod.outlook.com (2603:10b6:806:fb::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from loom.srvr.nix (2001:8b0:1101:10::2) by LO4P123CA0009.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:150::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4264.18 via Frontend Transport; Fri, 25 Jun 2021 16:12:53 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3e473386-6cee-443e-475a-08d937f41662 X-MS-TrafficTypeDiagnostic: SA2PR10MB4460: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ptHudPh8vpN/LGmSucw+MehvaNXz9AU2PXIkryiY6m9MJjYPUbzL1QXJpcReLlCRIBHY75TKQePtOgssi1rMDEZiGdni8KxK7EtPxtDNKppQ/m5nDcsEEE1RMLYjf/iatb/E7Ewkv4FadnWlBeGo0UNz23uO0q8vGmLABMlv5nTHqv/7DTgMqRlGR9zqli9rV7kn/jpth/v3vO0VHt1A3kaEjA6XnuT+u4nGG9oPwwvf9IUKjG5xxfCdC0bHj3PC73jZBQSXw0Zb2x/pNd79EGZStgVQHulUPefF9aMprjGjdYOR8oQ+L8jVyVteghTWKcMd0o3nVsB+QawDwXL3MD03C5l7v19rahJW+oEra9GQPgWD6B8V0GADLq887Szk34tGWrjALR1U3irNv2k90Vhut8qrYzJrKZF26zBI2HwJzuul8Q4GU42BgTcUOKkL+YDAmX2IKspSZG954NUWM6OWe1jMbg446h6mEU0/+8ONyQo1MvUHqXBBTr8VxdNFWiqvEOWuJyCNOcLJJfdX4LkSYCzF8frEIlQ6KZ1NvSCV+qTF9DQn02gNQU6oYYTDz1eYTBhPIu5iS8g7pEIuag9mYEQfIMkughIrVh3WUeo= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR10MB4715.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(396003)(136003)(39860400002)(346002)(376002)(36756003)(83380400001)(44832011)(478600001)(2616005)(1076003)(8676002)(2906002)(66946007)(8936002)(5660300002)(66476007)(66556008)(6666004)(52116002)(186003)(16526019)(86362001)(316002)(38100700002)(6916009)(6486002)(6512007)(6506007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?JVmmMAc6/O2bsMpl9mluo8CNKlUPrPbDWYlQ0qkGPkatk0j2He2PpdYPuqmq?= =?us-ascii?Q?+/DTU/Sg2s8jqlZNGqQYYcO+P+qiPQqMa/n6VLtoxagOXtL1e4zW194BcTxw?= =?us-ascii?Q?IpLsIsFpycP2obTmG/mTdzCzIOuTgd8894L0m9ZjWhODxP35CpPEbhpHo81O?= =?us-ascii?Q?ywB68SNZO/wCo0HVHRN3WjsXKTK8VekKdpRXepwAjHKfPCrG0J8B49qXW1Bm?= =?us-ascii?Q?t1AOBkt1Mipco1lkR3dhKt+3i++5nvF4j9DhjmQlYf4tIujZuo+JGfnSf0/b?= =?us-ascii?Q?jTccr5xAUlmh4qKazg0ettqePeoT1WbPXFj3XGhw9DgtmvPTAqil5EB9ntNY?= =?us-ascii?Q?bqg58z1mej/ZU48NH4n/orMtdEYoYDM6yfi8z4mgJzy9p7C1gSzDvePBzAzZ?= =?us-ascii?Q?QeCptkm9b0m72mtt7ZgulJGHwHu5YDmLdDgi993RV8Hj/pYiNKLXmPjrJwqt?= =?us-ascii?Q?EMXk+8GOUydhS4rd/xWChLUGXptTh8oXvDXTdxU5sBDd0Usdfok6Xzvfeyuj?= =?us-ascii?Q?aufXvJWkiX6oXoNdcrsdyGax6UXiFdrnyNpKOAcUVKQIzfpKPk8mFme5n60o?= =?us-ascii?Q?y3egO9HTySePHNVuVxisVAPiF+dZ5tBPUmleQ1ewj5ilcARVspSE2ay9nl+m?= =?us-ascii?Q?D77glvWeRC2R14dxcQFJiH/szX/9eINeLvfGHr9XEHxNNz40HZg3TNVGwM5X?= =?us-ascii?Q?4CJz4Slcwr+eqcjvNU65c0wvmemN4kyvu4W5TYBOlYhlT7ATN9i3wBrhXbzo?= =?us-ascii?Q?L1C+sAMhLd5ZaDPx7sliOYnhX0gJ2ATb0uXZPZ4asat2bMSqwsk7JWgsZ0tt?= =?us-ascii?Q?72hAn5kWNEt5M3xrfjFz7z3EVdo+j/pDfOAITumvvYa9e4aBWuargzfx1FUu?= =?us-ascii?Q?PgSm3G89jqTEX7Q36Bsd5UCIQVEdHs+ADBmCPs+tz7kUedfpdhLtvDTqSkod?= =?us-ascii?Q?+uoH+fhTjDKGyuq89ndIf+c4g7spVy9gc9wKlhm7HLp+5gOb6KT1p/vTzIoS?= =?us-ascii?Q?Jww7KUSV7t4yyw4dOkbAcGuCbiv5GwDQ3i5ye8qUdFyhzeyvEbK53oaQtVI+?= =?us-ascii?Q?ojjXZONdx40goryTsAH2r63m72xrndtf2wOVsjxjuttjlcjnRA1vnfszXqe8?= =?us-ascii?Q?ctQ7Jlz9ZCUybG0GHGXdvpUj526RiLiZyYVAJjC1DiMHQmVkbRVpMOiyNAUg?= =?us-ascii?Q?ciQiZuH31UnWzjW/o6Dbg+DfPNglAUBciz6uViveGzZpINoLCN53ICCrpETK?= =?us-ascii?Q?VKfVTy4x1yefNNboqPz1ZxB2oSf3PhjG7i2yMACkVdwJ56msUe97nYadPGGM?= =?us-ascii?Q?AfuUAympjacoHEKZh5nGkhikFGzZmpp8eGnSdHZqN8xmXw=3D=3D?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3e473386-6cee-443e-475a-08d937f41662 X-MS-Exchange-CrossTenant-AuthSource: SA2PR10MB4715.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2021 16:12:53.8206 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: C1iN0LVQI7vtoPjnqMl1VTzAis31drgqd7ABBVetnPgQawGVqhreO/ikguEDRKgw9rNx3X9voYMEajoHqn+u2A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR10MB4460 X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=10026 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 adultscore=0 malwarescore=0 mlxlogscore=999 spamscore=0 bulkscore=0 suspectscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2106250095 X-Proofpoint-ORIG-GUID: ya3BY7G1EzkrpGq3phQ5XiYMJvX2n9g2 X-Proofpoint-GUID: ya3BY7G1EzkrpGq3phQ5XiYMJvX2n9g2 X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Jun 2021 16:12:58 -0000 This ensures that the CTF_LIBADD, which always contains at least this when doing a shared link: -L`pwd`/../libiberty/pic -liberty appears in the link line before any requirements pulled in by libbfd.la, which include -liberty but because it is install-time do not include the -L`pwd`/../libiberty/pic portion (in an indirect dep like this, the path comes from the libbfd.la file, and is an install path). libiberty also appears after libbfd in the link line by virtue of libctf-nobfd.la, because libctf-nobfd has to follow libbfd in the link line, and that needs symbols from libiberty too. Without this, an installed liberty might well be pulled in by libbfd, and if --enable-install-libiberty is not specified this libiberty might be completely incompatible with what is being installed and break either or boht of libbfd and libctf. (The specific problem observed here is that bsearch_r was not present, but other problems might easily be observed in future too.) Because ld links against libctf, this has a tendency to break the system linker at install time too, if installing with --prefix=/usr. That's quite unpleasant to recover from. libctf/ChangeLog 2021-06-12 Nick Alcock PR libctf/27360 * Makefile.am (libctf_la_LIBADD): Link against libiberty before pulling in libbfd.la or pulling in libctf-nobfd.la. * Makefile.in: Regenerate. --- libctf/Makefile.am | 6 +++++- libctf/Makefile.in | 7 ++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/libctf/Makefile.am b/libctf/Makefile.am index e586d25fb37..308daa9a03c 100644 --- a/libctf/Makefile.am +++ b/libctf/Makefile.am @@ -52,7 +52,11 @@ if NEED_CTF_QSORT_R libctf_nobfd_la_SOURCES += ctf-qsort_r.c endif -libctf_la_LIBADD = ../bfd/libbfd.la $(libctf_nobfd_la_LIBADD) +# @CTF_LIBADD@ appears here twice: once, to force libiberty to get searched before +# install-time libbfd adds a -L to the install dir (possibly pointing at an +# incompatible libiberty), and once via lictf_nobfd_la_LIBADD so that the +# references in there get picked up. +libctf_la_LIBADD = @CTF_LIBADD@ ../bfd/libbfd.la $(libctf_nobfd_la_LIBADD) libctf_la_CPPFLAGS = $(AM_CPPFLAGS) -DNOBFD=0 libctf_la_LDFLAGS = $(libctf_nobfd_la_LDFLAGS) libctf_la_SOURCES = $(libctf_nobfd_la_SOURCES) ctf-open-bfd.c diff --git a/libctf/Makefile.in b/libctf/Makefile.in index 5cfa100f9cc..b594a3e1362 100644 --- a/libctf/Makefile.in +++ b/libctf/Makefile.in @@ -476,7 +476,12 @@ libctf_nobfd_la_SOURCES = ctf-archive.c ctf-dump.c ctf-create.c \ ctf-decl.c ctf-error.c ctf-hash.c ctf-labels.c ctf-dedup.c \ ctf-link.c ctf-lookup.c ctf-open.c ctf-serialize.c ctf-sha1.c \ ctf-string.c ctf-subr.c ctf-types.c ctf-util.c $(am__append_1) -libctf_la_LIBADD = ../bfd/libbfd.la $(libctf_nobfd_la_LIBADD) + +# @CTF_LIBADD@ appears here twice: once, to force libiberty to get searched before +# install-time libbfd adds a -L to the install dir (possibly pointing at an +# incompatible libiberty), and once via lictf_nobfd_la_LIBADD so that the +# references in there get picked up. +libctf_la_LIBADD = @CTF_LIBADD@ ../bfd/libbfd.la $(libctf_nobfd_la_LIBADD) libctf_la_CPPFLAGS = $(AM_CPPFLAGS) -DNOBFD=0 libctf_la_LDFLAGS = $(libctf_nobfd_la_LDFLAGS) libctf_la_SOURCES = $(libctf_nobfd_la_SOURCES) ctf-open-bfd.c -- 2.32.0.255.gd9b1d14a2a