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 4F2483851A98 for ; Mon, 31 Oct 2022 18:10:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4F2483851A98 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 (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 29VGwphu010776 for ; Mon, 31 Oct 2022 18:10:58 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date : subject : to : references : from : in-reply-to : content-type : content-transfer-encoding : mime-version; s=corp-2022-7-12; bh=4PqgXa6r8Wbm2zkh6c/rLevh37ElT8r4hcJZG1kzHm8=; b=bmN/21yteJcl7syZZ5pRhu7LvgYMyRYoYKnJNGJWcL673Zqi0ahFgWI0fdJlQ3nIyag8 1+/QABU6Zy6KrxHnmFEx2cWfayewLylHlGNOg3foxmwvGdKJjG8E9EYuzTG1QWS5AEMR U2CCRxLN/D0H92pAT4iwYSUhJU2sKUyhYkWFuKJmhsXIGiPDxpCTzxwzQ/unQYFw7eIB saFgktCSKosUBhTvshNhC2iBllpFVz8Yp9fHSH25D/uv6A9T/r0uGFPWvPXHofszrT0d Xkp2tntbSvrM4TiU6xHiVbAQJB5IQ4KG8tqBXPHI4V8khUqsbcSqfAMZWglofhJxZw/w Ag== Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta01.appoci.oracle.com [138.1.114.2]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3kgussmjsv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 31 Oct 2022 18:10:58 +0000 Received: from pps.filterd (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5) with ESMTP id 29VHTjYT037320 for ; Mon, 31 Oct 2022 18:10:57 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2100.outbound.protection.outlook.com [104.47.70.100]) by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3kgtm3kdsy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 31 Oct 2022 18:10:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nZES2Vc2H2dPPfJTSeafgPRFis5Su8EUzONr1sifCNf6uQ8XAGxaSUmupqwiGETsx3C3GcfAlGxaZCYeKLI46o8Ds6uZg80XBgak3ZEqaG0J18XwWzBOgfeiC5GA5BIs0JzPZ2tUwA3Ywc5AP5lJHcGeVyAijE/H+4gCKA0P6xrzSlujXgno4TGr7CVq6wjznuvQAXzJ9t73w46HPC6z9vqjNzLb95GDYgIkJtU+W/Npxu8cnJ9H5SfoeeTPTCvc39G0wA+o8TxvKTg+/X+DdUfa60+Mg2YyiS1Cvnntl+5ulqCzGQPiT7+FxlOoIkIldIncrfe5nZXJtG8/i0oRZQ== 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=4PqgXa6r8Wbm2zkh6c/rLevh37ElT8r4hcJZG1kzHm8=; b=To9p8fwasskcP6cRtgaGLbv5vlYXnr669DYd2OKuGWcg7xjcfMPZlmmyt4cY5pqYXXnBdkUc1T7M8DzxfSQ4ccXuRPjqsaEJp/zbtmk9Cgz899W0DvwfSLq2T2KIw2MLDWv+t+Ox1iiRA5u5hTArLKlrwIaCYETzHyaOFD0FiqTy6iVLQrW87lNAeL9zDwZ3tdOdeNnK/W1o1tsoY1qaAyzaN0G9Yqeu29pkbjHuTObc3YsgdRvgSlZi9YtgRIiI8MNr3UcKLExhQmunnX02rJLg5TsKpzz0bkn+oqf5vAqUH8nHocHU7xYGvQHwgkJ1RxftF7QP/UCXdKtZZwxFBg== 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=4PqgXa6r8Wbm2zkh6c/rLevh37ElT8r4hcJZG1kzHm8=; b=kRST9iG0ayM+rSWiC/ff83wjeVjYnbNfJdkgIfvYz2Vk1ntPwk5gWxZG53ERa7Po5QcCcGxV00kckPzIlR2of5FNmCncOWn/yTuchsSSgCvvtjk3Q3lSj4fTsmlsREhtz3q5SGqDE36fYg0oaPi1yX2Rlze3qN9/7CTiKmjyeKM= Received: from MWHPR10MB1407.namprd10.prod.outlook.com (2603:10b6:300:23::20) by BLAPR10MB5156.namprd10.prod.outlook.com (2603:10b6:208:321::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.19; Mon, 31 Oct 2022 18:10:54 +0000 Received: from MWHPR10MB1407.namprd10.prod.outlook.com ([fe80::1800:88c1:fae8:13b4]) by MWHPR10MB1407.namprd10.prod.outlook.com ([fe80::1800:88c1:fae8:13b4%9]) with mapi id 15.20.5769.019; Mon, 31 Oct 2022 18:10:53 +0000 Message-ID: Date: Mon, 31 Oct 2022 12:10:50 -0600 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.1 Subject: Re: [PATCH] ctf-reader: Fix symbols alias report in ABI representation. Content-Language: en-US To: libabigail@sourceware.org References: <20220908044814.1783610-1-guillermo.e.martinez@oracle.com> From: Guillermo Martinez Organization: Oracle Corporation In-Reply-To: <20220908044814.1783610-1-guillermo.e.martinez@oracle.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: SN4PR0501CA0006.namprd05.prod.outlook.com (2603:10b6:803:40::19) To MWHPR10MB1407.namprd10.prod.outlook.com (2603:10b6:300:23::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWHPR10MB1407:EE_|BLAPR10MB5156:EE_ X-MS-Office365-Filtering-Correlation-Id: a7243bde-9086-4386-9413-08dabb6b3fb6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XxX/pTNbVgHQsvBxgNXG2mVCoPJh5fbBRiOUc08arYGo5UadslSnL6eyQljoZEWsOliYhBvjY8eqY/6dusk5afF9qDMuAlWA1UuMahThjlgkeS0mNFY7uZbriPpT1r43yM+snaLWpJKkqydJ2ABdFmarkK4NZUDtgFULLcuUDQhxhRRQs1Z3embr7nTfqcDjrd8CFgmvhhwLfKvPPRLNZsSpqeB/bviTEnSU9u5qTABSXTefTsRmZvnbl5sZcJTNc+61IVKdrsE7AmegFgi5uc/9r/31Yc5pGr/oYb190unoIFAKv8Ls+WsDz4Hdwlkb/iukR4Wn2u2z89S6ivLgYms0hwTWoqyU/YmTzIUTzKHlqJgnNqkH2u/O9r4aVI2ksv+hS5LeN7a53FPOjbwixw5AJBuEMSPkt0kBl/98FyRqxFRPD2SrNfVnbooMcwAk+Iahj8v3BfzqPVQ216p8PlWYEbBxdtK8WkG6FxbDtmsHQTMrTCd95M6tHrVe1SPF9z8fyCOu9Tkb9wjvNkvUm20D8q73mYMB1x38QWFODeRvoT0+//UV6bVs1vJ/+QOV/Fgt+r+MM4joRvicSIvLIRg+Aygxr6KGjgKPbsYooWqqYGaP40jCgsLEt4VnHR81hRRXj8bPlSgVDwZn24UuzPrmK6D6MHu9UVAiTQpxL9AbSGKYliSDWWCefKSodfvtBjtri/B6RJIp5PJ4GZmckpuhtzX1YRaA8Fof7Kxzl6tdrTCXhstodd8/K9wVFwyyyhVuYvOBgGYKdxLc5hNBPRqz+FMHN/8dfWvWM4N9eQI= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR10MB1407.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(376002)(39860400002)(396003)(346002)(136003)(451199015)(8936002)(186003)(5660300002)(2616005)(6486002)(478600001)(31686004)(53546011)(36916002)(316002)(6916009)(83380400001)(8676002)(66476007)(66556008)(66946007)(6506007)(36756003)(31696002)(86362001)(6512007)(2906002)(26005)(41300700001)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NFZ4RkhBS1JOc1dIRG85NTNPYjdKakdXRml3aWxwWVFrUTZZY3RESlpSYmRW?= =?utf-8?B?LytkVlFjMGRGblVVOUdLYSt0dFlaMmFIVmVaazliM28vMDZ1cUNFWlVtakFF?= =?utf-8?B?b2JUR25IT1A4elZEVmFEVUJEdFlqOFdDWTE3OCtWOXpiUXk4UmxQSzdpVnUy?= =?utf-8?B?MDhMcFFxVmE5YjJiajhJUlZKR2hZRzdhVmoyYmY5QzB6cXF3aklqblczaXh3?= =?utf-8?B?dUxVQncvNHp4akQxRGFGZ1EvM3VRQ21aMWQ0MDJpOU13bGRENk1XV1hTZFU2?= =?utf-8?B?UWxhUVoxWHpDNFJMSnp1alBpVkxWTVFQclQ4MHVVd2M4SmlWMHFkbGhHQXUv?= =?utf-8?B?QVFmaFdtU2NjUVJDVmRDSW5DVG44WHh1elUvcVZtWGZKU1c2QTB6aDRJVTlL?= =?utf-8?B?M2dJbTBTa3BJcEJNTEIxZ3l0RVFQRFpNeG41SlErLzJzVGVjc3NyU2NDZTFI?= =?utf-8?B?azNEMXp2dTE1VUlkckRUR2lqSFNaaHpGRUZTUXZTazNBN3dSNmVVSXVzdUds?= =?utf-8?B?bmhSU3BCVytzNXA1U2Vla2FaazJsbnc1OVNGUWlVbHpadFUwd1crSnhoZ2t2?= =?utf-8?B?UjRYeU9ISXZjKzlndDZPbW50dlgzd2ovTFNFdFk1STFPaEtwUXpIZG40cTBk?= =?utf-8?B?SnhsMDJ3SE9FTS9PTEVpMWdzSi9jU1BLK2pVazhPSEUzRlkrdmQ3bFZ5ZUc3?= =?utf-8?B?VHk3ek5wK010SGQ0azFqY3ZrQjNYa3VqU3ZtS0hXUUN2TGJjVlRBNGJxcHZU?= =?utf-8?B?L0Y0ZTVadFhKQnJqSmNYd0hEMnFkS3Z2Z0ROeXBENkdYUVFHcnZJQ3ZMalF0?= =?utf-8?B?TWF2czFib0syQmxLcEdrOHZWU1laV01IMEEzcUdUOHg3RFVkcHBjQmtpWmNZ?= =?utf-8?B?TGhETjNwU2lsTStDMXBiakhJMjdHS0MvdjQ4QzUwOEV3aGRZWVJuUkdjN2l5?= =?utf-8?B?V2hiZkNZd0pYbWFMWjFZUmFneU5sSVhpRGZZZnhRMWZteW5PaHVDa3NRei9m?= =?utf-8?B?a1REOHVmVWVseDRvQ0dENzhJNUwwRGhkRkNEVkZjMFJZaklDdkE2L2ZWSG9K?= =?utf-8?B?ZFZGNE0zYk5qYnJTcHllOW15UkJscGdsL3BqeDJEL1I2MVgxVTYvWXFSdGpn?= =?utf-8?B?TlRRZ0VPdDhxa0M0VGhiYnFya0ZFUVcxR0FIeVlxVHNLa2JjbU9wZ3dYd09U?= =?utf-8?B?bE0yY3Byb0lRbmFEWXpmcDlBQVQwTWtNQUNUMzd2S29uZ2tLNTllb0h0L1Jn?= =?utf-8?B?OG1ZcVhYR3pLM0ppS1E4aW81cWI3RHFWbmxueEZMWWF3TVlZVlczY2ZrcHdJ?= =?utf-8?B?UXVnaWlVL2hFN0Q3a2I4RUhPNEZabnJvZ2UvcUQ0MUp4cHdub1VlMnY3eC81?= =?utf-8?B?ZzZRQm1FcUlXd3JQVHlnWi9HbExRT0E0NUJ0NkhQcnB0akd4SC96R0dzelIy?= =?utf-8?B?TWZZZk4ydnlrWGl0RjJWcERkRjhRV2gyY25CYThmYzhIQkx5Ni95c1AvWUI5?= =?utf-8?B?bEVjRjBsTGk2d0ZxczVCZlZhcHc4RkdOdVRnMEN2a0RlMDJuY1krK21Yd1RY?= =?utf-8?B?RjBmek50RmV0WC9TWXErTkt2dHFiQnQ4b0tPaXZOY0VSS1BoUzhHeXRlOGdm?= =?utf-8?B?ejhHUHNydDQ5NUZGUm9oYWNuUVJ0S2NOQy9PVWJLN2lTWUhYSkduUG1JY3JN?= =?utf-8?B?RUFqL1ZsRkgzb0o3Q2tONTFQQzRNcWszYm9MV0cwb0lCNE5saWtuaHV4SlBJ?= =?utf-8?B?TnFxb2dYbHZLUmgzK3VITkdXY1lweWtseTZORWhPaFNDWDgzaWswMzNEMGJo?= =?utf-8?B?amNOZ3RBUkZWSjVNdk00R0lmQnFxNk5iSmRPYUVReWZEYkxJckFOT3pzL0V1?= =?utf-8?B?QTRlc1lRcDdZd1M5cVJWTDhNYmp1bHl5elN0cE5UdlhuTDY2MC9kSGliZCtT?= =?utf-8?B?ZHpoZlppMExjQVppL1NBOHpEVG9FK1hFOCswOTZ5WTdCcnQ0ZGFtN1IvKzhw?= =?utf-8?B?SmViQTFXNGN2ak9vYW9Yc2hRd01hRmNyZHE4ZEhxN2VrRjcvcFFKRWxQS2Vw?= =?utf-8?B?WVlNdEpVS25tTWFoREZCeFV5TTBHcVVROXJBblhwM1ozZWtVQ2FTejFvK1RF?= =?utf-8?B?UU1EOTE5UWlLZE1Ib2tnRXNBY0FSWHVYM3RyWEZvWktrYURWN2dDbWhPUFNY?= =?utf-8?B?Y0E9PQ==?= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: a7243bde-9086-4386-9413-08dabb6b3fb6 X-MS-Exchange-CrossTenant-AuthSource: MWHPR10MB1407.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Oct 2022 18:10:53.5233 (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: GoVyLJdh0WU4UYjGvAN6/pj7UFZo8MfwdUnYg4gl4cr0S8kqe0Ep51l7inU3QnO5W1BsGmFCSmSq/iiGuO6KOdAzAu8kjaFkT+1k2yxfBGw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR10MB5156 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-10-31_19,2022-10-31_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 bulkscore=0 suspectscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2210310113 X-Proofpoint-ORIG-GUID: fx-dmigm6uoRe4LMNQ40iDoLV-BTCeA3 X-Proofpoint-GUID: fx-dmigm6uoRe4LMNQ40iDoLV-BTCeA3 X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,NICE_REPLY_A,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP 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: Hello, Is there any comment with this patch? thanks, guillermo On 07/09/2022 11:48 p. m., Guillermo E. Martinez wrote: > Hello, > > This patch fix the alias report in the ABI XML file generated by ctf > reader, some symbols are mentioned as alias, but there isn't relationship > between them. > > Comments will be grateful and appreciated!. > > Thanks in advanced, > guillermo > -- > > Symbol alias are not correctly enumerated in ABI representation using > the ctf reader when it operates on Elf ET_REL files, due to the > mechanism applied to find the symbol alias, this rely indirectly in > the value of `sh_addr' in Elf section header structures, reading > the same value for different Elf sections, depending of which section the > symbol is stored in Elf file, even though the first symbols in those > section have the same `st_value', it doesn't mean that they are > aliases. So, is necessary update the section's virtual addr field, just > if it is a SHF_ALLOC section, it is done by adding the previous > section size and assigning this value to `sh_addr' field, otherwise > alias symbols (if the symbol has one) are mix up: > > * src/abg-ctf-reader.cc (open_elf_handler): Update addr > field if it is section is SHF_ALLOC for ET_REL files. > * tests/data/Makefile.am: New test case input. > * tests/data/test-read-ctf/test-alias.c: Update testcase. > * tests/data/test-read-ctf/test-alias.o.abi: Likewise. > * tests/test-read-ctf.cc (in_out_specs): Likewise. > > Signed-off-by: Guillermo E. Martinez > --- > src/abg-ctf-reader.cc | 35 ++++++++++++++++++++++ > tests/data/Makefile.am | 1 + > tests/data/test-read-ctf/test-alias.c | 18 +++++------ > tests/data/test-read-ctf/test-alias.o | Bin 0 -> 1688 bytes > tests/data/test-read-ctf/test-alias.o.abi | 22 +++++++------- > tests/test-read-ctf.cc | 8 +++++ > 6 files changed, 64 insertions(+), 20 deletions(-) > create mode 100644 tests/data/test-read-ctf/test-alias.o > > diff --git a/src/abg-ctf-reader.cc b/src/abg-ctf-reader.cc > index f5f58c7a..907290d2 100644 > --- a/src/abg-ctf-reader.cc > +++ b/src/abg-ctf-reader.cc > @@ -1396,6 +1396,41 @@ open_elf_handler(read_context *ctxt) > return 0; > } > > + /* It Elf type is ET_REL it updates SHF_ALLOC sections in > + its virtual addr field, it is done by adding the previous > + section size and assigning this value to sh_addr field, > + otherwise alias symbols (if the symbol has one) is mix up */ > + Elf *elf = ctxt->elf_handler; > + GElf_Ehdr ehdr_mem, *ehdr = gelf_getehdr(elf, &ehdr_mem); > + if (ehdr == NULL) > + return 0; > + > + GElf_Addr end = 0; > + Elf_Scn *scn = NULL; > + > + if (ehdr->e_type == ET_REL) > + while ((scn = elf_nextscn(elf, scn)) != NULL) > + { > + GElf_Shdr shdr_mem; > + GElf_Shdr *shdr = gelf_getshdr(scn, &shdr_mem); > + > + if (shdr == NULL) > + return 0; > + > + if (shdr->sh_flags & SHF_ALLOC) > + { > + if (shdr->sh_addr == 0) > + { > + shdr->sh_addr = end; > + end = shdr->sh_addr + shdr->sh_size; > + if ((shdr->sh_addr != 0) && !gelf_update_shdr(scn, shdr)) > + return 0; > + } > + else > + end = shdr->sh_addr + shdr->sh_size; > + } > + } > + > return 1; > } > > diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am > index 782dd7f3..793a0e89 100644 > --- a/tests/data/Makefile.am > +++ b/tests/data/Makefile.am > @@ -632,6 +632,7 @@ test-read-ctf/test9.c \ > test-read-ctf/test9.o \ > test-read-ctf/test9.o.abi \ > test-read-ctf/test-alias.c \ > +test-read-ctf/test-alias.o \ > test-read-ctf/test-alias.o.abi \ > test-read-ctf/test-ambiguous-struct-A.c \ > test-read-ctf/test-ambiguous-struct-A.o \ > diff --git a/tests/data/test-read-ctf/test-alias.c b/tests/data/test-read-ctf/test-alias.c > index 1b497a18..afc0aced 100644 > --- a/tests/data/test-read-ctf/test-alias.c > +++ b/tests/data/test-read-ctf/test-alias.c > @@ -1,15 +1,13 @@ > +// gcc -gctf tests/data/test-read-ctf/test-alias .c \ > +// -c -o tests/data/test-read-ctf/test-alias.o > > -// function aliases > +void func(void); > +void alias_func(void) __attribute__((alias("func"))); > +int foo; > > -void main_func(void); > -void alias_func(void) __attribute__((weak, alias("main_func"))); > - > -void main_func(void) > +void func(void) > { > - > } > > -// variables aliases > - > -int main_var; > -extern int alias_var __attribute__((weak, alias("main_var"))); > +int var; > +extern int alias_var __attribute__((alias("var"))); > diff --git a/tests/data/test-read-ctf/test-alias.o b/tests/data/test-read-ctf/test-alias.o > new file mode 100644 > index 0000000000000000000000000000000000000000..ff5e5c536d824fc639ba4338182a870c57ddf548 > GIT binary patch > literal 1688 > zcmbtUUuzRV5T8q9YBedThzeD>;)5-ky);sgK1eiZiin_4@THW!%ceQJ%f-7*Nkq^m > z!MA=4AN>dgzkuJsC!w$U1$5?aH`y-n$$`0<`OW-h|I8*Io;-hAavad&z(bfv8U=X0 > zH22%N+lCrcVSn%Q&y$01@cT!(q$@VGgSLuVN4<&aqCPb+l6Z3#cooHB_o6 > zOL@Y{Qcl;STPfqmMd&(OluBX1Auh_bd_&<-LO)61n5V#_kY|VF9VcNA`r}~$-XMvE > z=TH5qm!v$1gqNj(7ll6e!y_I>jqxaxso=3EMJ6+^$0g6*27_htb=x6|2m > zH@h$Px7_XftjU^gtJ!KbcUn8{rkIRG8pdKMd9;;pQk@|`BXXbw&M9G992L{KNv;+K > zoOiFlnbe*2>hi@COwyUvxnY@V9 z(0jds_!Xl*-$RZq#&4@Wny>Axf8ap3-_Vy#11*M`&u~6hdJnnK>}L;>5SC42$$hjk > zE$l#hQcNT;8Z0nB%Yflf@sq?fC}6`x3Wl?3WReGORD3iXvr(GhIOP;rDk9Fr;IN zSmf*f?`Itw&}{Uh*8SSb(f6xysx@T;1H$H$DzaU($nb6c9n8_YvH5$7W4|dqKi%>k > zI(ARWY5t0pv_jZc{3ekMd8rET8W_2nukEgZnWgV_fe9|CeTEp_@wqpI@khnC_hsLQ > zuX@`2uZmCqgQnR015DDLw#_2+zpIAydn37oN?gs?I4xtZjS!rv^-n24xr|CPw)ym5 > fYtJ4b_@bK9`!Gedok45pE#jXkel)8r9Gm|afdYk1 > > literal 0 > HcmV?d00001 > > diff --git a/tests/data/test-read-ctf/test-alias.o.abi b/tests/data/test-read-ctf/test-alias.o.abi > index 1fe61b8f..f0f53ad1 100644 > --- a/tests/data/test-read-ctf/test-alias.o.abi > +++ b/tests/data/test-read-ctf/test-alias.o.abi > @@ -1,19 +1,21 @@ > > > - > - > + > + > > > - > - > + > + > + > > > - > - > - > + > + > + > > - > - > - > + > + > + > + > > > diff --git a/tests/test-read-ctf.cc b/tests/test-read-ctf.cc > index b0ef7de6..0b4e4b9d 100644 > --- a/tests/test-read-ctf.cc > +++ b/tests/test-read-ctf.cc > @@ -293,6 +293,14 @@ static InOutSpec in_out_specs[] = > "data/test-read-ctf/test-callback2.abi", > "output/test-read-ctf/test-callback2.abi", > }, > + { > + "data/test-read-ctf/test-alias.o", > + "", > + "", > + SEQUENCE_TYPE_ID_STYLE, > + "data/test-read-ctf/test-alias.o.abi", > + "output/test-read-ctf/test-alias.o.abi", > + }, > // out-of-tree kernel module. > { > "data/test-read-ctf/test-linux-module.ko",