From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-eopbgr130044.outbound.protection.outlook.com [40.107.13.44]) by sourceware.org (Postfix) with ESMTPS id 9552D3938C01 for ; Fri, 1 May 2020 09:24:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 9552D3938C01 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=Szabolcs.Nagy@arm.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZML/2uM1GGuiu4olctPiV5bSZFaNtl/9kt5imeJTrog=; b=qCJUZHWSFbiIWhCqZ3mokNxG+Z+OUiFpcBkEWomS6p+11DGupvImTm/bcuG8gpFDxvNQpwtnsGD3s6HBSZDrOIzjdFrrDBj6b2M8/sLHqDOL6iZdq67vNASMNQsWzZNpIkbYCivDQSU5bQwxppVoGy2lNdl3hKMRW0IpvxZrMBs= Received: from AM3PR05CA0142.eurprd05.prod.outlook.com (2603:10a6:207:3::20) by AM0PR08MB3938.eurprd08.prod.outlook.com (2603:10a6:208:123::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2937.22; Fri, 1 May 2020 09:24:07 +0000 Received: from AM5EUR03FT063.eop-EUR03.prod.protection.outlook.com (2603:10a6:207:3:cafe::56) by AM3PR05CA0142.outlook.office365.com (2603:10a6:207:3::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Fri, 1 May 2020 09:24:07 +0000 Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; sourceware.org; dmarc=bestguesspass 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; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT063.mail.protection.outlook.com (10.152.16.226) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Fri, 1 May 2020 09:24:07 +0000 Received: ("Tessian outbound 5abcb386707e:v54"); Fri, 01 May 2020 09:24:06 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 040ceff6538c1069 X-CR-MTA-TID: 64aa7808 Received: from e29b8862ab35.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id CF062150-7DFD-4353-B2A2-1696F4FD6743.1; Fri, 01 May 2020 09:24:01 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e29b8862ab35.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 01 May 2020 09:24:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QA0cxlLRKo8W9BY+iJLLRvVznkZugNsz/Z/S0eALIVTVOKGZuqMEkasgSTIw6y6do7LhERdO7nokC+OvERYhXPV2K0VsWXV97oINleiMuBVO2sfIzDGjlQRu4xfXiW1sOzTorkjM4QbJHbVvj3GPxktgNh8N16CraiH9seGj4qp/zoA39pZ41OuY1BptQHPeDDDQXhM/sSKXosAR8SN7RaQQ0lqIUxRtHtS58GVqf9jPpDBUNTQwEhcVAz8o1IEA12U7zNPCakOk7VGHJzu1HMxjnbKQwSaW3AAILNznVksUJz4riHhTnkUiCO6FFD4Y+D2Ow7OsOXjw5K50rAPgyg== 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=ZML/2uM1GGuiu4olctPiV5bSZFaNtl/9kt5imeJTrog=; b=PReTZbkQqnFEmmtrf8RYSDFDgIlZDDCAx0fvw6w53zZNYjLb+u3OPhkqIWAQeTlEGrwiRkUVfRIVq7hKrcXvbFOnD5nlAHaGGjugauCOP4MiATdO9nEe6aNqgvj/wNZL7vYpfcmZUG982HJ/+lbEDpDB239fLyqOS9nDcJ2grczyv3T7+lk9QoYHli0mnHwnAxGIT7vG+pHUlIgakseOTUI1wcOyqrkUGSLH9nF4y9rvPGsf/aK8X20td3D7E9o9L8KSS44EjiYZgllm4VMSDD672M9Y8ef+N+uCBAdCH41d56zFguE/QxakUGyMGVZoLvIbBYkw2RPx4Tn1I7dHkA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ZML/2uM1GGuiu4olctPiV5bSZFaNtl/9kt5imeJTrog=; b=qCJUZHWSFbiIWhCqZ3mokNxG+Z+OUiFpcBkEWomS6p+11DGupvImTm/bcuG8gpFDxvNQpwtnsGD3s6HBSZDrOIzjdFrrDBj6b2M8/sLHqDOL6iZdq67vNASMNQsWzZNpIkbYCivDQSU5bQwxppVoGy2lNdl3hKMRW0IpvxZrMBs= Authentication-Results-Original: panix.com; dkim=none (message not signed) header.d=none;panix.com; dmarc=none action=none header.from=arm.com; Received: from AM6PR08MB3047.eurprd08.prod.outlook.com (2603:10a6:209:4c::23) by AM6PR08MB4676.eurprd08.prod.outlook.com (2603:10a6:20b:d0::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20; Fri, 1 May 2020 09:24:00 +0000 Received: from AM6PR08MB3047.eurprd08.prod.outlook.com ([fe80::49fd:6ded:4da7:8862]) by AM6PR08MB3047.eurprd08.prod.outlook.com ([fe80::49fd:6ded:4da7:8862%7]) with mapi id 15.20.2958.025; Fri, 1 May 2020 09:24:00 +0000 Date: Fri, 1 May 2020 10:23:53 +0100 From: Szabolcs Nagy To: Zack Weinberg Cc: GNU C Library , Sudakshina Das Subject: Re: [PATCH 08/12] Rewrite abi-note.S in C. Message-ID: <20200501092351.GI29015@arm.com> References: <20200430173458.GV29015@arm.com> <20200430174329.GD29015@arm.com> Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) X-ClientProxiedBy: DM6PR02CA0049.namprd02.prod.outlook.com (2603:10b6:5:177::26) To AM6PR08MB3047.eurprd08.prod.outlook.com (2603:10a6:209:4c::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from arm.com (217.140.106.55) by DM6PR02CA0049.namprd02.prod.outlook.com (2603:10b6:5:177::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.20 via Frontend Transport; Fri, 1 May 2020 09:23:58 +0000 X-Originating-IP: [217.140.106.55] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 1cc907fe-71f5-4ab1-7369-08d7edb165f8 X-MS-TrafficTypeDiagnostic: AM6PR08MB4676:|AM6PR08MB4676:|AM0PR08MB3938: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:6108;OLM:6108; X-Forefront-PRVS: 0390DB4BDA X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: dB0Z05/1IQg0Od1wAQ957K+yyWo8IVw2AXDNhpUh7kLwXzNkpo4V/NynN/sVxrwj5NXygb0LaXbuZHHQznjE2HyoKwxFeE2lnfgmJuD30hppm3kv+1ETKaLXA4rlIXCccx6q8kfjHoI/ftseG3uB26FCo7J9FqDUEPu6kjLyq9MtDE1yTS7AcYkwbpX7xbsDM3UXR1+37AnKrCr8mWWG0yBNv3KLPdAy6aKJYYVl4zXQ9LcTkOdrjCiEP1s8OrKn+H1tO0fhHV1BkcejZepuaUlHhqcqdnD2JlzrJs1luuUm/yRreik7mCTipGsAIAJFCul/dadFPfSJHhzJNtgGGmcsrJaHq4KjHosUlodWl9+OdB+Al2pntYhNmPN94MBwuUEf3LMD3WY1Gd+4NoU/5IwQiF3SrUCtbT/aXMVl37ii+F38VIO4MQiRX2s5PCLv X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR08MB3047.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(366004)(396003)(136003)(346002)(376002)(39860400002)(33656002)(66556008)(54906003)(55016002)(1076003)(8676002)(6916009)(8936002)(66946007)(66476007)(316002)(16526019)(5660300002)(478600001)(53546011)(186003)(4326008)(26005)(2906002)(36756003)(86362001)(2616005)(956004)(44832011)(7696005)(8886007)(52116002)(6666004); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: S366+YkJbzGbS355oO4v31S60VXz7V/zIwnEH7Fi/m76dmkHGljNQggMxl4EddspmdDiJNBx5GhMtd8GcFWyrh9shl2o8ukjJFW5Y93czAQAPMM16IAIm8mJgyWXk4sINyvvFsSL7gB1UPklSOPBRheZWVUkbQ5/TA0WQdBJi+xhW8dYPMQGl8rD/Ondsh0b9SFzmuP1QCcpTcz1kdyZabwu7JOyqt0LBcEuHcptAbKZGlCXopBLn9L/a5oSG1rZ6FTQBUXl9W+5qg7kgRG/x+MO1i0H5yEZ3hMqOyXrI5dmUv5cTV3yfv1xtDFitEi26oRx+9JI1NAQzHFrbow/tdOG3sPOd1vQHN9IDVA82yMOozdyNnU5GtyODtdxE/gspru57mIktgbVsJWvXdCarKmM3b/9aA7NkXL9PJEv96hot2H1czkGKdWTmouWriwasPYw9qKhB6E032txtF4elDQgrP/gTat4H0HlO3dYPa/eYV563lenoh//fkt2fneOuRBUqnmSUuGw4PY/Dz+7A54EtZ+oOi5NtLpIj4mebHnoONEKXrNIdEg1McSUYDZ7T9VGZ5uhR4jaYWKEfc4rIDmcJBEMg+9GJMVshrnIxKXW/1Fw9dPIhGo1hOGdpAP467NsNYdEDYjAGj4qxbZuzVFNXLjkmLdUkWMZSu8jCEywDp/eyAdKyWSnBErORrz88i/sUw0Bhf9sMm3dDqGFlqynCWs2/hi5Po8NAGr2oNSQxLacFZeab1iXYjWvjH9PggSl3Oa1j0v0vRsqi9t7YwhKMa6pQYPHEQ1u2bZphu8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4676 Original-Authentication-Results: panix.com; dkim=none (message not signed) header.d=none;panix.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT063.eop-EUR03.prod.protection.outlook.com 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:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFTY:; SFS:(4636009)(136003)(346002)(376002)(396003)(39860400002)(46966005)(70586007)(186003)(336012)(316002)(82740400003)(956004)(47076004)(36756003)(81166007)(44832011)(8886007)(36906005)(53546011)(6666004)(26005)(16526019)(2616005)(33656002)(54906003)(356005)(8676002)(8936002)(6862004)(86362001)(55016002)(5660300002)(2906002)(70206006)(82310400002)(478600001)(1076003)(4326008)(7696005); DIR:OUT; SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: 11bf5b5d-4129-474e-0ddd-08d7edb1617a X-Forefront-PRVS: 0390DB4BDA X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: f275v5Oxp3wsHHX6JWy2s5FL2IicKQzzJYTmzw5VdeBs4/cr1Ykq9WXdiqIlkzKVRmdv8K+Sdf3Msut5dLAcbpDe0s4oNspQh4zZ2XGIPjRa5x/QvCODu5++HyfX+OXOnvLe3e8o7FRjcJEkhA8rTkRY4aA0fnr5+ml0z+tK8BECGyeqzagHzX7UoX2+c5mvvvnDNRX/PY9qTMTj0GluiLTm+Njn2pj61q+sQRCawUfuuZouhJU72YUIiz2McuwW2vv7xQ8lCwp5Bk1Aku6m3qtRlNqmc3HHWiUZ1l/m9bLpYHXMUa3AF3d17qQlp/AUfZ8Gj4ipocqwizOEm/xeJoGGdYgB2Ldu+4ethcT5QL7UYeKNOgliI/YkvwaZ8qrLiITw+RgdA/Cb2s1lhUS3pOCIUnsVjSnTdMYsVFrLGyAcgQVXpBPgdRmgiv9InTxYHG4y/wcCRztIH41uEidC06mrfxP1BU/5ZVUTcMJa0CtuHa8O2zZrYEhaCm5p1FU4q6WL7KWgSIOhmeenekqwKg== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 May 2020 09:24:07.1350 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1cc907fe-71f5-4ab1-7369-08d7edb165f8 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-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3938 X-Spam-Status: No, score=-16.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY 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: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 May 2020 09:24:12 -0000 The 04/30/2020 16:07, Zack Weinberg wrote: > On Thu, Apr 30, 2020 at 1:43 PM Szabolcs Nagy wrote: > > > > Using C code with __asm() allows the compiler to add target > > specific object file markings based on CFLAGS. > > This is e.g. needed for building glibc with branch-protection > > on AArch64. > > Hmm. If we're going to do this, should we maybe go further and use > actual C? This snippet produces a matching .note.ABI-tag section for > me: yes this makes sense. > #include > #include > #include > #include > const int32_t > __attribute__((section(".note.ABI-tag"))) > __abi_tag[] = { > 4, /* name length: 4 */ > 16, /* data length: 4 32-bit numbers */ > 1, > #if BYTE_ORDER == BIG_ENDIAN > 0x474E5500, /* "GNU\0" */ > #else > 0x00554E47, /* same, little-endian */ > #endif > __ABI_TAG_OS, > __ABI_TAG_VERSION > }; > > I don't see a problem with hardwiring a name length of 4, and code > elsewhere appears to assume that the payload will always be 4 32-bit > integers, so maybe it's OK to hardwire the 16 too. If it's not OK, > perhaps we could figure out a way to count the commas in > __ABI_TAG_VERSION in the preprocessor and do a little math. > > The other potential problem I can think of is that there's a symbol > pointing into the .note.ABI-tag section now; I don't know if that > might break anything. what about /* Note: Custom type is used as ElfW(Nhdr) is wrong on 64 bit targets. */ __attribute__((used, aligned(4), section(".note.ABI-tag"))) static const struct { int32_t namesz; int32_t descsz; int32_t type; char name[4]; int32_t desc[4]; } __abi_tag = { 4, /* name length: 4 */ 16, /* data length: 4 32-bit numbers */ 1, "GNU", { __ABI_TAG_OS, __ABI_TAG_VERSION } }; this fixes the alignment, makes the symbol local, does not need endian.h and uses identifiers according to the gabi specification.