From patchwork Mon Mar 10 17:51:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthieu Longo X-Patchwork-Id: 107594 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 02E8D3858C2C for ; Mon, 10 Mar 2025 17:56:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 02E8D3858C2C Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=NQWaYdXW; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=NQWaYdXW X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from EUR03-VI1-obe.outbound.protection.outlook.com (mail-vi1eur03on20603.outbound.protection.outlook.com [IPv6:2a01:111:f403:260c::603]) by sourceware.org (Postfix) with ESMTPS id A63B13858D38 for ; Mon, 10 Mar 2025 17:53:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A63B13858D38 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org A63B13858D38 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=2a01:111:f403:260c::603 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1741629213; cv=pass; b=VorhhwENEO7vfSG6Z+B20rffME93emxq1m2v0GAKP9WYgkwcOUrNdHWp3f43A15S21kmMyTzSuIpwI6oAUyKEW+5AXdLXg59zuiAo7PiAurS6VMqqTBeuCao5g71dbMb6NymyMXMs3N0mcyPJqFrxs6UMfdvh+6ZgGxDPrJnjoU= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1741629213; c=relaxed/simple; bh=V+u58InFFIJYN2mVw8Ep0+W/MJUYUsNteJx5w0eywnY=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=Yw4b7NNxltTzA7BUl7K+u2I38B4J4P8l83qVzv5RkuzryksG8B36bMJAdNhtWYubWqUILNCgVZn1U9+0K0WtCYslefSQgagpvqiqwLGXJyj4YMbs1UHLFSGphXZY38SFQ2jvyCxe/yMxUGBXBum6w3zHvSWsbj2UjFgHesUg0bM= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A63B13858D38 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=VOTmY1CMdJMTMnOhhO5Z+dD8EfQntSf+/RXO7ZK3uOqsfp1tV9RIOF9Ip3xU4ZNVWKANHfzK/nKDYCEw/7Q+cecDL1WKxcUzjcuQh5lPMDiVR5Lxam136R1H5HYdh5G4Qq3zHX4raysVTjQYgYRM9aT3U/LOmIAfO8e9JbEdi5omq8S5eA9zXDaaBXfxhVImByZDPHkllYAwksBwEP3+xQbTe9ZGCr3/LOBjcvmiuRdceCrA8EPaGCia6a1qeOP5DZbI+/NKQIrphpUBwiQWCFj1rbyMlMWQwl0S51WblP/wVaBdsEyM99jwCXzv9XzNWEVSlWEJ6P7RsmcWoKWstA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=ceUA5IxD5b2Sw//Wgp6F0zbEqo0NXz1NPBMLeVNWPWU=; b=mnYk+0GVMR0Li5ve0ISX40KmKYR7L6bjJWZ9fqUHKc+czMB7bJ4aq1BoED9QgyEbdl1P4kSa86hO37zfO75AVeLD9BbZoNa0AwJ+s/4TtBoV3ch2HyczyuYVw32JkZnWNouTtKBJO59Qonfxp2jdEunzvJz45Xtb8wfIXmyBXWOCSNn8a5+LA0z7nI0rzVH/osjR4GCGRC0mkbc/ZOqoTOMZfhnHHkkgBvKTQRwLgSaHBLTxmb+jqukpdBrdSO6gOCB/zl6tzCrNNVRSIeaxkkWF1UOkAli5eqRrDw5tIWAllgD1IvJEsVnikh+/zEYR9O0x6ndrruGO3eKsm69l9Q== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=0 ltdi=1) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ceUA5IxD5b2Sw//Wgp6F0zbEqo0NXz1NPBMLeVNWPWU=; b=NQWaYdXWT+A+sjpDKF0YzqfVrOFp123ZyNgDz2LE5qMgFLpQT2aZzUTtywMDHZrkJB+voYlj7io1Sd2fDjeXpML3xCTwMGLMM7bKRm2PgxMU3/USX8st1nPxAn2hrdRh+X4WbrQ/bUF8O6rbZfxV6bQ9i3KgYdVBi0Z8N/BLQ1M= Received: from DB7PR03CA0098.eurprd03.prod.outlook.com (2603:10a6:10:72::39) by AS8PR08MB6360.eurprd08.prod.outlook.com (2603:10a6:20b:33e::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.27; Mon, 10 Mar 2025 17:53:28 +0000 Received: from DB1PEPF000509F3.eurprd02.prod.outlook.com (2603:10a6:10:72:cafe::d4) by DB7PR03CA0098.outlook.office365.com (2603:10a6:10:72::39) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.26 via Frontend Transport; Mon, 10 Mar 2025 17:53:28 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB1PEPF000509F3.mail.protection.outlook.com (10.167.242.149) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8534.20 via Frontend Transport; Mon, 10 Mar 2025 17:53:28 +0000 Received: ("Tessian outbound bc832f6acacf:v585"); Mon, 10 Mar 2025 17:53:27 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: de2299f05c057441 X-TessianGatewayMetadata: SHIuln8x+PJ9bvHbE2PAEy7xqeIHq3b+QLynN4mYhW33YnYHsiFQuBJ0UTz4S6XmNwhQv3BiDGnX9FHdSoRyNXVUqC5i96cuIopgLEdSzYxFIu9cqLeKUDi8JcfKg8u2+AK26krhafiBcmx7er+Rq/8w/VOtHkWuAoi9pRtOzRE= X-CR-MTA-TID: 64aa7808 Received: from Lce5ccf86c632.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 3ECA185A-8A1D-49E8-AC94-93692B525E0C.1; Mon, 10 Mar 2025 17:53:20 +0000 Received: from AS8PR04CU009.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id Lce5ccf86c632.1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Mon, 10 Mar 2025 17:53:20 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oI5mGscS6fGFbnqFeau5q0nZ8DUNWIc7LWosL04ur3GxkoZWfy94NHdqo17lcuMslJFaN/Yvv+y8V/d4kh048wflYc4A2KdNpLNY/EzP2PH2v8X+jGfHiBTuFLX6eQl4zdMjzacsboqB76GcErbNR76b48FRvQGJY2mFGuFSDVagguS1/P3p3OeUwAwyuMUEMuo23NhLV88325w3mcpH64f6qaJDzq9i6taDBoOVLXbhzGt29aAGcCF/N+S2D/fPculsRcgbIa8kT8G2h61dovYXIG/3ANvdxH/goVtb7A/ge0DcGqoOsRRazb1HXPB0yfQcletLXLw1YxvJnvkQLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=ceUA5IxD5b2Sw//Wgp6F0zbEqo0NXz1NPBMLeVNWPWU=; b=YLlb2t7hNOLCaPp6F6lXYa9wMzBfiNxylDqHTN79+/Q52we1q1ImsvlCvwam6G9LQJnFIMdyWw+fFYeNoNF0fl9K01bRFnPhButk497cXwHPrF3tc3JeFbubwTgZ0IeLD8WLfnpDq/X6Z+skTCiJefP3QhrNbFKU88qfxFVsfhBL/YQE5sD4F6s6fZIE5A0hejsJEKOfROgw84R7gMJ6hMxMAWEq37W9E3s6y4AmLNfPgX9qjAKWY0vAsMYk7XCM5PYVreDNf6QxqnclfCyJuoVNP3GZfI85ZXkBhgAFSJWln8wVa6grB5xDlWlapegYJ9XFWkU7nrdKSeQjVpgATw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=fail (sender ip is 172.205.89.229) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ceUA5IxD5b2Sw//Wgp6F0zbEqo0NXz1NPBMLeVNWPWU=; b=NQWaYdXWT+A+sjpDKF0YzqfVrOFp123ZyNgDz2LE5qMgFLpQT2aZzUTtywMDHZrkJB+voYlj7io1Sd2fDjeXpML3xCTwMGLMM7bKRm2PgxMU3/USX8st1nPxAn2hrdRh+X4WbrQ/bUF8O6rbZfxV6bQ9i3KgYdVBi0Z8N/BLQ1M= Received: from AM6P193CA0141.EURP193.PROD.OUTLOOK.COM (2603:10a6:209:85::46) by DB3PR08MB8985.eurprd08.prod.outlook.com (2603:10a6:10:43f::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8511.26; Mon, 10 Mar 2025 17:53:15 +0000 Received: from AM4PEPF00027A5E.eurprd04.prod.outlook.com (2603:10a6:209:85:cafe::2f) by AM6P193CA0141.outlook.office365.com (2603:10a6:209:85::46) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.8511.26 via Frontend Transport; Mon, 10 Mar 2025 17:53:15 +0000 X-MS-Exchange-Authentication-Results: spf=fail (sender IP is 172.205.89.229) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=fail action=none header.from=arm.com; Received-SPF: Fail (protection.outlook.com: domain of arm.com does not designate 172.205.89.229 as permitted sender) receiver=protection.outlook.com; client-ip=172.205.89.229; helo=nebula.arm.com; Received: from nebula.arm.com (172.205.89.229) by AM4PEPF00027A5E.mail.protection.outlook.com (10.167.16.72) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.8534.20 via Frontend Transport; Mon, 10 Mar 2025 17:53:15 +0000 Received: from AZ-NEU-EX06.Arm.com (10.240.25.134) by AZ-NEU-EX05.Arm.com (10.240.25.133) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 10 Mar 2025 17:52:57 +0000 Received: from PW070M4K.arm.com (10.57.84.208) by mail.arm.com (10.240.25.134) with Microsoft SMTP Server id 15.1.2507.39 via Frontend Transport; Mon, 10 Mar 2025 17:52:57 +0000 From: Matthieu Longo To: CC: Alan Modra , Richard Earnshaw , Richard Ball , "Matthieu Longo" Subject: [PATCH v0 07/15] gas tests: add new tests for build attributes Date: Mon, 10 Mar 2025 17:51:20 +0000 Message-ID: <20250310175131.1217374-8-matthieu.longo@arm.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250310175131.1217374-1-matthieu.longo@arm.com> References: <20250310175131.1217374-1-matthieu.longo@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AM4PEPF00027A5E:EE_|DB3PR08MB8985:EE_|DB1PEPF000509F3:EE_|AS8PR08MB6360:EE_ X-MS-Office365-Filtering-Correlation-Id: 1e7f9ac3-6d45-490f-0219-08dd5ffc767e x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|82310400026|1800799024|36860700013|376014; X-Microsoft-Antispam-Message-Info-Original: FPuvu7vzzMJSdlQf+6pfB9B8Tnac9IR/1ZAf+845BD1wYk7pfIJun1tO0alWYQSrQdxhrhyUkqR4K6gwDWDozYMjfYQn74qZjR5+q4e1WHwq3V2HfVx+oXJQMjWc9ixgLR0xXou7mw4/Kz7J3GEP9VFCoY/6mtLTWkvCMfAsXg6mZbVqsrceJuDp/QyXXj1dKWli7EoNeQFLiN5RFjBmuqbjw8rUAOrJBrDU3hsnbcz1RofkBmLye6X9O4ulTQyUxDxDuEEgEWpaz+EvJBRdM5M703UxyfuR3Lo7ce5orctbiQRHNsgzttLrzmhZApzLUEpI1nztahRJpYxJTZup46AsACKgdqm45zC04CfQJzH49gn2xE5Up5CDV+1Wjv0VZY9g2HAE0HzLZsKDzfziEsAnRPPKIhcOzM2/jU0E/zoLvfqYKbloM0yMqabH3gg/H5sSlcPapyRF7nGAoSc5fpWJFLhVvCOemNjcnaoMQV23q4g8JMJugOVufHSrjr6G6PtTe+OVpBOr7MtPeLeU6IAnTLXsf+Ntj10Ux6Q3HNJm5Sn1alf+JeRP37Di6m4blYuDiQJ7PKTOEQBdHrPUR3aLJ4hf+HGQcMUKibWAC8Oi7c3iz2B3ELsEsIwZ/KrRXAYsqew4NFMZ1Rkscv/leE+gbf+7x+vsQROqbwMfyEa8nG1ROiuOT1o0U57dxC9rhSKEMdi9qoojbF3PnH0itKlqsC8fglPuOhie0PwATfIVP0z8/qNjwM4sWLuOUPwjFdVHLCgtKajzhfuHrhcXdOF+XUIsGgdswEbPv1khG7mPvWUqAey4VYHfWjX/siQua78Q4py4qOyPJMpJqM1MSQrvmXYnIqJ+M6sqBb9jJ5oZRj8HpiXW/bpVMc5HkzijCvajuP71lK5UDSt/BKXxHwZqjblB8rLwxSoL00Rjc3tam43D+G+Uk5HzEdukNP9mxr4CojSNArFo55jkqkDzceywbMNmvVkgmpWHwxLq7vqSjJAbikw0e/Ue1Cg35JXH+SLhd4x0y9j/N7WJOKG22HyXYTua71Z9l/T/NAyl2cffQoTxKUcz93Z3LMPLNzJjy/YXmc8zlFdMLiRZWfgLRNfYTdC/XI28/eY4oRx8pG8wU2kUKk0txPSmH9OSU8fNg3VXDl13upy3muqY7QBvnezOrBCkEZwc2mrAHee03ZJUHJI0xGnW3A013KqkSuUqANAh7ATHP/ad8hvm0fGvHMWsml478FQiwj+SqThj/zIJFqvxNFgeJO9tFM6lPBh/RtIIVhTCXbIRVcH4fCe/SVa/0QT4/3Y1GwQotggYrWYkBdnEEcy5jYqpBaAQuGt0ojSVaLk2OKOL94gh96c7GBnr22jUyv1y+C4NYSQ3oNs9i1URkitselAw8CdWX6v8OMz+YXexFvZ+7ntge0u54x3AiAcBvPCDvpJQQqmvQqubiONthBdN7POwzZmNvcRpGUQ83+5aHeToLKZkPEe9NiltLMJxwsh8SklNNYqKPRo= X-Forefront-Antispam-Report-Untrusted: CIP:172.205.89.229; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(1800799024)(36860700013)(376014); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB8985 X-MS-Exchange-SkipListedInternetSender: ip=[2603:10a6:209:85::46]; domain=AM6P193CA0141.EURP193.PROD.OUTLOOK.COM X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB1PEPF000509F3.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: e7b88c63-e027-4b87-6508-08dd5ffc6ef7 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|376014|14060799003|36860700013|35042699022|1800799024; X-Microsoft-Antispam-Message-Info: UEPthnxqIT+T4igBkVo/8UuI5skMuhS77nBOWn8jIq+eTfEhN/M6blTtdwkUWBDqHtp5Vh+kxIegJmIp4e5zcQNePf9kB3eC2WWkYARqkNZKMvixoGyUdembIJkd32xe1b7t/TFxRJosbXlpWKAXFuEWmLiJHHyJ8V92DBgNjOZIjbMe693tQLO7b5p1AO6FqRL/4Vznjyu3joy0FeNP98LxCN9XIidctTu06deu1PFXmPY/tmmYYqCRcWOtIXBSNsdRmBHxSlkP5fS+RIcKcrUrI4Q2nG4XdOvokMT7jlWhTMuMvTe8RxBaFApuLMCq5HZgSbSXjMl6luSkv5wL5mcAiNLHRZPvy78PwbVBMn5c9MCJLbXLUwz+nrsLydtH1Lh//0ApE3ZvbEfh+lpq7QF0Ju7F1d5wlUO9RGDEMyy6q9ZESxL2Qngp3Y+R2KoecA0JuX31m/7brqJxxOn3LZ4tb3vJ97H8JFACelBHq9bV1HmdtTFDrzA9sZPgyW38BuHby/Z/tIgAIzlo0cdTOuBwdQYvaeGhShtsgPZSeIgr+Vt2LjBbRCQrK+Lh2nUDDeW/s8nvSpr3r7E0D3TByn8gTt/apvxLcUe+bmMC2aRV7gvc/M1fkgRNucpcyGyXVSeImeOqfGtENeYQ1VBk77JTV9RLFnId5bhpWpZtFTez1dymZym0iMSiNnl3iSNN+ZX1UO/zBShPdlj7NPIp2NDqILulDDsiweBF6KPNl8c2BJOdKMFWNBkx4yDCXPcYu60ommAYhBRYHDWDlqdijwGX4ygHxt3RqnqGRpW8CKA+MzUahK1Wp3fcVz+o8Ky7QmqNBmd7440fVPG2Lva25gDVBaPiaU7vN/Gh1YIKAwM9Oa45e6oLKiy1HoISwXP9B/oyeH/D2yIZeeiaOYtJAzn8OC6dS0dljrQNgGBF+aymcVvyItgrWZJNbTRDritO1K5h21amq85f9LdDjGip95i2I2WOO91DInwEKd5cy/kdaVXOWzBR8y3meF20WRy+OKU3p4kvah2vLDCoSoFKIB0idi1saWGKxrpMBaFlnXZaOTui9hWUuqBfoeoZO9ltLDq2DSJRiJ+TCnJG8c/v4DrOPvG0W7265etXDxOaU8h8T+7imhkNabYAxR58hPK1ZBt/+sK1rcbd9d/lTq14qmYDtrCpgKeV0fSnbd89QFIuTIdsUzIOl9DDsn8wHqDYNNwu4J0b/8TxxQxCWC8YRNMcc+vA7nY2NXBd60DwVr3bGYLF1WrT2gPqsc4qU9BKeFG3tVD0QMYdtrKRfWnTnZPIbClc7QnHlD+vK7MZsqPdUpHaBgqxqVpXvc6qn1FRCekhlTLKl/BJ+DEmXpLCCJGYxXzrMFgS56u06tJB0E7CWjTXnvNxbOJqm3c2dhZnUdKJpLK/0P9r1Tpd2TIfDnIHSQu9TWEsu7yGREPfFJ8LJnMYC6oXiMGdZMB8L9es1BT56tjMnhFz4F64VrRbAoeeH45H3oZLtXCvnGL7QJg= X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:64aa7808-outbound-1.mta.getcheckrecipient.com; CAT:NONE; SFS:(13230040)(82310400026)(376014)(14060799003)(36860700013)(35042699022)(1800799024); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2025 17:53:28.0689 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1e7f9ac3-6d45-490f-0219-08dd5ffc767e X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB1PEPF000509F3.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6360 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, PROLO_LEO1, SPF_HELO_PASS, SPF_NONE, TXREP, UNPARSEABLE_RELAY 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.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org From: Richard Ball The added tests cover the parsing of the new assembly directives (aeabi_subsection and aeabi_attribute), the serialization of the build attributes data into an object file, and the deserialization of the data via readelf. Co-Authored-By: Matthieu Longo --- .../aarch64-build-attributes.exp | 23 ++++++ .../gas/aarch64/build-attributes/ba-1.d | 51 +++++++++++++ .../gas/aarch64/build-attributes/ba-1.s | 30 ++++++++ .../aarch64/build-attributes/ba-failures-1.d | 14 ++++ .../aarch64/build-attributes/ba-failures-1.s | 28 +++++++ .../ba-interleaved-subsections.d | 35 +++++++++ .../ba-interleaved-subsections.s | 32 ++++++++ .../build-attributes/ba-subsection-parsing.d | 75 +++++++++++++++++++ .../build-attributes/ba-subsection-parsing.s | 21 ++++++ 9 files changed, 309 insertions(+) create mode 100644 gas/testsuite/gas/aarch64/build-attributes/aarch64-build-attributes.exp create mode 100644 gas/testsuite/gas/aarch64/build-attributes/ba-1.d create mode 100644 gas/testsuite/gas/aarch64/build-attributes/ba-1.s create mode 100644 gas/testsuite/gas/aarch64/build-attributes/ba-failures-1.d create mode 100644 gas/testsuite/gas/aarch64/build-attributes/ba-failures-1.s create mode 100644 gas/testsuite/gas/aarch64/build-attributes/ba-interleaved-subsections.d create mode 100644 gas/testsuite/gas/aarch64/build-attributes/ba-interleaved-subsections.s create mode 100644 gas/testsuite/gas/aarch64/build-attributes/ba-subsection-parsing.d create mode 100644 gas/testsuite/gas/aarch64/build-attributes/ba-subsection-parsing.s diff --git a/gas/testsuite/gas/aarch64/build-attributes/aarch64-build-attributes.exp b/gas/testsuite/gas/aarch64/build-attributes/aarch64-build-attributes.exp new file mode 100644 index 00000000000..7d8269d6b0f --- /dev/null +++ b/gas/testsuite/gas/aarch64/build-attributes/aarch64-build-attributes.exp @@ -0,0 +1,23 @@ +# Copyright (C) 2025 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + +# +# AArch64 tests for the build attributes +# + +if {[istarget aarch64*-*-*]} { + run_dump_tests [lsort [glob -nocomplain $srcdir/$subdir/*.d]] +} diff --git a/gas/testsuite/gas/aarch64/build-attributes/ba-1.d b/gas/testsuite/gas/aarch64/build-attributes/ba-1.d new file mode 100644 index 00000000000..3c1d43096e4 --- /dev/null +++ b/gas/testsuite/gas/aarch64/build-attributes/ba-1.d @@ -0,0 +1,51 @@ +# name: EABI build attributes: several subsections into .ARM.attributes +# source: ba-1.s +# as: +# readelf: -A + +Subsections: + - Name: aeabi_foo_1 + Scope: public + Length: 20 + Optional: True + Encoding: ULEB128 + Values: + Tag_unknown_3: 1 \(0x1\) + + - Name: aeabi_foo_2 + Scope: public + Length: 31 + Optional: False + Encoding: asciz + Values: + Tag_unknown_2: "TEST2" + Tag_unknown_4: "TEST" + + - Name: aeabi_foo_3 + Scope: public + Length: 24 + Optional: False + Encoding: asciz + Values: + Tag_unknown_4: "TEST" + + - Name: aeabi_foo_4 + Scope: public + Length: 24 + Optional: True + Encoding: ULEB128 + Values: + Tag_unknown_0: 1 \(0x1\) + Tag_unknown_1: 1 \(0x1\) + Tag_unknown_2: 1 \(0x1\) + + - Name: foo_1 + Scope: private + Length: 20 + Optional: True + Encoding: ULEB128 + Values: + Tag_unknown_0: 1 \(0x1\) + Tag_unknown_1: 1 \(0x1\) + Tag_unknown_2: 1 \(0x1\) + Tag_unknown_3: 1 \(0x1\) diff --git a/gas/testsuite/gas/aarch64/build-attributes/ba-1.s b/gas/testsuite/gas/aarch64/build-attributes/ba-1.s new file mode 100644 index 00000000000..4bc27c008f3 --- /dev/null +++ b/gas/testsuite/gas/aarch64/build-attributes/ba-1.s @@ -0,0 +1,30 @@ +.set ATTR_TYPE_uleb128, 0 +.set ATTR_TYPE_asciz, 1 + +.set SUBSEC_required, 0 +.set SUBSEC_optional, 1 + +.aeabi_subsection foo_1, 1, ATTR_TYPE_uleb128 + +.set Tag_Feature_foo, 2 +.set Tag_Feature_bar, 3 + +.aeabi_attribute Tag_Feature_bar, 1 +.aeabi_attribute 0, 1 +.aeabi_attribute 1, 1 +.aeabi_attribute Tag_Feature_foo, 1 + +.aeabi_subsection aeabi_foo_1, 1, ATTR_TYPE_uleb128 +.aeabi_attribute Tag_Feature_bar, 1 + +.aeabi_subsection aeabi_foo_2, 0, ATTR_TYPE_asciz +.aeabi_attribute 4, "TEST" +.aeabi_attribute 2, "TEST2" + +.aeabi_subsection aeabi_foo_3, required, ntbs +.aeabi_attribute 4, "TEST" + +.aeabi_subsection aeabi_foo_4, optional, ULEB128 +.aeabi_attribute Tag_Feature_BTI, 1 +.aeabi_attribute Tag_Feature_GCS, 1 +.aeabi_attribute Tag_Feature_PAC, 1 diff --git a/gas/testsuite/gas/aarch64/build-attributes/ba-failures-1.d b/gas/testsuite/gas/aarch64/build-attributes/ba-failures-1.d new file mode 100644 index 00000000000..f732ad5a560 --- /dev/null +++ b/gas/testsuite/gas/aarch64/build-attributes/ba-failures-1.d @@ -0,0 +1,14 @@ +# name: EABI build attributes: error cases +# source: ba-failures-1.s +# as: +#error: \A[^\n]*\.s: Assembler messages:\n +#error: [^\n]*\.s:[0-9]+: Error: A subsection has to be declared before declaring attributes\n +#error: [^\n]*\.s:[0-9]+: Error: Attribute 1 cannot be redefined\n +#error: [^\n]*\.s:[0-9]+: Error: Attribute 4 cannot be redefined\n +#error: [^\n]*\.s:[0-9]+: Error: Invalid token for section name: \.\n +#error: [^\n]*\.s:[0-9]+: Error: Expected , , \n +#error: [^\n]*\.s:[0-9]+: Error: Recalled subsections must have the same parameters\n +#error: [^\n]*\.s:[0-9]+: Error: Recalled subsections must have the same parameters\n +#error: [^\n]*\.s:[0-9]+: Error: Recalled subsections must have the same parameters\n +#error: [^\n]*\.s:[0-9]+: Error: Expected subsection values for are 0 or 1\n +#error: [^\n]*\.s:[0-9]+: Error: Expected subsection values for are 0 or 1 \ No newline at end of file diff --git a/gas/testsuite/gas/aarch64/build-attributes/ba-failures-1.s b/gas/testsuite/gas/aarch64/build-attributes/ba-failures-1.s new file mode 100644 index 00000000000..9b86d25cb74 --- /dev/null +++ b/gas/testsuite/gas/aarch64/build-attributes/ba-failures-1.s @@ -0,0 +1,28 @@ +.set ATTR_TYPE_uleb128, 0 +.set ATTR_TYPE_asciz, 1 + +/* The definition of an attribute cannot appear before a subsection was + declared. */ +.aeabi_attribute 1, 0 + +/* aeabi_attribute with the same key should have the same value in the same + compilation unit. */ +.aeabi_subsection vendor_1_subsection_1, optional, uleb128 +.aeabi_attribute 1, 0 +.aeabi_attribute 1, 1 + +.aeabi_subsection vendor_1_subsection_2, optional, ntbs +.aeabi_attribute 4, "ABC" +.aeabi_attribute 4, "DEF" + +/* Invalid subsection name should raise an error. */ +.aeabi_subsection .vendor, optional, uleb128 + +/* Subsections with the same name should have the same parameters. */ +.aeabi_subsection vendor_1_subsection_3, required, ntbs +.aeabi_subsection vendor_1_subsection_3, optional, ntbs +.aeabi_subsection vendor_1_subsection_3, required, uleb128 +.aeabi_subsection vendor_1_subsection_3, optional, uleb128 + +/* Wrong values for optional and format. */ +.aeabi_subsection vendor_1_subsection_4, 2, 2 diff --git a/gas/testsuite/gas/aarch64/build-attributes/ba-interleaved-subsections.d b/gas/testsuite/gas/aarch64/build-attributes/ba-interleaved-subsections.d new file mode 100644 index 00000000000..32bc8f06c5c --- /dev/null +++ b/gas/testsuite/gas/aarch64/build-attributes/ba-interleaved-subsections.d @@ -0,0 +1,35 @@ +# name: EABI build attributes: correct context switching between interleaved subsections +# source: ba-interleaved-subsections.s +# as: +# readelf: -A + +Subsections: + - Name: aeabi_feature_and_bits + Scope: public + Length: 35 + Optional: True + Encoding: ULEB128 + Values: + Tag_Feature_BTI: 1 \(0x1\) + Tag_Feature_PAC: 0 \(0x0\) + Tag_Feature_GCS: 1 \(0x1\) + + - Name: aeabi_pauthabi + Scope: public + Length: 25 + Optional: False + Encoding: ULEB128 + Values: + Tag_PAuth_Platform: 1 \(0x1\) + Tag_PAuth_Schema: 1 \(0x1\) + + - Name: foo_1 + Scope: private + Length: 20 + Optional: True + Encoding: ULEB128 + Values: + Tag_unknown_1: 1 \(0x1\) + Tag_unknown_2: 0 \(0x0\) + Tag_unknown_3: 0 \(0x0\) + Tag_unknown_4: 0 \(0x0\) diff --git a/gas/testsuite/gas/aarch64/build-attributes/ba-interleaved-subsections.s b/gas/testsuite/gas/aarch64/build-attributes/ba-interleaved-subsections.s new file mode 100644 index 00000000000..bb884bb1368 --- /dev/null +++ b/gas/testsuite/gas/aarch64/build-attributes/ba-interleaved-subsections.s @@ -0,0 +1,32 @@ +.aeabi_subsection aeabi_pauthabi, required, uleb128 + +.aeabi_subsection aeabi_feature_and_bits, optional, uleb128 +.aeabi_attribute Tag_Feature_BTI, 1 + +.aeabi_subsection aeabi_feature_and_bits, optional, uleb128 + +.aeabi_subsection foo_1, optional, uleb128 +.aeabi_attribute 1, 1 + +.aeabi_subsection aeabi_pauthabi, required, uleb128 +.aeabi_attribute Tag_PAuth_Schema, 1 + +.aeabi_subsection aeabi_feature_and_bits, optional, uleb128 +.aeabi_attribute Tag_Feature_GCS, 1 + +.aeabi_subsection foo_1, optional, uleb128 +.aeabi_attribute 2, 0 + +.aeabi_subsection aeabi_pauthabi, required, uleb128 +.aeabi_attribute Tag_PAuth_Platform, 1 + +.aeabi_subsection aeabi_pauthabi, required, uleb128 +.aeabi_subsection aeabi_feature_and_bits, optional, uleb128 +.aeabi_attribute Tag_Feature_PAC, 0 + +.aeabi_subsection foo_1, optional, uleb128 +.aeabi_attribute 3, 0 +.aeabi_attribute 4, 0 + +.aeabi_subsection aeabi_feature_and_bits, optional, uleb128 +.aeabi_attribute Tag_Feature_PAC, 0 diff --git a/gas/testsuite/gas/aarch64/build-attributes/ba-subsection-parsing.d b/gas/testsuite/gas/aarch64/build-attributes/ba-subsection-parsing.d new file mode 100644 index 00000000000..38af4d5fd12 --- /dev/null +++ b/gas/testsuite/gas/aarch64/build-attributes/ba-subsection-parsing.d @@ -0,0 +1,75 @@ +# name: EABI build attributes: parsing of subsections +# source: ba-subsection-parsing.s +# as: +# readelf: -A + +Subsections: + - Name: foo_01 + Scope: private + Length: 13 + Optional: False + Encoding: ULEB128 + Values: + + - Name: foo_02 + Scope: private + Length: 13 + Optional: False + Encoding: asciz + Values: + + - Name: foo_03 + Scope: private + Length: 13 + Optional: True + Encoding: ULEB128 + Values: + + - Name: foo_04 + Scope: private + Length: 13 + Optional: True + Encoding: asciz + Values: + + - Name: foo_05 + Scope: private + Length: 13 + Optional: False + Encoding: ULEB128 + Values: + + - Name: foo_06 + Scope: private + Length: 13 + Optional: True + Encoding: ULEB128 + Values: + + - Name: foo_07 + Scope: private + Length: 13 + Optional: True + Encoding: asciz + Values: + + - Name: foo_08 + Scope: private + Length: 13 + Optional: False + Encoding: asciz + Values: + + - Name: foo_09 + Scope: private + Length: 13 + Optional: False + Encoding: ULEB128 + Values: + + - Name: foo_10 + Scope: private + Length: 13 + Optional: True + Encoding: asciz + Values: diff --git a/gas/testsuite/gas/aarch64/build-attributes/ba-subsection-parsing.s b/gas/testsuite/gas/aarch64/build-attributes/ba-subsection-parsing.s new file mode 100644 index 00000000000..5b6ed4eb1b2 --- /dev/null +++ b/gas/testsuite/gas/aarch64/build-attributes/ba-subsection-parsing.s @@ -0,0 +1,21 @@ +.set ATTR_TYPE_uleb128, 0 +.set ATTR_TYPE_asciz, 1 + +.set SUBSEC_required, 0 +.set SUBSEC_optional, 1 + +/* Integer literals. */ +.aeabi_subsection foo_01, 0, 0 +.aeabi_subsection foo_02, 0, 1 +.aeabi_subsection foo_03, 1, 0 +.aeabi_subsection foo_04, 1, 1 + +/* Known identifiers. */ +.aeabi_subsection foo_05, required, uleb128 +.aeabi_subsection foo_06, optional, ULEB128 +.aeabi_subsection foo_07, optional, ntbs +.aeabi_subsection foo_08, required, NTBS + +/* Symbol look-up. */ +.aeabi_subsection foo_09, SUBSEC_required, ATTR_TYPE_uleb128 +.aeabi_subsection foo_10, SUBSEC_optional, ATTR_TYPE_asciz