From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx08-00376f01.pphosted.com (mx08-00376f01.pphosted.com [91.207.212.86]) by sourceware.org (Postfix) with ESMTPS id 312003858D3C for ; Mon, 17 Jan 2022 17:24:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 312003858D3C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=imgtec.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=imgtec.com Received: from pps.filterd (m0168888.ppops.net [127.0.0.1]) by mx08-00376f01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 20HDBkr9005468 for ; Mon, 17 Jan 2022 17:24:07 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=imgtec.com; h=from : to : subject : date : message-id : content-type : mime-version; s=dk201812; bh=EMWGfZe8io4panDTqKyvCBf/1zDKZWE7/xsQOrJckTM=; b=nIZQErZwkEn2RMpejOA/ZuMaDiPQ0FIfnRXBHx0W8JedYDXyaPKciDqs31ucAFq9Tj37 BWV7tFhuT/Fhcwz8Bfx+fItfC81iihvXQvY2OjVn0tU0BuEbfAqHF+hfpFEGKXctZA9E 8KxVLyngDmCKmtDt1NZ5OFB0/2S7lX2i8kbD1jBZGOxASNuxSxad1h62DiF1h0k3C6yJ HNOXc3QU1wyT5pYfTFma7eeyXXqp/6zlTvi/cL9J2bgZhU6K4h49chokq46i9RwP93Gp MtroIfceEgZZASKLSTIXXAvvNaIyTekI+6iot5IEIGpXxT3y/+XAUvIJXzdhjH8R5O7w 8g== Received: from hhmail04.hh.imgtec.org ([217.156.249.195]) by mx08-00376f01.pphosted.com (PPS) with ESMTPS id 3dn5jeg8s0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 17 Jan 2022 17:24:07 +0000 Received: from HHMAIL05.hh.imgtec.org (10.100.10.120) by HHMAIL04.hh.imgtec.org (10.100.10.119) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21; Mon, 17 Jan 2022 17:24:06 +0000 Received: from GBR01-CWL-obe.outbound.protection.outlook.com (104.47.20.53) by email.imgtec.com (10.100.10.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21 via Frontend Transport; Mon, 17 Jan 2022 17:24:06 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ByPJoWQ4kTYDkCIlmDLvnFy/OxPP5kCmUQKu2H1sCZsudKguH2WvoipwESvg7jqy44FSL8TeeibH5WizNllowwQ1DP+f37cBXXwi6J/BoOk3sEwjGKAvBZyaCnYkFficJANpwAJle4ySiEhMPMmq1foatJRyCGi7aq8xOIOv2IUHvG2uE2FdZk4GzgYa+Kay67IrvKMaUGSvK5RAcUAbaxna53oc9gNz2wHc171dMedQIeX4bd42XzHo9aor41fIEo+8ujGpgovvXvkEvbIxT4qs+WFBoGkOBAQbQz5gy2QPyGQFz+zDP3JerLgGtm9s/SBwM7bfnxKhW2Q2zVwQoQ== 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=EMWGfZe8io4panDTqKyvCBf/1zDKZWE7/xsQOrJckTM=; b=c9odM7paFaB7r5rrJfqty2XHSMkMsTUVRNZn54Vfa3j6DY7dAjgz3AGXSojw7U7tMdo1VOnalb9BI+aaOxYIRjU9N76ZFkDmxq47fFz9U94qVMEAiJRJ2ASUEokY7qCMay8hE+DyHdnl+RmwEnBw0lk+ipvNBTZDUX2XK0EcDFhiVaOFOohuvZHiRxQqTOwh2eGN6jVMzbYWK7sI1JCkQBH/WBBhDEqHbEs45MV14QZBQCMwboLQJcDkax53wscu9POWfFcvEV8A96G9atugqI+LxqtQWHfJKbG6a21XAzIZWugW2H7JYA/gFh0lHMbcImM8ZALM9ramrGQT6iaA9g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=imgtec.com; dmarc=pass action=none header.from=imgtec.com; dkim=pass header.d=imgtec.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=IMGTecCRM.onmicrosoft.com; s=selector2-IMGTecCRM-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EMWGfZe8io4panDTqKyvCBf/1zDKZWE7/xsQOrJckTM=; b=U1Z/kMVoLva7KYkVGgJv3zA9uxP5ukoi3aGuT55YnzQiy1H5ECyUjS9tH316u98J/394PR5wDql6RnTxaPCJWik2h7sc6N9IuuiYURJfD37HLEPUYljSZfvXj/84mJm0IDyS1SDxyqkkKdltpFZt8UOfQWWz3BAFjYln0VQucnU= Received: from LO4P265MB5914.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:298::7) by CWLP265MB4451.GBRP265.PROD.OUTLOOK.COM (2603:10a6:400:162::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.11; Mon, 17 Jan 2022 17:24:06 +0000 Received: from LO4P265MB5914.GBRP265.PROD.OUTLOOK.COM ([fe80::9e6:d7bc:73bc:afc2]) by LO4P265MB5914.GBRP265.PROD.OUTLOOK.COM ([fe80::9e6:d7bc:73bc:afc2%4]) with mapi id 15.20.4888.013; Mon, 17 Jan 2022 17:24:06 +0000 From: Joseph Faulls To: "gcc@gcc.gnu.org" Subject: [Exception Handling] Why does frame unwind label have static alignment 4? Thread-Topic: [Exception Handling] Why does frame unwind label have static alignment 4? Thread-Index: AdgLxFw9xKaR4XrXTbGiQ8b/+1/ELA== Date: Mon, 17 Jan 2022 17:24:06 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 398dcda5-d7f7-4f70-81b3-08d9d9de2a21 x-ms-traffictypediagnostic: CWLP265MB4451:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OwJ9686AG9EzrJH1RIBRSvSJOxTI4fh821XOfsd9TNA5HUkjcOE5xqEGlHlNP/DrB9SVyAdtgNxxNifWFXnCXbyRbr/qwB1xKNCTGioubOjqrJi3L6aRIJWAGcq8UBCfyUcCq7XjrV64BtiCo6lpryFYKSBC3huSndKeQA4EsFj0SBSMIMmIIHlwzRY27D7ou3LSqhkZSESIRi9f3jXuoCWZtKKnxXpRVIeXtY0hIKevCrYaDXYgpnMvP9Ka79rOuP2WHhmca4yiNBhHlur/r4O+Y2tcLHOcMXoU0Z6iEoCDmbLC/wcg/Tk1rg7M9Jujta69kt+UI93bKfu5SGF8wx6p/FUlBEYJcqssdEDlCDFOHV3Vh2cXKKV25X4ufHMDG6q9T3cEwSsPjMlBgHMbh9GHxF9YK/VB3fo29d8z7dtRgaCbtyJ+6YzsemyJTPj25oHkea+d13jrBbg1iQXVUUGOgw1b4jOG8yrv2X+JXN9Y9dPDTeK0yd7V+R9gCX9PqJ9vDsk0JsXbgHPxVjBIU8O2b0g/Cgu5oc4fsVCsiI+8iFQZWyh4xdjw2YKX+rBMRyJ1xRxXhjWfCK/j+PlDBy+WrNhGD4UofAVZnvGWJjXNxP87+MesuzdORfWssuk3L7FKt212gPfWizoO3KkxfYzWKepoASjTJBU9Qy1pBNehT4K/ckfTJ/MhFs67dX+q0D2cWioEdagEbzHMy4QHBg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:LO4P265MB5914.GBRP265.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(366004)(38070700005)(6506007)(52536014)(2906002)(6916009)(5660300002)(186003)(7696005)(55016003)(71200400001)(9686003)(38100700002)(122000001)(508600001)(8936002)(33656002)(8676002)(316002)(26005)(86362001)(66556008)(66476007)(66946007)(64756008)(66446008)(76116006); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?iEY9uhFVMWHOll5nS9Ti2aMpX/F3A+SQk+kW/mbNvZ+YK20mRpF0e6QlIwvD?= =?us-ascii?Q?tZN3MUgIofQPChMrdmqlkYH6Gw8ji5rSF4UYuj+TIkuc7zODF5evTHTd4Ddl?= =?us-ascii?Q?vdEaDwWN1dmmoPPDEs8HX1lHjSb8smbKgVcA0LepYneqt/AThOOmSUzdMGl6?= =?us-ascii?Q?rVyx1I+w6eBb18IwqB/2yyEuYjCWNFI1SdJql/XO2VBBJBCPD/gQi4t90qul?= =?us-ascii?Q?qeRJCUE10pNR3acfZq6bHdxSM7ELUA8xzRhEMDK1bPgEAqsz0505+91sMMoh?= =?us-ascii?Q?DH8redlfWdLahc9IlBFBpLy9LI3XoaSLKr07vHky/LBITviCuc2Vh6yn1OZD?= =?us-ascii?Q?E/7XxwbgvU0/KQYq7Ujf1zwXX7XMgB3VtppIs6mwqHIMp/eyFVvDQlie7TYE?= =?us-ascii?Q?vdpk2N8qM29g71JZNgo/2BMdt/Y1zo3pz3uN6MMe2y6Qa4fYRaR7s+xEYaYz?= =?us-ascii?Q?eGOD2WC2yKkq+WpN2xKWH0yt7hcmycTliy+Lz1cHaAbrvB93O3Jz72beGrA0?= =?us-ascii?Q?Y4UA55Mfyao5xdhM0rjqYrLoQDhDdxaE/6D/hgz1IJb+YGbnrXJsdFPXqxMY?= =?us-ascii?Q?Kb1FEIIkixO7AlKnoJqpaUYn1/yArcGiaN31OBWwWfGN27BpND7O9/d5pnTL?= =?us-ascii?Q?GQ5s/3KATL1+m791j9T45VYSkc+ere0Y8Mkn/m2BqCiUFwKfRgoQbv9C70/e?= =?us-ascii?Q?Zkw4AN0KjFwqFhJVh7/1TmCfOXvrMlodjIvWzm67WosZE8vAgDdc2wxMlOln?= =?us-ascii?Q?OvajuHfdEBfcBSy6FpP7z5gitZTuHwpCieXrrI3KurAWx1PttztCbyjRjql7?= =?us-ascii?Q?uixCgHaslwrl9bSN9xU2JotnQH9AZ5C94H/ldB5gQM4Awoq123E5OCf+Adk6?= =?us-ascii?Q?40k74DLoc2lST4rcLb1T31HFhEYDQIbArP5U/0/rE2IellDnacVtEoaKWxYY?= =?us-ascii?Q?YEbVuGcwnJpbTNz5QMOLpDdrR02iCrrISvCWnkgExxkEM4DwiieAxz4N6I7V?= =?us-ascii?Q?YUtnTJhteKBosmCJMMMoCjN8xmscOKhRK+5GNa2geBMsY6JPhTIOvwUeqxAd?= =?us-ascii?Q?f3VyRUAU5H96z9+MXW7x6GwZv2lFDvoXOY9XpHXohn6MWbG8OQwZ5PcDj+4/?= =?us-ascii?Q?jLSDiaB5HUt0hcJZvKvl6GKA81CTL6mG7phDzdFXFJLCem2p9flrft3RdrLW?= =?us-ascii?Q?S2dFPLNXWHahaZKlqqrKYw/lDvsvEqRolhoPypAnxbZ97i4krh9fvTS/baua?= =?us-ascii?Q?zLnT/FQqogkIqE/8+HS7BRAC6z4HD3MYPvcYx0Os32al4AhI8Apt/EzfvZdT?= =?us-ascii?Q?Eg/GG6mtgykYwOUU9Y7EpMq4IzYtTJ+8l5O9GaVaCZcNUOodkjTx8RlCLhF2?= =?us-ascii?Q?iqbQ1LgAtHU0UZa2OG+x+uoVLhUCBZMlvIIEbLBVPY4Y/Wcnlcym4l3ZKcW7?= =?us-ascii?Q?zJsnirxPs2PYcLcj3wiVbvu0hDOuUMwcAY0hGnfEOlXCfNj7PraN14zEAxlk?= =?us-ascii?Q?2QULW01/FGnnP6v7nJj39hS3wKZr/tcSnss9244+n18bsQRnbJP2+CKbViRr?= =?us-ascii?Q?UJKxec876T+hdSRjngaHNt2z1QjX8uHQQ0aBlIOpIhpYNsobyCon1uPOUwwt?= =?us-ascii?Q?BCSJX9Xcb1CxWkcGZ5sDAmSTIB8goEflcnmBmFtxVsTNGCxX0RWHenzLbPGl?= =?us-ascii?Q?6svssg=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: LO4P265MB5914.GBRP265.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 398dcda5-d7f7-4f70-81b3-08d9d9de2a21 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jan 2022 17:24:06.1648 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0d5fd8bb-e8c2-4e0a-8dd5-2c264f7140fe X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: wIPjkWIZjsRvQAKVUMRk1qcWe+2nCf96Wr7Of7IiwcR6VnFLWK67zeZ76OM0GQ4pFdbiSpwZd7RWSRaLKMMel1AmVhZMCINAwpRcd0oUAKM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CWLP265MB4451 X-OriginatorOrg: imgtec.com X-EXCLAIMER-MD-CONFIG: 15a78312-3e47-46eb-9010-2e54d84a9631 X-Proofpoint-GUID: JBMB8QS5MIzAu80-Klx7YQ3OHwmSSYSo X-Proofpoint-ORIG-GUID: JBMB8QS5MIzAu80-Klx7YQ3OHwmSSYSo X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, HTML_MESSAGE, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gcc@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Jan 2022 17:24:12 -0000 Hello all, Small disclaimer of being new to EH, but I have come across a problem that = seems quite fundamental to EH frame registry. I am targeting riscv64, but I= believe the problem to be entirely platform agnostic. When using EH frame registry, a label is put at the beginning of the frame = unwind info to register and deregister frames: libgcc/crtstuff.c: > STATIC EH_FRAME_SECTION_CONST char __EH_FRAME_BEGIN__[] > __attribute__((section(__LIBGCC_EH_FRAME_SECTION_NAME__), aligned(4)= )) This is then populated with struct dwarf_fde: libgcc/unwind-dw2-fde.h: > struct dwarf_fde > { > uword length; > sword CIE_delta; > unsigned char pc_begin[]; > } __attribute__ ((packed, aligned (__alignof__ (void *)))); The trouble is that the __EH_FRAME_BEGIN__ has alignment 4, whereas the str= uct dwarf_fde has alignment of void*. When targeting 64-bit, these values a= re not the same. It is this that is causing 4 bytes of padding. This is the disassembly of a= simple program targeting riscv64 that throws an exception: > 22954 000000000000e324 <__EH_FRAME_BEGIN__>: > e324: 0000 unimp > e326: 0000 unimp > e328: 0010 0x10 > e32a: 0000 unimp > e32c: 0000 unimp > e32e: 0000 unimp > e330: 00527a03 0x527a03 It is this that causes __register_frame_info_bases to fall flat on its face= : Libgcc/crtstuff.c in function frame_dummy: > __register_frame_info (__EH_FRAME_BEGIN__, &object); libgcc/unwind-dw2-fde.c > void > __register_frame_info_bases (const void *begin, struct object *ob, > void *tbase, void *dbase) > { > /* If .eh_frame is empty, don't register at all. */ > if ((const uword *) begin =3D=3D 0 || *(const uword *) begin =3D=3D 0= ) > return; > ... > void > __register_frame_info (const void *begin, struct object *ob) > { > __register_frame_info_bases (begin, ob, 0, 0); > } This means no EH frames are ever registered, and so exceptions cannot be ha= ndled! So, why does __EH_FRAME_BEGIN__ have alignment 4 and not of __alignof__ (vo= id *) ? Is this a bug? Thanks, Joe