From patchwork Fri Jun 23 04:44:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Indu Bhagat X-Patchwork-Id: 11195 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp5527065vqr; Thu, 22 Jun 2023 21:45:12 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5sZvmg/PX4tR743kGF0ABz0Enu8wEuepub9+txMu+JZqh/1PNhAdUeJ30qevi1A8MUS331 X-Received: by 2002:a17:907:1b17:b0:96f:1f79:c0a6 with SMTP id mp23-20020a1709071b1700b0096f1f79c0a6mr16710060ejc.70.1687495512521; Thu, 22 Jun 2023 21:45:12 -0700 (PDT) Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id n21-20020aa7c695000000b00519ebe84231si4327077edq.163.2023.06.22.21.45.12 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Jun 2023 21:45:12 -0700 (PDT) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=qPVVLoKE; arc=fail (signature failed); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 9D30738582A3 for ; Fri, 23 Jun 2023 04:45:08 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9D30738582A3 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1687495508; bh=OTQIztrchT0flzSU/pwqOoJ+bxNvx3R5+eUWPwG9A+k=; h=To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=qPVVLoKE5iEXijv++gm6/4y1kzl7SXrN6pFirueuduPtMPTPautaY51mNQ18MlHVd PDM+86TV3V7Vbe863Myit5vo/j5XN9zqyPxTlwZPIfgi8u84h3aldpXgjVR/9ohVd0 hIxGhbzRQnO1l/hDanvnCdL4zvBL151QAdasNLbA= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id 0E5133858D37 for ; Fri, 23 Jun 2023 04:44:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0E5133858D37 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 35N36vZY022460 for ; Fri, 23 Jun 2023 04:44:59 GMT Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3r93e1k72k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 23 Jun 2023 04:44:58 +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 35N4POkH005872 for ; Fri, 23 Jun 2023 04:44:57 GMT Received: from nam04-mw2-obe.outbound.protection.outlook.com (mail-mw2nam04lp2173.outbound.protection.outlook.com [104.47.73.173]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3r93989cde-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 23 Jun 2023 04:44:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SqO375q/emRr4rH15y+Zrl9/AoNcu2cd5zO6uNRL7fvKGa/v8i6TiwH1RHmR0+4YeJvxIeIcJysa8pXeq4zQh0H/OLgTQm/AHJqw6ad0nbVKMCKxMML8EvTjWNgb5vzgNblte1cuhkPAc0X+656ooXpeC8TqCngK/1d3bdvZsRZ32HmG0tg1QM4HmkmiY8tCLEedeV0oc7J1q8bFkYtoQDqsw3VCgjxP//U+NF4v+2eRjQ29LYLpEagAEUtgswhSgi6NlYrKd4kUiO/gEJ2w+VISFNSIunI5vXxZuy68e8OX+R2tSClqUCbTvaz4fji7BNnAUh7O+szCLLD5suzgkg== 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=OTQIztrchT0flzSU/pwqOoJ+bxNvx3R5+eUWPwG9A+k=; b=iVHgdBUL/AqDA/XrPJA9Dhrsg6PpWAwUurBvgKghzKwuBmy1csP6+Ixv3OtBcvZ5f93WTuDTAY8wdqVcivu4kGUVQqXY6zw5f4k9idf0tTTA1GpRmstIb/Q6+6XbKUmdiotGT+/f7cqjma8WYaPgI/+R1fchyp8lv+JkrXUs+2eVO+V8pcOtE3ZVY9DLPzL35XkGd6sM4d4EyIBjDzHjzLIB16tqaBH2T3vu41hRW7zHfR8lVuo25JvT13oVec2igjx++je9wsq5UcH20e1yIXljDNfSMDGytPhn7kXrLHRjGhMx0RA/pWn767buhJclVirqMaFQk55RMbZhGdfDDQ== 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 MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) by DS7PR10MB5133.namprd10.prod.outlook.com (2603:10b6:5:3a7::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.26; Fri, 23 Jun 2023 04:44:55 +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; Fri, 23 Jun 2023 04:44:55 +0000 To: binutils@sourceware.org Cc: Indu Bhagat Subject: [PATCH 00/10] Patches for libsframe versioning and symbol versioning Date: Thu, 22 Jun 2023 21:44:38 -0700 Message-Id: <20230623044448.2617101-1-indu.bhagat@oracle.com> X-Mailer: git-send-email 2.39.2 X-ClientProxiedBy: MW4PR04CA0193.namprd04.prod.outlook.com (2603:10b6:303:86::18) To MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWHPR1001MB2158:EE_|DS7PR10MB5133:EE_ X-MS-Office365-Filtering-Correlation-Id: a513282f-6aa7-486e-cc09-08db73a4970a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: auAJ1s611ZIykJZHEjENo6k8w96CiQdTJ5yyUfLPqGwGotX8w5im8O+ACPmPQgf6LZPw4hQYJgFXdWfGL7duQrQx/BOL7dGtFkNdqiddLkJmS1lyfABPV5Eu1NmoXWEqu3KtfBZM7aJVgvMW+mA26vd90mcFqJ0Xl0o5+HhIkS9KP5mZ6JHrD2jy5TnNaOntSnIoBmheHQWyVSB7JbgMvhLfh/NWB0B1kONi+yjEmGnnEJ4qwxr7iyNt3bPwTcL9P9h8RXt3ydzgccKUmhd95Ga5MIza3b8DHM7jNFOdRHVlkbmiVHGs/McriS9fSgcFJPKBL7nvvmny0CCsOuKU2bEQ6Tp0eN5lAG73kPOzJtI0rrYf1M4icHKThHLvo/e5T/2oVLsMu15oS6dMv2gFHZKNq5bQUj/Zy/t31483lZojSwmHK6kr+7wy3PdgkxWsEoA+h3ExzNxrjwFToCCOL6fTbWW7ne5q2fSoA5QllycXPqaBHV6Y/OIs7XzLE9HU7sm7Fg2TKYIL/fFDdTtLdk4GBsPshE3yqlrshyTt15E= 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)(366004)(396003)(376002)(136003)(346002)(39860400002)(451199021)(83380400001)(8936002)(8676002)(41300700001)(66476007)(316002)(66556008)(2616005)(38100700002)(1076003)(6512007)(186003)(26005)(6506007)(6486002)(6666004)(966005)(478600001)(107886003)(36756003)(4326008)(86362001)(66946007)(6916009)(44832011)(2906002)(5660300002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 4cDHfnJgrH925vLDm67s5//lE0Jo/57DBknYGWcYh+VQaXkn9TgAplNrEvQRnMrGaK7URXvOOf1uynjPwUj2lOElR8fb0KNxy++Ep9Y2K8AMDGdMu0YE92CFQhIH8+yC72VyRXeb9uC342GPHw8/8Lalt+kAi26VyJMFj8h9eK+fs1PezOMr3yfmcFGuwFA41C5Tb5xkjg7YdVHI+MOG6V46S8bKJVBeOIj2sDFIyBH6ngUTS0VS4XzBuIPWEugBqdZcx4GK6x3jnZlIEy6ImzTQYrtwDDA85FWqGB3jQ8B7GeUsEbe2472I/+NvdZyEo+QpsoHncjPGHVTPtrbaR9SLHY6KXfhqeicdbKAelwq2PVJqqiZP+3jYO9lwpgOgwYOp7S71ZHXMGOJ2n2/cMgPTrIEwLsgIA4oIOnF+c47zRW1VSTnTMcYMo6R3daW7hz4sWI2wSMkC7Zk2mUAQFzlPBS47O45HmJXe7jk9by4u4XNjqBAhyfYkn/cIy/6UOfKquATPTKHgND9BPfuR8VlAdjNqCG7otJYonbzGXGh5wdTpaSMHhTr69+w4VTiRXZ0ixgdhhFt86hIBn9PJlB1MSOi8oa3Bt48fKRKj85QiMSJduUndFsPj+zqkRHNjzMin6XLKGCUn1F2eWE/emXqjMfPwQiSLbr8CvMt6os/ZvkZugybIeK7b/IsM5YNVXZ54OiIgrcV+CL2uqhhMk1a9Iy6o2cG5+gRyiqHkrO9fe+2Q9mQ0G7oKk+Cp5RjJXiC77OwdgO3jxZKTfYim7ELxDd+Nfo3J1uVOvOF5mx9GSsHzdaL7FRfQXBvX0kPssbVVmgWFMbCgIwqOyni3scvHV41zV92/3q3tS9jDRyIF9tt+0EqsQsj9VmWclgGO02aOSP+aJE3drRC2yX4BvQxtHqT2qvnR4Q6H+vyeddnE7V0+YNae7pBx4rlLIkZzK+eeluYfzMV3/VAhSUcgDRYokPd99ZJE8Tt7xuOgB+4AOM969Ln0cEpJxnNfKWLARcVFU5+SJB1Efk044QqFAQPZxrreO2cIftJNO7M/jC2r4ySJ2FT1GObpYUPV1DR9A0CyzszPMfxsxXVJr7xixMirzoFQD+WM/OZnN1QTriMXn3Fg+SD8XfpFwmhXEuD+2WvKySjSUM3/kD0Wdsp3e8YQhKCpVqqTmk5hn2L/QZO8LenJccuIgz+ONkW92shpy75xpXcgxm5lNtPYq+GAdhTYM5bOL3bz9vtGk8IaRHPQ6cCVHk+5FopXYZCIikXxEweD0+9Q0Lnc3ws6xLFxIQB7xgHGc+y83z3vpEDCmucd4yATjz0LyU8tJSDjMXXY3qWcRxODq4WW8dQQ2ORZ05sRNIz6uZO5Mprt4kyUxBblVh9jSo9Z8bpjyR3PA5AM9qvSjgsnSahulXwyVrq3oS0/wZPoe+YpJTzXS9ug4iYG7D4hoI05ifUDIBIpxI/37HAbqrUD/Ny+On1YjSuG0splYaejJmjarDn7+mnAJtTFjQ/mC3VU/y8nr7Viax91M0KuuCCgTBYAvMHwZiz7sijHFjulecHYCzWLW/dniEhNY3Jg/HLWGDJTJa2Q5cOg X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: +rThmbZm6bE6TmRigEbYKZYdca5JVZunlfytKozIWPm3u1UddxuOnkkiLKug+HAyoMH8bSbB9BsUeov1GvkPK2ovFmH9QKjvgUKumz9VMIUrcskpRyzlFixqcMW8Fzer5ET3EEoTmklp6VlbyDPwJH0pFlkRGmWgblcKpnX70DoOHC0b0m2DDi8jPbx+qxTcU/qhBmso/+aSkYLY/GzpYCp/i8XkEciW4IbK8jN0xI4AArwa7zKz3oshnKC7LDnRqE0LH0pMV9iqP2P1ja1hM6x/DPJjaPw+Amu1x39VKNbqBpB4fpzmPJGphVmtpsnx2UPgPx9icq921YsEuM3Fbw2FkKUaR0na9ipRopqeFgXMIZ394Eegt0CM9awBzNUo/CzpQT1XZtsg3cYYIlUxW/9Xxp9s5G+WT/fZYFigSpJR/9l+hNDbakw4WztF3t/EDwEcr1f1wq+oXUTfhZc85oXibxaIhHJrWP5FuHwXDvhW8d7bP6fOfKNoVt1LaVGz6iM5j7M1oNjNGnDgsexS7Jv+tesxPk49zLLq9nxJyH7xyjh7RRD9YEPutYFLeC46UeFgaQnrbhGujsre9MiWJp/9qUDUUrtlxj8sr2JkYS8ofvNNeNs+1Q6XekP/RsDsV/omSkawdLAK0UH9TFg7gYH974iH4uVA6ZA9FUf7nG3FxDP1iDNYvKUUKuSST1iUXs2rJTiBvKtP7wimXCdxrmm3YMmHaToyWtogcMhbXIflKiJluUciX2qd2SxY8jHo X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a513282f-6aa7-486e-cc09-08db73a4970a X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2158.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2023 04:44:55.0108 (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: uWnIXwiKZBK8uGOIF1tWXCoJwggchQbkNvTqD4YCR0iV8T4M3qvt5e0a9wfpRbg99S+g+aLF+M+Tzv+2CvJmyw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR10MB5133 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-23_02,2023-06-22_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=878 adultscore=0 spamscore=0 bulkscore=0 malwarescore=0 phishscore=0 mlxscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2306230041 X-Proofpoint-GUID: BF_f5H3a-kemcE00sGWgaV3H-JBmoJQf X-Proofpoint-ORIG-GUID: BF_f5H3a-kemcE00sGWgaV3H-JBmoJQf X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, 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 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-Patchwork-Original-From: Indu Bhagat via Binutils From: Indu Bhagat Reply-To: Indu Bhagat Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1769467294593758022?= X-GMAIL-MSGID: =?utf-8?q?1769467294593758022?= Hi, This patch set adds versioning support to libsframe, which is needed to manage the upcoming ABI breaking changes (some of which are included in this patchset). It also adds symbol versioning for libsframe. As the library is still evolving, it will be better to add symbol versioning support now. I would like some more eyes on this sort of thing, especially the three patches: [1/10] libsframe: add library versioning [3/10] libsframe: add symbol versioning [10/10] binutils/NEWS: add note about upcoming libsframe changes Testing notes: - Regression tested various cross-builds on x86_64 - try bot does not show any new failures - Build works on Solaris, mingw, cygwin - Also regression tested on a FreeBSD VM Further details for the patch series: The first release of the library (libsframe.so.0) had unversioned symbols. The next release of the library (libsframe.so.1) will have versioned symbols with version node name LIBSFRAME_1.0. As libsframe.so.0 -> libsframe.so.1 indicates an ABI break, I realised that including the patches: [4/10] libsframe: update the semantics of sframe_fre_get_ra_offset [5/10] libsframe: update the semantics of sframe_fre_get_fp_offset can be safely done. My previous question to the mailing list, in hindsight, was a moot point https://sourceware.org/pipermail/binutils/2023-June/127801.html. After this patchset, I will proceed with further ABI changes, format bump to SFrame version 2 and its related changes. Thanks, Indu Bhagat (10): libsframe: add library versioning libsframe: remove sframe_get_funcdesc_with_addr API libsframe: add symbol versioning libsframe: update the semantics of sframe_fre_get_ra_offset libsframe: update the semantics of sframe_fre_get_fp_offset libsframe: use uint32_t for fre_type and fde_type function args bfd: libsframe: use uint32_t for return type of sframe_calc_fre_type libsframe: use uint8_t instead of unsigned char for abi_arch libsframe: use uint8_t for return type of sframe_fre_get_base_reg_id binutils/NEWS: add note about upcoming libsframe changes bfd/elf-sframe.c | 2 +- bfd/elfxx-x86.c | 2 +- binutils/NEWS | 6 +++ include/sframe-api.h | 21 ++++---- libsframe/Makefile.am | 15 ++++++ libsframe/Makefile.in | 14 +++++- libsframe/configure | 63 ++++++++++++++++++++++- libsframe/configure.ac | 28 +++++++++++ libsframe/libsframe.ver | 36 +++++++++++++ libsframe/libtool-version | 30 +++++++++++ libsframe/sframe-dump.c | 20 +++++--- libsframe/sframe.c | 103 +++++++++++++++++++++++--------------- 12 files changed, 277 insertions(+), 63 deletions(-) create mode 100644 libsframe/libsframe.ver create mode 100644 libsframe/libtool-version