From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id 3AC8C3858401 for ; Tue, 27 Jun 2023 19:52:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3AC8C3858401 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 35RJJxu9008231 for ; Tue, 27 Jun 2023 19:52:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-03-30; bh=fE2dcIM2hgvlXpIGmbS9AWkiDPHdUbp+0AuburqMn4E=; b=MJVaXuXnltRR11u8FyzpZ/gm9gWBTdx7M2LS3pQKUGjs5alh2cbEO73SQ+Lhvw7HrASF ybdYNdew+PtSakVDoTsI4GDX5PqA0NmNgxCuQkpXo9AtFcF7vAvG89sczav+/n3zrIoH FqH71Yl8aQ/rBzNygxg56ak/xvnCgquwBDj04u/ZY9IlCg+iqW4Jo/tB9zaNZSUKL3yw MmOZXIKmeYbbM4OXA9pdKGpriUpHU17Avl9ck+3kOm3HJNQjr8ES3qvhk6bXPh5opXsN QJ8G8XBTBbv45Gin89OukEsPmlALLp8hb+qA2JuheNqhUUK9sK3DWhS7g5b52+4BWD0r bg== Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3rdq30wyuw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 27 Jun 2023 19:52:01 +0000 Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 35RJd2Yb038208 for ; Tue, 27 Jun 2023 19:51:59 GMT Received: from nam12-dm6-obe.outbound.protection.outlook.com (mail-dm6nam12lp2175.outbound.protection.outlook.com [104.47.59.175]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3rdpxbgh5s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 27 Jun 2023 19:51:59 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PoVXcCtu2Hpq0pzn0JneCEcWp8K4joutwU6jRvEugzxtumdC4dUXiVubJuYmlNjmrmDwS6/ejyQTBpVx68JCKnqBNLA8BByrM9jNhH8HimUV+ZCUPQ2XmzoCNOzqjHdJspFSciIIFSNWOcJUV6saxLQs15ZRJgzHx+PTRzHWtcGdfleIz0OMCITRB5yoFMWsM0igjUV32XZajTmGoSFfgiCoXa4wh59qGM9rZeyeDv2RHVdIkAmkxMlOTsbn/IwpVVHFrgawjNPeIj3JCRQ1GNej47j6cjCk2cDDOh388mXDfQvEcABbVSJKY8qdOD3qIClSHfjvcMCmVjj8bqdTvA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=fE2dcIM2hgvlXpIGmbS9AWkiDPHdUbp+0AuburqMn4E=; b=Nhr5KVvo1VZWA/kxbPV4Bq6568QtpPrtEi8H2ZDW8ZUxUuse9JcvrWS8ZAD4opZBWblmu0zaly21BeFsarN0x7RLId1zyAoFdZyxY+Zt8jEbZgBB5vpS4sB24Ta5EWROhqMC2PDbQz9VQcCmCEFmHEnAdZ/ygF9vI3kR+64jkPfMzP8ooHiamVsuHOeD3ujAe6PFXx/deQ14n5tOnFVVEMyqYfEWcHcNw9wfy7xJZzhPJ2ekomupmUb1aZmNGdK+RcXkBXVrI//mCyyykqN1kxDkptLDPKgdW82MeT2RNVuZ+NasM7na8g1Kmg84oq4QHoU1Ijk7akxjnJxswDNULw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fE2dcIM2hgvlXpIGmbS9AWkiDPHdUbp+0AuburqMn4E=; b=P71KkwTK/YaJ/u5KnWCHSirOrwrSkaxBE3XaQLCzi37dKRZaO8Sjbq0kWc+ybb8oiuXxMRrqrQpzE0C63b2eIQa4dODmqmM70JpYqZNjkeSxKxG+7yEznWD/j28IK8fU/P/10Macm2Ai+MD3XkrEMhHQB+Us23iKYe0FV01YjRc= Received: from MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) by BLAPR10MB5361.namprd10.prod.outlook.com (2603:10b6:208:325::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.26; Tue, 27 Jun 2023 19:51:50 +0000 Received: from MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::fdbb:b921:1ef:2d44]) by MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::fdbb:b921:1ef:2d44%4]) with mapi id 15.20.6521.026; Tue, 27 Jun 2023 19:51:50 +0000 From: Indu Bhagat To: binutils@sourceware.org Cc: Indu Bhagat Subject: [COMMITTED] libsframe: add symbol versioning Date: Tue, 27 Jun 2023 12:51:17 -0700 Message-Id: <20230627195126.1955051-3-indu.bhagat@oracle.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230627195126.1955051-1-indu.bhagat@oracle.com> References: <20230627195126.1955051-1-indu.bhagat@oracle.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: MW4PR03CA0228.namprd03.prod.outlook.com (2603:10b6:303:b9::23) To MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWHPR1001MB2158:EE_|BLAPR10MB5361:EE_ X-MS-Office365-Filtering-Correlation-Id: 36ab8597-65b2-4515-343d-08db7747f28e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fPis7S2zROt5xhTzXLJolSipBgQXIQY6UKjS248YxV2AdUi1PoaF79yE5sAp3QK70DoBSuFLVM+R+gBLQYU/SqAHnj7Ir8wt9AgIGQd0glZjy1OwpJJanFtCT1KJIJ7R71KGTXVFyBJsDa22794pad2DyuV0m9S6b6IhjIDPSrGp/KaHmqLmM298otDVPlzpqwtlfHV7nFJJRj0rqv7+HAh5mA+IvGmQqfKfhYZ235FPLJx+o4r89DEWwkVghl2TA//EEdk3RNbPOJ2QiVxdDvYfEd2TAkk46X2zqcgJT7dlx0o4Fic/lbmI6bGRF/hNlLuPYBVFy+19qcCkjgL2UJrJFhoVIeLyJs4r39Y4j7Z0Gwc5DZfKyZKvrvhSkT/z9Z2a0NBnppf5d7kJQ6GcEi5vuiwySU9Z1zLubcBA+2IeJKp14v7M3xLg3cCtMNYoq26pfSr/6+2qA8Qlkwkvmk707KruyKrYgpSUoRIdpChErloAoOQSn4XvRorccxLoFbOu7djyiDCjURHFk5NHUAbNy6B23W989BpwHIssX7mECEccwPJSj+cEoYPfyuW6 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1001MB2158.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(346002)(39860400002)(396003)(366004)(136003)(451199021)(1076003)(107886003)(6486002)(83380400001)(6666004)(26005)(2906002)(2616005)(6512007)(6506007)(478600001)(186003)(5660300002)(44832011)(36756003)(38100700002)(316002)(4326008)(66946007)(66476007)(41300700001)(8936002)(8676002)(66556008)(86362001)(6916009);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?m4jIgXEUN1aqA5lPtgq4d5jcrkB0MILUNfTACYpGqLNx96lOETLm0/DZCbIF?= =?us-ascii?Q?C5xk1YLEXUHY/jcZr1t8+9Jay0f+Kcey8C9vKuNCkZbOra++qujbH4JQ4cjS?= =?us-ascii?Q?R1A/ujnFYoICQlDj3fSXCOKm97/78+KO1InhynpX6Tpz9VhkWlsX44ag0qUz?= =?us-ascii?Q?szdp9naS6mF+rokOQ2+/HW/Bz4xIMpFon8eMOQuWWZ3JLPYHPs+MBg4FgiMu?= =?us-ascii?Q?OYk+Y0angAEDZ3jC6LJweznOt90uz9i+44aOYsYiBCrAfY2iJkx17+w3drBl?= =?us-ascii?Q?OjwIaQ+4MxFiRtUXoLm59czpDSZ/8h3kEJEXFUmnTWqUGibZMJ5JO5aFfN03?= =?us-ascii?Q?c/y0DawzCFh5EqA8kWd7xGYhscusWi6OoDH+1z8YN3goaLHl5cBiVXOYqgYh?= =?us-ascii?Q?UTefTRH2PQYX14dcuQ+uk+VZcHVxzB55bzIYxmIBvzhNG57/qEix7/sejPfS?= =?us-ascii?Q?e7MJym3jRNLfUc+fG9fv9V6uZ3Jyb2xVZrmF/KdxseeEXNG8s8chJ+/nTTiy?= =?us-ascii?Q?t7dv9q7Bm4Onal7sv2KdvPqFF4gYVDBsz5a+bfj42Yggmcc/Na/QihyTESG1?= =?us-ascii?Q?7M7vDEIzMERmsEmfl9GblavcZm/x1wpPAJ3IeHxvcu+Cvvkgoo5JlU7O7hSo?= =?us-ascii?Q?v09hMHtiXjd2Nc7PwvgInjdO8K8aefnkbEiFmVQhqTdqLpTnxO8j9XQsQqul?= =?us-ascii?Q?yjqGLHzs+9MdmS263O8JR9hccM9ET122Y4eIjSmv/jw5osVpM76PMlaostCe?= =?us-ascii?Q?tcqMPu+onVCOXHXV8qmpeQLLGPdpJl7ksbqHZEqKcpSQyyDfViUyH77+NRxh?= =?us-ascii?Q?09s+9sAxq2KSMcVxjnzcwWtAH/BENi86RXlJt5fYbpDPJPekQUZMB4n0O0oq?= =?us-ascii?Q?PINP+V3vsQKh3d0ci6tTGTywAJgVN7yadEbnOBlaHZGyIad5+otobMh89k3g?= =?us-ascii?Q?r2zT/1tI2xeW/DP1dsgK57B4iASY0FJdBj6TTv7WQb+BXnHalV+zTHHoh5Hy?= =?us-ascii?Q?SlXLlu4guYGKWeLfCUtDxVK5TT5qiYCF2EaVZb7bD55g1uyxEvbjd+X7Lu8Y?= =?us-ascii?Q?W6OthQrXTs74h3MMr+NB8lYqsMzz6Msx0Rpobvqp7YBv71KNCXy4y1sMpqpq?= =?us-ascii?Q?3QZiKwLdRZBlMqxz9DeoQPYc2Jj5tNEuNSz5GuriMlHRZ93gtxxa2tkHl602?= =?us-ascii?Q?QfGj4E3F+cZpvbnNCpFpzB5rtkEkrTqAVzInwBp/+5+3nBpYEfY8B6/jLTrm?= =?us-ascii?Q?YU2VIIoLKOp85OQDivvecn1xnDmkDZ1nOo1k8ZdgaCjV7Lx8fYArUmXGAX4u?= =?us-ascii?Q?+Uixcs9bYj3WboG0IZLiqRb5zoVja1L/jjhYk8+a0mySjyZmXbdkowwENtFG?= =?us-ascii?Q?bxwi6QbzT3EGoRYIUNfrd366fRUF7PxpTD9O4mQrdadOF23JqbIXdRYt8+1j?= =?us-ascii?Q?N3XY5Cik85WRrYJuYSNIz2hwCclZtseD06YQrrYMgLJMkHWRPRbwciaX2skL?= =?us-ascii?Q?28NCwQR59YycAZ2uuZT95ro1/QPfcveNMGu32L6cFwZovqhrj/IJZRPYLl4o?= =?us-ascii?Q?qxSorp5yapKa5eIkuYr8C4Qp83JVOMccEgn94+GQ?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Bjt9pfUYG4vljRX+OIdq5nhGZ9iTSQ2xmgRlgxV0ffDOXolNDOCbHnS9TN8YKoFA7JVYZ2OjIMIogsCgorA/6Lg/eOCUe1bOhAxsYPR6pAH5tCe0EZ8mvUO775IRGRSputNSnT5kqOGtLLJDnJn1nnCW3qm67MOSe6pR4fYuvwcF+NIkUtHsCblsuKAobl3HwsNzFcNuUS2wZo24WruMED1e5p/TF6hPErnF3P6K8wc24CeC87ITvwK0idWAdE/A0aVeVSzngOidtQagY8Su3+Z4KpWzgkR9QgKZNmj3KqWdp9VBe/03FufmALpnaY3fekXW/GyFKc93vX0K/+LenQM3TkAjW4Ycdmp+jU4WTQqo1bGZwLPhnk4y5viYSHDwVduxFE7Io9pS4Hp33iVuN9OK4CEKnsKUCMMj4+VOAaWQRkz3oq2smy0vLtP2mNzNd58Z9Ux6ObDy0oGbvMmnRWzKOMdW/CwISJcrGnillma4ALIn/gS0d9vRjUYXppu9EexxM3PCaleMu9bEDpc+5LI3yrkWh9rUiLF4ckoxCZZAIbOjgD/1jdezx/2QPXMEy8Y1ofYTz8q1W0e5ZqbJnD5yujcluyW2ShegPXZ4XtYnXBYR65+N0VifIDpPeDiJ6KjiFr7aTx+oYqDtWqs4mH3aMC3IJoAtKokm/yhjspiVkrTErK2QqaScQrHDIUn4dR1pmQfY3UFpK/TSSr4W3N+4wW9CfrZX6j/l+hpzZulmhXzDGk/ArVVyK+dlSg+t X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 36ab8597-65b2-4515-343d-08db7747f28e X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2158.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Jun 2023 19:51:50.0838 (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: VWwpGYYqwmR7dST1ZmGovayEqFvW7qpEbCHN6huIPf3mRz3VN9ddWHrKKtTEIh62x9P4G3q80VuYX8XM4StPpA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5361 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-06-27_14,2023-06-27_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 spamscore=0 mlxlogscore=999 malwarescore=0 phishscore=0 bulkscore=0 suspectscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306270180 X-Proofpoint-ORIG-GUID: 8wKzHXzJjHJO16j2LhOm-_tsW-UICTsG X-Proofpoint-GUID: 8wKzHXzJjHJO16j2LhOm-_tsW-UICTsG X-Spam-Status: No, score=-13.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Define an empty base version LIBSFRAME_0.0 and add all symbols to version LIBSFRAME_1.0. The previous release of libsframe (libsframe.so.0) did not have versioned symbols. Adding a libsframe.ver file so that future releases of the library (and its consumers) can manage the changes better. For Solaris ld, use -M mapfile command line option. libsframe does not restrict the set of exported symbols, so at this time there is no need to fall back on the libtool's -export-symbols option for platforms where some other linker (with a different command line option for symbol versioning) may be used. libsframe/ * Makefile.am: Use symbol versioning for libsframe. * Makefile.in: Regenerated. * configure: Check for Solaris ld. * configure.ac: Regenerated. * libsframe.ver: New file. --- libsframe/Makefile.am | 14 +++++++-- libsframe/Makefile.in | 9 ++++-- libsframe/configure | 63 +++++++++++++++++++++++++++++++++++++++-- libsframe/configure.ac | 28 ++++++++++++++++++ libsframe/libsframe.ver | 36 +++++++++++++++++++++++ 5 files changed, 144 insertions(+), 6 deletions(-) create mode 100644 libsframe/libsframe.ver diff --git a/libsframe/Makefile.am b/libsframe/Makefile.am index 2d1d8fff063..a660e85c2ce 100644 --- a/libsframe/Makefile.am +++ b/libsframe/Makefile.am @@ -30,6 +30,16 @@ INCDIR = $(srcdir)/../include AM_CPPFLAGS = -I$(srcdir) -I$(srcdir)/../include -I$(srcdir)/../libctf AM_CFLAGS = @ac_libsframe_warn_cflags@ libsframe_version_info = -version-info `grep -v '^\#' $(srcdir)/libtool-version` +# libsframe does not restrict the set of exported symbols. So, if linker does +# not support symbol versioning, there is no need to fall back on libtool's +# -export-symbols option. +if HAVE_LD_VERSION_SCRIPT +if HAVE_SOLARIS_LD + libsframe_version_script = -Wl,-M -Wl,$(srcdir)/libsframe.ver +else + libsframe_version_script = -Wl,--version-script=$(srcdir)/libsframe.ver +endif +endif if INSTALL_LIBBFD lib_LTLIBRARIES = libsframe.la @@ -41,9 +51,9 @@ endif libsframe_la_SOURCES = sframe.c sframe-dump.c sframe-error.c libsframe_la_CPPFLAGS = $(AM_CPPFLAGS) -libsframe_la_LDFLAGS = $(libsframe_version_info) +libsframe_la_LDFLAGS = $(libsframe_version_info) $(libsframe_version_script) -EXTRA_DIST = libtool-version +EXTRA_DIST = libtool-version libsframe.ver diststuff: $(EXTRA_DIST) info include doc/local.mk diff --git a/libsframe/Makefile.in b/libsframe/Makefile.in index 57f912caa13..08c780caa4a 100644 --- a/libsframe/Makefile.in +++ b/libsframe/Makefile.in @@ -523,14 +523,19 @@ INCDIR = $(srcdir)/../include AM_CPPFLAGS = -I$(srcdir) -I$(srcdir)/../include -I$(srcdir)/../libctf AM_CFLAGS = @ac_libsframe_warn_cflags@ libsframe_version_info = -version-info `grep -v '^\#' $(srcdir)/libtool-version` +@HAVE_LD_VERSION_SCRIPT_TRUE@@HAVE_SOLARIS_LD_FALSE@libsframe_version_script = -Wl,--version-script=$(srcdir)/libsframe.ver +# libsframe does not restrict the set of exported symbols. So, if linker does +# not support symbol versioning, there is no need to fall back on libtool's +# -export-symbols option. +@HAVE_LD_VERSION_SCRIPT_TRUE@@HAVE_SOLARIS_LD_TRUE@libsframe_version_script = -Wl,-M -Wl,$(srcdir)/libsframe.ver @INSTALL_LIBBFD_TRUE@lib_LTLIBRARIES = libsframe.la @INSTALL_LIBBFD_FALSE@include_HEADERS = @INSTALL_LIBBFD_TRUE@include_HEADERS = $(INCDIR)/sframe.h $(INCDIR)/sframe-api.h @INSTALL_LIBBFD_FALSE@noinst_LTLIBRARIES = libsframe.la libsframe_la_SOURCES = sframe.c sframe-dump.c sframe-error.c libsframe_la_CPPFLAGS = $(AM_CPPFLAGS) -libsframe_la_LDFLAGS = $(libsframe_version_info) -EXTRA_DIST = libtool-version +libsframe_la_LDFLAGS = $(libsframe_version_info) $(libsframe_version_script) +EXTRA_DIST = libtool-version libsframe.ver @BUILD_INFO_TRUE@AM_MAKEINFOFLAGS = --no-split # Setup the testing framework diff --git a/libsframe/configure b/libsframe/configure index bf4dc45b431..f7ad9c5e29a 100755 --- a/libsframe/configure +++ b/libsframe/configure @@ -643,6 +643,10 @@ INSTALL_LIBBFD_TRUE MAINT MAINTAINER_MODE_FALSE MAINTAINER_MODE_TRUE +HAVE_LD_VERSION_SCRIPT_FALSE +HAVE_LD_VERSION_SCRIPT_TRUE +HAVE_SOLARIS_LD_FALSE +HAVE_SOLARIS_LD_TRUE BUILD_INFO_FALSE BUILD_INFO_TRUE COMPAT_DEJAGNU @@ -11482,7 +11486,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11485 "configure" +#line 11489 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11588,7 +11592,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11591 "configure" +#line 11595 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12335,6 +12339,53 @@ else fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if using Solaris linker" >&5 +$as_echo_n "checking if using Solaris linker... " >&6; } +SLD=`$LD --version 2>&1 | grep Solaris` +if test "$SLD"; then + have_solaris_ld=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + have_solaris_ld=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + if test "$have_solaris_ld" = "yes"; then + HAVE_SOLARIS_LD_TRUE= + HAVE_SOLARIS_LD_FALSE='#' +else + HAVE_SOLARIS_LD_TRUE='#' + HAVE_SOLARIS_LD_FALSE= +fi + + +if test "$have_solaris_ld" = "yes"; then + GLD=`$LD --help < /dev/null 2>&1 | grep 'M mapfile'` +else + GLD=`$LD --help < /dev/null 2>/dev/null | grep version-script` +fi + +if test "$GLD"; then + have_ld_version_script=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + have_ld_version_script=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** Versioned symbols not enabled." >&5 +$as_echo "$as_me: WARNING: *** Versioned symbols not enabled." >&2;} +fi + if test "$have_ld_version_script" = "yes"; then + HAVE_LD_VERSION_SCRIPT_TRUE= + HAVE_LD_VERSION_SCRIPT_FALSE='#' +else + HAVE_LD_VERSION_SCRIPT_TRUE='#' + HAVE_LD_VERSION_SCRIPT_FALSE= +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } @@ -12810,6 +12861,14 @@ if test -z "${BUILD_INFO_TRUE}" && test -z "${BUILD_INFO_FALSE}"; then as_fn_error $? "conditional \"BUILD_INFO\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${HAVE_SOLARIS_LD_TRUE}" && test -z "${HAVE_SOLARIS_LD_FALSE}"; then + as_fn_error $? "conditional \"HAVE_SOLARIS_LD\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${HAVE_LD_VERSION_SCRIPT_TRUE}" && test -z "${HAVE_LD_VERSION_SCRIPT_FALSE}"; then + as_fn_error $? "conditional \"HAVE_LD_VERSION_SCRIPT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 diff --git a/libsframe/configure.ac b/libsframe/configure.ac index b9ea363d00d..8189e966e1c 100644 --- a/libsframe/configure.ac +++ b/libsframe/configure.ac @@ -81,6 +81,34 @@ else fi AM_CONDITIONAL(BUILD_INFO, test "${build_info}" = yes) +dnl Determine if using Solaris linker +AC_MSG_CHECKING([if using Solaris linker]) +SLD=`$LD --version 2>&1 | grep Solaris` +if test "$SLD"; then + have_solaris_ld=yes + AC_MSG_RESULT(yes) +else + have_solaris_ld=no + AC_MSG_RESULT(no) +fi +AM_CONDITIONAL(HAVE_SOLARIS_LD, test "$have_solaris_ld" = "yes") + +if test "$have_solaris_ld" = "yes"; then + GLD=`$LD --help < /dev/null 2>&1 | grep 'M mapfile'` +else + GLD=`$LD --help < /dev/null 2>/dev/null | grep version-script` +fi + +if test "$GLD"; then + have_ld_version_script=yes + AC_MSG_RESULT(yes) +else + have_ld_version_script=no + AC_MSG_RESULT(no) + AC_MSG_WARN(*** Versioned symbols not enabled.) +fi +AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes") + AM_MAINTAINER_MODE AM_INSTALL_LIBBFD diff --git a/libsframe/libsframe.ver b/libsframe/libsframe.ver new file mode 100644 index 00000000000..2c2081f311a --- /dev/null +++ b/libsframe/libsframe.ver @@ -0,0 +1,36 @@ +LIBSFRAME_0.0 { }; + +LIBSFRAME_1.0 { + global: + sframe_decoder_free; + sframe_fde_create_func_info; + sframe_calc_fre_type; + sframe_fre_get_base_reg_id; + sframe_fre_get_cfa_offset; + sframe_fre_get_fp_offset; + sframe_fre_get_ra_offset; + sframe_fre_get_ra_mangled_p; + sframe_decode; + sframe_decoder_get_hdr_size; + sframe_decoder_get_abi_arch; + sframe_decoder_get_fixed_fp_offset; + sframe_decoder_get_fixed_ra_offset; + sframe_get_funcdesc_with_addr; + sframe_find_fre; + sframe_decoder_get_num_fidx; + sframe_decoder_get_funcdesc; + sframe_decoder_get_fre; + sframe_encode; + sframe_encoder_free; + sframe_encoder_get_hdr_size; + sframe_encoder_get_abi_arch; + sframe_encoder_get_num_fidx; + sframe_encoder_add_fre; + sframe_encoder_add_funcdesc; + sframe_encoder_write; + dump_sframe; + sframe_errmsg; + + local: + *; +} LIBSFRAME_0.0; -- 2.39.2